*{box-sizing:border-box;margin:0;padding:0}:root{--bg-gradient:#f0f2f5;--text-primary:#1a1a2e;--text-secondary:#557;--text-muted:#88a;--card-bg:#fff;--card-border:#e0e0ee;--card-shadow:#1f268726;--input-bg:#fff;--input-border:#d0d0dd;--input-focus:#667eea;--btn-secondary-bg:#e8e8f4;--btn-secondary-hover:#ddddef;--btn-secondary-text:#1a1a2e;--footer-bg:#eeeef6;--footer-border:#d8d8e8;--tag-low-bg:#fff3e0;--tag-low-text:#ff9800;--tag-high-bg:#ffebee;--tag-high-text:#ff5252;--tag-normal-bg:#e8f5e9;--tag-normal-text:#69f0ae;--empty-color:#88a;--sub-card-bg:#f5f5fa;--sub-card-border:#ddddef;--form-bg:#f5f5fa;--timeline-line:linear-gradient(to bottom, #667eea, #764ba2);--timeline-card-bg:#f5f5fa;--timeline-card-border:#d8d8e8;--dot-default-border:#667eea;--dot-default-bg:#fff;--spirit-tag-good-bg:#c8e6c9;--spirit-tag-good-text:#1b5e20;--spirit-tag-ok-bg:#c8e6c9;--spirit-tag-ok-text:#2e7d32;--spirit-tag-mid-bg:#fff3e0;--spirit-tag-mid-text:#ff9800;--spirit-tag-bad-bg:#ffebee;--spirit-tag-bad-text:#ff5252;--weight-tag-bg:#e3f2fd;--weight-tag-text:#64b5f6;--diagnosis-bg:#fff3e0;--diagnosis-text:#ff9800;--delete-btn-color:#88a;--delete-btn-hover-bg:#ffebee;--delete-btn-hover-color:#ff5252;--modal-overlay-bg:#00000080;--modal-bg:#fff;--modal-text:#1a1a2e;--filter-btn-bg:#e8e8f4;--filter-btn-border:#d0d0dd;--filter-btn-hover-border:#b0b0cc;--filter-btn-active-border:#667eea;--filter-btn-active-bg:#e8eaf6;--filter-btn-active-text:#667eea;--calendar-bg:#fff;--calendar-shadow:#1f26871a;--calendar-day-hover:#f0f0ff;--calendar-day-text:#1a1a2e;--calendar-day-other:#ccc;--calendar-header-text:#1a1a2e;--calendar-nav-color:#667eea;--calendar-nav-hover:#e0e0ee;--date-display-bg:#f0f0f8;--date-display-border:#d0d0dd;--date-display-text:#1a1a2e;--spirit-btn-bg:#e8e8f4;--spirit-btn-border:#d0d0dd;--spirit-btn-hover-border:#b0b0cc;--spirit-btn-active-border:#667eea;--spirit-btn-active-bg:#e8eaf6;--spirit-btn-active-text:#667eea;--cat-card-hover-bg:#eeeef6;--cat-card-hover-border:#667eea;--cat-card-hover-shadow:#667eea26;--chat-msg-bg:#f5f5fa;--chat-msg-border:#d8d8e8;--chat-input-bg:#fff;--chat-input-border:#d0d0dd;--upload-zone-bg:#f5f5fa;--upload-zone-border:#c5cae9;--upload-zone-hover-bg:#e8eaf6;--file-card-bg:#f5f5fa;--file-card-border:#d8d8e8;--file-card-header-bg:#f5f5fa;--preview-modal-bg:#fff;--preview-header-border:#e0e0ee;--preview-close-bg:#e8e8f4;--login-card-bg:#fff;--tab-bar-bg:#eeeef6;--tab-active-bg:#fff;--error-msg-bg:#fff3e0;--error-msg-text:#ff9800;--modal-card-bg:#fff;--modal-header-border:#e0e0ee;--modal-close-bg:#e8e8f4;--modal-close-hover-bg:#ddddef;--modal-label-color:#557;--modal-value-color:#1a1a2e;--modal-warning-bg:#ffebee;--modal-warning-border:#ffcdd2;--modal-warning-text:#ff5252;--modal-notes-bg:#fff8e1;--modal-notes-border:#ffe0b2;--modal-notes-text:#555;--drug-card-bg:#f5f5fa;--drug-card-hover-bg:#eeeef6;--cat-badge-bg:#e8eaf6;--cat-badge-text:#9fa8da;--type-badge-bg:#fff3e0;--type-badge-text:#ff9800;--hospital-card-bg:#f5f5fa;--hospital-card-hover-bg:#eeeef6;--rec-good-bg:#c8e6c9;--rec-good-text:#1b5e20;--rec-bad-bg:#ffebee;--rec-bad-text:#ff5252;--rec-unknown-bg:#eee;--rec-unknown-text:#88a;--indicator-item-bg:#fff;--indicator-item-border:#e0e0e8;--indicator-low-bg:#fff8e1;--indicator-high-bg:#fce4ec;--ref-table-header-bg:#f5f5fa;--ref-table-border:#e0e0e8;--admin-tag-bg:#e8eaf6;--admin-tag-text:#9fa8da;--admin-user-tag-bg:#eee;--admin-user-tag-text:#88a;--admin-danger-bg:#ffebee;--admin-danger-text:#ff5252;--admin-row-border:#e8e8f0;--photo-tips-bg:#fff8e1;--disclaimer-bg:#fff8e1;--tips-card-bg:#fffde7;--tips-border-color:#e0e0e8;--feature-card-bg:#fff;--feature-card-hover-bg:#f8f8ff;--quick-btn-bg:#fff;--quick-btn-border:#667eea4d;--quick-btn-text:#667eea;--section-border:#e0e0e8;--section-title-color:#557;--border-subtle:#0000000f;--border-subtler:#0000000a}html{scrollbar-color:#c0c0cc #e8e8ee;scrollbar-width:thin}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#e8e8ee}::-webkit-scrollbar-thumb{background:#b0b0c0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9090a8}::-webkit-scrollbar-corner{background:#e8e8ee}body{background:var(--bg-gradient);color:var(--text-primary);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;transition:background .3s,color .3s}#app{min-height:100vh;position:relative}.navbar{z-index:100;background:#667eea;border-bottom:1px solid #5a6fd6;justify-content:space-between;align-items:center;height:60px;padding:0 24px;transition:background .3s,border-color .3s,box-shadow .3s;display:flex;position:sticky;top:0;box-shadow:0 4px 30px #0000001a}.nav-brand{cursor:pointer;color:#fff;align-items:center;gap:8px;display:flex}.brand-icon{font-size:28px}.brand-text{font-size:18px;font-weight:600}.nav-links{align-items:center;gap:4px;display:flex}.nav-links a.router-link-active{color:#fff;background:#fff3;font-weight:500}.btn-login{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:8px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .2s}.btn-login:hover{background:#ffffff59;transform:translateY(-1px)}.user-info{border-left:1px solid #ffffff4d;align-items:center;gap:8px;margin-left:8px;padding-left:12px;display:flex}.user-name{color:#ffffffe6;font-size:13px}.btn-logout{color:#ffffffd9;cursor:pointer;background:#ffffff26;border:none;border-radius:6px;padding:4px 12px;font-size:12px;transition:all .2s}.btn-logout:hover{color:#fff;background:#ffffff4d}.main-content{max-width:1200px;min-height:calc(100vh - 108px);margin:0 auto;padding:24px}.page-enter-active,.page-leave-active{transition:opacity .2s,transform .2s}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.no-transition .page-enter-active,.no-transition .page-leave-active{transition:none}.footer{text-align:center;color:var(--text-muted);background:var(--footer-bg);border-top:1px solid var(--footer-border);padding:12px;font-size:13px;transition:background .3s,color .3s}.footer p{margin:4px 0}.footer .icp a{color:var(--text-muted);font-size:12px;text-decoration:none}.footer .icp a:hover{color:var(--input-focus);text-decoration:underline}.card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 8px 32px var(--card-shadow);border-radius:16px;margin-bottom:16px;padding:24px;transition:background .3s,border-color .3s}.card-title{color:var(--text-primary);margin-bottom:16px;font-size:18px;font-weight:600}.btn{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);transition:all .2s}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.btn-secondary:hover{background:var(--btn-secondary-hover)}input,select,textarea{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:10px;padding:10px 14px;font-size:14px;transition:border-color .2s,background .3s,color .3s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--input-focus);outline:none;box-shadow:0 0 0 3px #667eea26}.search-bar{gap:8px;margin-bottom:16px;display:flex}.search-bar input{flex:1}.tag{border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.tag-low{background:var(--tag-low-bg);color:var(--tag-low-text)}.tag-high{background:var(--tag-high-bg);color:var(--tag-high-text)}.tag-normal{background:var(--tag-normal-bg);color:var(--tag-normal-text)}.empty-state{text-align:center;color:var(--empty-color);padding:48px 24px}.empty-state .icon{margin-bottom:12px;font-size:48px}@media (width<=768px){.navbar{flex-direction:column;gap:6px;height:auto;padding:10px 12px}.nav-brand{gap:6px}.brand-icon{font-size:24px}.brand-text{font-size:15px}.nav-links{flex-wrap:wrap;justify-content:center}.nav-links a{padding:5px 8px;font-size:12px}.main-content{padding:12px}.card{padding:16px}.search-bar{flex-direction:column}.user-info{margin-left:4px;padding-left:8px}.btn-login{padding:5px 12px;font-size:12px}}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);transition:all .2s;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 20px #667eea66}.card:hover{border-color:#c0c0dd;box-shadow:0 12px 40px #1f268733}.nav-links a{color:#ffffffe6;border-radius:8px;padding:8px 14px;font-size:14px;text-decoration:none;transition:all .2s}.nav-links a:hover{color:#fff;background:#fff3}.nav-links a.router-link-active{color:#fff;background:#ffffff40;font-weight:500;box-shadow:0 0 10px #ffffff1a}.changelog-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:center;animation:.25s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.changelog-card{background:#fff;border-radius:16px;width:420px;max-width:90vw;animation:.3s slideUp;overflow:hidden;box-shadow:0 20px 60px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.changelog-header{justify-content:space-between;align-items:center;padding:20px 24px 12px;display:flex}.changelog-header h3{color:#1a1a2e;margin:0;font-size:18px}.changelog-version{color:#667eea;background:#e8eaf6;border-radius:12px;padding:2px 10px;font-size:13px;font-weight:600}.changelog-body{max-height:50vh;padding:8px 24px 16px;overflow-y:auto}.changelog-item{border-bottom:1px solid #f0f0f5;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.changelog-item:last-child{border-bottom:none}.changelog-tag{border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.6}.changelog-tag.new{color:#43a047;background:#e8f5e9}.changelog-tag.fix{color:#e53935;background:#ffebee}.changelog-tag.improve{color:#1e88e5;background:#e3f2fd}.changelog-text{color:#333;font-size:14px;line-height:1.6}.changelog-footer{text-align:center;padding:12px 24px 20px}.changelog-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;padding:8px 32px;font-size:14px;font-weight:500;transition:opacity .2s}.changelog-btn:hover{opacity:.9}.changelog-date{color:#999;padding:0 24px 4px;font-size:12px}.changelog-close{color:#999;cursor:pointer;border-radius:8px;padding:4px 8px;font-size:18px;line-height:1;transition:all .2s}.changelog-close:hover{color:#333;background:#f0f0f5}.changelog-history-card{flex-direction:column;max-height:80vh;display:flex}.changelog-history-card .changelog-body{flex:1;max-height:none;overflow-y:auto}.history-version{margin-bottom:16px}.history-version:last-child{margin-bottom:0}.history-version-header{border-top:1px solid #f0f0f5;align-items:center;gap:8px;padding:8px 0 4px;display:flex}.history-version:first-child .history-version-header{border-top:none;padding-top:0}.history-ver-tag{color:#667eea;background:#e8eaf6;border-radius:8px;padding:1px 8px;font-size:13px;font-weight:600}.history-ver-date{color:#999;font-size:12px}.version-fab{z-index:100;cursor:pointer;opacity:.45;transition:opacity .2s;position:fixed;bottom:16px;right:16px}.version-fab:hover{opacity:.8}.version-fab-text{color:#999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffc;border:1px solid #e8e8ee;border-radius:10px;padding:3px 8px;font-size:11px}.hero[data-v-5dd1e18b]{text-align:center;color:#fff;background:#667eea;border:1px solid #5a6fd6;border-radius:16px;margin-bottom:24px;padding:48px 24px;box-shadow:0 8px 32px #1f268726}.hero h1[data-v-5dd1e18b]{margin-bottom:8px;font-size:32px}.hero p[data-v-5dd1e18b]{opacity:.9;font-size:16px}.features[data-v-5dd1e18b]{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.feature-card[data-v-5dd1e18b]{background:var(--feature-card-bg);text-align:center;border:1px solid var(--sub-card-border);cursor:pointer;border-radius:12px;padding:24px;transition:all .3s;box-shadow:0 4px 20px #1f26870f}.feature-card[data-v-5dd1e18b]:hover{background:var(--feature-card-hover-bg);transform:translateY(-4px);box-shadow:0 8px 32px #0000001f}.feature-icon[data-v-5dd1e18b]{margin-bottom:12px;font-size:36px}.feature-card h3[data-v-5dd1e18b]{margin-bottom:6px;font-size:16px}.feature-card p[data-v-5dd1e18b]{color:var(--text-secondary);font-size:13px}.tips-card[data-v-5dd1e18b]{border-left:4px solid #ff9800;background:var(--tips-card-bg)!important}.tips-list[data-v-5dd1e18b]{padding:0;list-style:none}.tips-list li[data-v-5dd1e18b]{border-bottom:1px dashed var(--tips-border-color);padding:8px 0;font-size:14px;line-height:1.6}.tips-list li[data-v-5dd1e18b]:last-child{border-bottom:none}.refresh-btn[data-v-5dd1e18b]{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:16px;transition:transform .3s}.refresh-btn[data-v-5dd1e18b]:hover{transform:rotate(180deg)}@media (width<=768px){.hero[data-v-5dd1e18b]{margin-bottom:16px;padding:32px 16px}.hero h1[data-v-5dd1e18b]{font-size:24px}.hero p[data-v-5dd1e18b]{font-size:14px}.features[data-v-5dd1e18b]{grid-template-columns:repeat(2,1fr);gap:10px;max-width:400px;margin-bottom:16px;margin-left:auto;margin-right:auto}.feature-card[data-v-5dd1e18b]{padding:16px 12px}.feature-icon[data-v-5dd1e18b]{margin-bottom:8px;font-size:28px}.feature-card h3[data-v-5dd1e18b]{font-size:14px}.feature-card p[data-v-5dd1e18b]{font-size:12px}}.login-page[data-v-0054271e]{justify-content:center;align-items:center;min-height:calc(100vh - 108px);padding:24px;display:flex}.login-card[data-v-0054271e]{background:var(--login-card-bg);border:1px solid var(--card-border);border-radius:16px;width:100%;max-width:400px;padding:40px;box-shadow:0 8px 32px #1f268733}.login-header[data-v-0054271e]{text-align:center;margin-bottom:28px}.logo[data-v-0054271e]{margin-bottom:8px;font-size:48px;display:block}.login-header h1[data-v-0054271e]{color:var(--text-primary);margin-bottom:4px;font-size:22px}.login-header p[data-v-0054271e]{color:var(--text-muted);font-size:14px}.tab-bar[data-v-0054271e]{background:var(--tab-bar-bg);border-radius:10px;gap:0;margin-bottom:24px;padding:3px;display:flex}.tab[data-v-0054271e]{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-size:14px;font-weight:500;transition:all .2s}.tab.active[data-v-0054271e]{background:var(--tab-active-bg);color:var(--quick-btn-text);box-shadow:0 1px 4px #00000014}.form-item[data-v-0054271e]{margin-bottom:16px}.form-item label[data-v-0054271e]{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-item input[data-v-0054271e]{width:100%}.error-msg[data-v-0054271e]{background:var(--error-msg-bg);color:var(--error-msg-text);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.success-msg[data-v-0054271e]{color:#38a169;text-align:center;background:#e8f5e9;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px;animation:.3s successFadeIn-0054271e}@keyframes successFadeIn-0054271e{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.submit-btn[data-v-0054271e]{width:100%;padding:12px;font-size:16px}.submit-btn[data-v-0054271e]:disabled{opacity:.6;cursor:not-allowed}.login-footer[data-v-0054271e]{text-align:center;color:var(--text-muted);margin-top:20px;font-size:13px}.login-footer a[data-v-0054271e]{color:var(--quick-btn-text);cursor:pointer;text-decoration:underline}.login-footer a[data-v-0054271e]:hover{color:#764ba2}.page-header[data-v-70900ae7]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header-left[data-v-70900ae7]{align-items:center;gap:10px;display:flex}.btn-sidebar-toggle[data-v-70900ae7]{border:1px solid var(--border-subtle,#667eea4d);background:var(--chat-input-bg,#ffffff0f);color:var(--quick-btn-text,#b0b0c8);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:500;transition:all .25s;display:flex}.btn-sidebar-toggle[data-v-70900ae7]:hover{color:#667eea;background:#667eea1f;border-color:#667eea;transform:translateY(-1px);box-shadow:0 4px 12px #667eea26}.toggle-icon[data-v-70900ae7]{font-size:14px}.page-title[data-v-70900ae7]{margin:0;font-size:24px}.btn-new-chat[data-v-70900ae7]{border:1px solid var(--border-subtle,#667eea4d);background:var(--chat-input-bg,#ffffff0f);color:var(--quick-btn-text,#b0b0c8);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:500;transition:all .25s;display:flex}.btn-new-chat[data-v-70900ae7]:hover{color:#667eea;background:#667eea1f;border-color:#667eea;transform:translateY(-1px);box-shadow:0 4px 12px #667eea26}.new-chat-icon[data-v-70900ae7]{font-size:14px}.chat-layout[data-v-70900ae7]{gap:0;display:flex;position:relative}.sidebar[data-v-70900ae7]{background:var(--card-bg,#ffffff0a);border:1px solid var(--border-subtle,#667eea26);border-radius:16px;flex-direction:column;flex-shrink:0;width:280px;height:calc(100vh - 200px);min-height:500px;margin-right:12px;transition:width .35s cubic-bezier(.4,0,.2,1),opacity .35s cubic-bezier(.4,0,.2,1),margin .35s cubic-bezier(.4,0,.2,1),padding .35s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.sidebar[data-v-70900ae7]:not(.open){opacity:0;pointer-events:none;border-color:#0000;width:0;margin-right:0}.sidebar:not(.open) .sidebar-header[data-v-70900ae7],.sidebar:not(.open) .sidebar-list[data-v-70900ae7]{visibility:hidden}.sidebar-header[data-v-70900ae7]{border-bottom:1px solid var(--border-subtle,#667eea1a);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.sidebar-title[data-v-70900ae7]{color:var(--text-primary);font-size:14px;font-weight:600}.btn-sidebar-close[data-v-70900ae7]{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:14px;transition:all .2s;display:none}.btn-sidebar-close[data-v-70900ae7]:hover{color:var(--text-primary);background:#ffffff1a}.sidebar-list[data-v-70900ae7]{flex:1;padding:8px;overflow-y:auto}.sidebar-list[data-v-70900ae7]::-webkit-scrollbar{width:4px}.sidebar-list[data-v-70900ae7]::-webkit-scrollbar-thumb{background:#667eea26;border-radius:2px}.session-item[data-v-70900ae7]{cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin-bottom:2px;padding:10px 12px;transition:all .2s;display:flex}.session-item[data-v-70900ae7]:hover{background:#667eea14}.session-item.active[data-v-70900ae7]{background:#667eea26;border:1px solid #667eea33}.session-info[data-v-70900ae7]{flex:1;min-width:0}.session-title[data-v-70900ae7]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.4;overflow:hidden}.session-time[data-v-70900ae7]{color:var(--text-muted,#888);margin-top:2px;font-size:11px}.btn-delete-session[data-v-70900ae7]{cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px;font-size:12px;transition:all .2s}.session-item:hover .btn-delete-session[data-v-70900ae7]{opacity:.6}.btn-delete-session[data-v-70900ae7]:hover{background:#e74c3c26;opacity:1!important}.sidebar-empty[data-v-70900ae7]{text-align:center;color:var(--text-muted,#888);padding:24px 0;font-size:13px}.chat-main[data-v-70900ae7]{flex:1;min-width:0}.chat-card[data-v-70900ae7]{flex-direction:column;height:calc(100vh - 200px);min-height:500px;display:flex;overflow:hidden;padding:0!important}.chat-messages[data-v-70900ae7]{flex:1;padding:20px;overflow-y:auto}.chat-messages[data-v-70900ae7]::-webkit-scrollbar{width:6px}.chat-messages[data-v-70900ae7]::-webkit-scrollbar-track{background:0 0}.chat-messages[data-v-70900ae7]::-webkit-scrollbar-thumb{background:#667eea33;border-radius:3px}.welcome[data-v-70900ae7]{flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.welcome-icon[data-v-70900ae7]{font-size:48px}.welcome-name[data-v-70900ae7]{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.welcome-desc[data-v-70900ae7]{color:var(--text-secondary);margin:0;font-size:14px}.quick-questions[data-v-70900ae7]{flex-wrap:wrap;justify-content:center;gap:8px;max-width:500px;margin-top:16px;display:flex}.quick-btn[data-v-70900ae7]{border:1px solid var(--quick-btn-border);background:var(--quick-btn-bg);color:var(--quick-btn-text);cursor:pointer;border-radius:20px;padding:8px 16px;font-size:13px;transition:all .2s}.quick-btn[data-v-70900ae7]:hover{background:#667eea1a;border-color:#667eea}.message[data-v-70900ae7]{gap:10px;margin-bottom:16px;display:flex}.message.user[data-v-70900ae7]{flex-direction:row-reverse}.msg-avatar[data-v-70900ae7]{background:#667eea33;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.msg-body[data-v-70900ae7]{min-width:0;max-width:75%}.message.user .msg-body[data-v-70900ae7]{text-align:right}.msg-content[data-v-70900ae7]{text-align:left;word-break:break-word;border-radius:16px;padding:12px 16px;font-size:14px;line-height:1.7;display:inline-block}.message.assistant .msg-content[data-v-70900ae7]{background:var(--chat-msg-bg);border:1px solid var(--chat-msg-border);color:var(--text-primary);border-top-left-radius:4px}.message.user .msg-content[data-v-70900ae7]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-top-right-radius:4px}.msg-sources[data-v-70900ae7]{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.source-label[data-v-70900ae7]{color:var(--text-muted);font-size:11px}.source-tag[data-v-70900ae7]{color:var(--quick-btn-text);background:#667eea14;border-radius:10px;padding:2px 8px;font-size:11px}.typing[data-v-70900ae7]{gap:4px;padding:16px 20px;display:flex}.dot[data-v-70900ae7]{background:#667eea;border-radius:50%;width:8px;height:8px;animation:1.4s infinite both bounce-70900ae7}.dot[data-v-70900ae7]:nth-child(2){animation-delay:.2s}.dot[data-v-70900ae7]:nth-child(3){animation-delay:.4s}@keyframes bounce-70900ae7{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.chat-input[data-v-70900ae7]{border-top:1px solid var(--border-subtle);background:var(--chat-input-bg);gap:10px;padding:16px 20px;display:flex}.chat-input input[data-v-70900ae7]{border:1px solid var(--chat-input-border);background:var(--input-bg);color:var(--text-primary);border-radius:24px;outline:none;flex:1;padding:10px 16px;font-size:14px;transition:border-color .2s}.chat-input input[data-v-70900ae7]:focus{border-color:var(--input-focus)}.send-btn[data-v-70900ae7]{white-space:nowrap;border-radius:24px;padding:10px 24px}@media (width<=768px){.page-header[data-v-70900ae7]{margin-bottom:12px}.page-title[data-v-70900ae7]{font-size:20px}.btn-new-chat[data-v-70900ae7],.btn-sidebar-toggle[data-v-70900ae7]{padding:6px 14px;font-size:12px}.sidebar[data-v-70900ae7]{z-index:900;opacity:1;border-radius:0 16px 16px 0;width:300px;height:auto;min-height:0;margin-right:0;transition:transform .35s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);display:flex!important}.sidebar.open[data-v-70900ae7]{transform:translate(0)}.btn-sidebar-close[data-v-70900ae7]{display:block}.sidebar-overlay[data-v-70900ae7]{z-index:899;background:#00000080;position:fixed;inset:0}.chat-card[data-v-70900ae7]{height:calc(100dvh - 160px);min-height:400px}.chat-messages[data-v-70900ae7]{padding:12px}.welcome-icon[data-v-70900ae7]{font-size:36px}.welcome-name[data-v-70900ae7]{font-size:16px}.welcome-desc[data-v-70900ae7]{font-size:13px}.quick-questions[data-v-70900ae7]{gap:6px;margin-top:12px}.quick-btn[data-v-70900ae7]{padding:6px 12px;font-size:12px}.message[data-v-70900ae7]{gap:8px;margin-bottom:12px}.msg-avatar[data-v-70900ae7]{width:30px;height:30px;font-size:15px}.msg-body[data-v-70900ae7]{max-width:80%}.msg-content[data-v-70900ae7]{padding:10px 14px;font-size:13px}.chat-input[data-v-70900ae7]{gap:8px;padding:10px 12px}.chat-input input[data-v-70900ae7]{padding:8px 14px;font-size:13px}.send-btn[data-v-70900ae7]{padding:8px 16px;font-size:13px}}.confirm-overlay{background:var(--modal-overlay-bg);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-card{background:var(--modal-card-bg);border:1px solid #e0e0ee;border-radius:16px;flex-direction:column;align-items:center;width:360px;max-width:calc(100vw - 48px);padding:32px 28px 24px;animation:.25s confirmIn;display:flex;box-shadow:0 16px 48px #1f26872e}@keyframes confirmIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-icon{margin-bottom:12px;font-size:40px}.confirm-text{color:#333;text-align:center;margin-bottom:4px;font-size:16px;font-weight:600}.confirm-text-sub{color:var(--text-secondary);margin-bottom:24px;font-size:13px}.confirm-actions{gap:12px;width:100%;display:flex}.confirm-btn{cursor:pointer;border:none;border-radius:24px;flex:1;padding:10px 0;font-size:14px;font-weight:500;transition:all .2s}.confirm-btn.cancel{background:var(--input-bg);color:var(--text-secondary);border:1px solid var(--input-border)}.confirm-btn.cancel:hover{color:#667eea;border-color:#667eea}.confirm-btn.primary{color:#fff;text-shadow:0 1px 2px #0003;background:linear-gradient(135deg,#667eea,#764ba2);font-weight:600}.confirm-btn.primary:hover{opacity:.9;transform:translateY(-1px)}.confirm-btn.danger{color:#fff;text-shadow:0 1px 2px #0003;background:linear-gradient(135deg,#e74c3c,#c0392b);font-weight:600}.confirm-btn.danger:hover{opacity:.9;transform:translateY(-1px)}.page-header[data-v-38fa9932]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-title[data-v-38fa9932]{margin-bottom:0;font-size:24px}.btn-add[data-v-38fa9932]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;transition:opacity .2s}.btn-add[data-v-38fa9932]:hover{opacity:.9}.card-actions[data-v-38fa9932]{gap:4px;margin-left:auto;display:flex}.btn-icon[data-v-38fa9932]{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:14px;transition:background .2s}.btn-icon[data-v-38fa9932]:hover{background:#667eea1f}.form-body[data-v-38fa9932]{flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.form-row[data-v-38fa9932]{margin-bottom:14px}.form-row label[data-v-38fa9932]{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.form-row input[data-v-38fa9932],.form-row select[data-v-38fa9932],.form-row textarea[data-v-38fa9932]{border:1px solid var(--input-border);width:100%;color:var(--text-primary);background:var(--drug-card-bg);box-sizing:border-box;border-radius:8px;padding:8px 12px;font-size:14px}.form-row textarea[data-v-38fa9932]{resize:none;overflow:hidden}.form-actions[data-v-38fa9932]{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.btn[data-v-38fa9932]{cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;transition:opacity .2s}.btn[data-v-38fa9932]:hover{opacity:.85}.btn-primary[data-v-38fa9932]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.btn-secondary[data-v-38fa9932]{color:#555;background:#e8e8f0}.modal-overlay[data-v-38fa9932]{z-index:9999;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal[data-v-38fa9932]{background:var(--modal-bg);text-align:center;border:1px solid #e0e0ee;border-radius:16px;min-width:300px;padding:32px;box-shadow:0 20px 60px #00000026}.confirm-icon[data-v-38fa9932]{margin-bottom:12px;font-size:40px}.confirm-text[data-v-38fa9932]{color:#444;margin-bottom:24px;font-size:15px;line-height:1.6}.confirm-actions[data-v-38fa9932]{justify-content:center;gap:12px;display:flex}.btn-danger[data-v-38fa9932]{color:#fff;cursor:pointer;background:#ef5350;border:none;border-radius:8px;padding:8px 24px;font-size:14px;transition:opacity .2s}.btn-danger[data-v-38fa9932]:hover{opacity:.85}.filter-row[data-v-38fa9932]{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.filter-label[data-v-38fa9932]{color:var(--text-secondary);flex-shrink:0;min-width:32px;padding-top:6px;font-size:13px;font-weight:600}.filter-pills[data-v-38fa9932]{flex-wrap:wrap;gap:8px;display:flex}.pill[data-v-38fa9932]{border:1px solid var(--input-border);background:var(--drug-card-bg);cursor:pointer;color:var(--text-secondary);white-space:nowrap;border-radius:20px;padding:5px 14px;font-size:13px;transition:all .2s}.pill[data-v-38fa9932]:hover{color:#667eea;border-color:#667eea}.pill.active[data-v-38fa9932]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000}.pill.active .pill-count[data-v-38fa9932]{color:#fffc}.pill-count[data-v-38fa9932]{opacity:.7;margin-left:2px;font-size:11px}.drugs-grid[data-v-38fa9932]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.result-info[data-v-38fa9932]{color:var(--text-secondary);grid-column:1/-1;margin-bottom:2px;font-size:13px}.drug-card[data-v-38fa9932]{background:var(--drug-card-bg);border:1px solid var(--sub-card-border);cursor:pointer;border-radius:12px;flex-direction:column;height:180px;padding:16px;transition:transform .3s,box-shadow .3s,background .3s;animation:.35s both cardFadeIn-38fa9932;display:flex;overflow:hidden;box-shadow:0 4px 16px #1f26870f}@keyframes cardFadeIn-38fa9932{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.error-state[data-v-38fa9932]{color:var(--modal-warning-text)}.retry-btn[data-v-38fa9932]{margin-top:12px}.drug-card[data-v-38fa9932]:hover{background:var(--drug-card-hover-bg);transform:translateY(-6px);box-shadow:0 16px 40px #667eea2e}.card-top[data-v-38fa9932]{flex-shrink:0;gap:6px;margin-bottom:8px;display:flex;overflow:hidden}.cat-badge[data-v-38fa9932]{background:var(--cat-badge-bg);color:var(--cat-badge-text);white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.cat-badge.clickable[data-v-38fa9932]{cursor:pointer;transition:all .2s}.cat-badge.clickable[data-v-38fa9932]:hover{background:#667eea40}.type-badge[data-v-38fa9932]{background:var(--type-badge-bg);color:var(--type-badge-text);white-space:nowrap;text-overflow:ellipsis;border-radius:20px;max-width:100px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block;overflow:hidden}.drug-name[data-v-38fa9932]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:15px;font-weight:600;overflow:hidden}.drug-info[data-v-38fa9932]{flex-direction:column;flex:1;gap:3px;display:flex;overflow:hidden}.info-item[data-v-38fa9932]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.card-footer[data-v-38fa9932]{text-align:right;color:var(--quick-btn-text);border-top:1px solid var(--border-subtle);flex-shrink:0;margin-top:auto;padding-top:8px;font-size:12px}.show-more-wrap[data-v-38fa9932]{grid-column:1/-1;justify-content:center;padding:16px 0 4px;display:flex}.btn-show-more[data-v-38fa9932]{border:1px solid var(--input-border);background:var(--drug-card-bg);color:var(--text-secondary);cursor:pointer;border-radius:24px;padding:10px 28px;font-size:14px;transition:all .25s}.btn-show-more[data-v-38fa9932]:hover{color:#667eea;background:#667eea14;border-color:#667eea}.drug-modal-overlay{background:var(--modal-overlay-bg);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.drug-modal-card{background:var(--modal-card-bg);border:1px solid #e0e0ee;border-radius:16px;outline:none;flex-direction:column;width:440px;max-width:calc(100vw - 48px);max-height:85vh;animation:.25s slideUp;display:flex;box-shadow:0 16px 48px #1f26872e}.drug-modal-header{border-bottom:1px solid var(--modal-header-border);flex-shrink:0;padding:20px 24px 16px;position:relative}.drug-modal-close{background:var(--modal-close-bg);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.drug-modal-close:hover{background:var(--modal-close-hover-bg);color:var(--text-primary)}.drug-modal-header h3{color:var(--modal-value-color);word-break:break-word;margin-bottom:8px;padding-right:40px;font-size:20px;font-weight:700}.drug-modal-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.drug-modal-badges .cat-badge,.drug-modal-badges .type-badge{white-space:nowrap;vertical-align:middle;border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.drug-modal-badges .cat-badge{background:var(--cat-badge-bg);color:var(--cat-badge-text)}.drug-modal-badges .cat-badge.clickable{cursor:pointer;transition:all .2s}.drug-modal-badges .cat-badge.clickable:hover{background:#667eea40}.drug-modal-badges .type-badge{background:var(--type-badge-bg);color:var(--type-badge-text)}.drug-modal-body{flex:1;min-height:0;padding:20px 24px}.drug-modal-body::-webkit-scrollbar{width:6px}.drug-modal-body::-webkit-scrollbar-track{background:0 0}.drug-modal-body::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.drug-modal-row{gap:12px;min-width:0;margin-bottom:14px;display:flex}.drug-modal-row:last-child{margin-bottom:0}.drug-modal-label{width:80px;color:var(--modal-label-color);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:500}.drug-modal-value{min-width:0;color:var(--modal-value-color);word-break:break-word;overflow-wrap:break-word;flex:1;font-size:14px;line-height:1.6}.drug-modal-value.warning{color:var(--modal-warning-text);background:var(--modal-warning-bg);border:1px solid var(--modal-warning-border);border-radius:8px;padding:8px 12px;font-size:13px}.drug-modal-value.notes{color:var(--modal-notes-text);background:var(--modal-notes-bg);border:1px solid var(--modal-notes-border);border-radius:8px;padding:8px 12px;font-size:13px}.page-header[data-v-b7ff0ef9]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-title[data-v-b7ff0ef9]{margin-bottom:0;font-size:24px}.btn-add[data-v-b7ff0ef9]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;transition:opacity .2s}.btn-add[data-v-b7ff0ef9]:hover{opacity:.9}.header-right[data-v-b7ff0ef9]{align-items:center;gap:12px;display:flex}.view-tabs[data-v-b7ff0ef9]{background:#e8e8f0;border-radius:8px;gap:2px;padding:3px;display:flex}.sub-view-tabs[data-v-b7ff0ef9]{background:#f2f2f8;padding:2px}.sub-view-tabs .tab-btn[data-v-b7ff0ef9]{padding:5px 12px;font-size:12px}.sub-view-tabs .tab-btn.active[data-v-b7ff0ef9]{color:#9254de;background:#fff}.tab-btn[data-v-b7ff0ef9]{cursor:pointer;color:#666;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s}.tab-btn.active[data-v-b7ff0ef9]{color:#667eea;background:#fff;box-shadow:0 1px 3px #0000001a}.stats-grid[data-v-b7ff0ef9]{flex-direction:column;gap:10px;display:flex}.stat-card[data-v-b7ff0ef9]{background:var(--hospital-card-bg);cursor:pointer;border:1px solid #e8e8f0;border-radius:12px;padding:16px 20px;transition:box-shadow .2s}.stat-card[data-v-b7ff0ef9]:hover{box-shadow:0 2px 12px #0000000f}.stat-card.expanded[data-v-b7ff0ef9]{border-color:#667eea}.stat-card-top[data-v-b7ff0ef9]{justify-content:space-between;align-items:center;display:flex}.stat-hospital[data-v-b7ff0ef9]{color:#333;word-break:break-all;font-size:16px;font-weight:700}.doctor-block[data-v-b7ff0ef9]{border-bottom:1px solid #f0f0f5;padding:8px 0}.doctor-block[data-v-b7ff0ef9]:last-child{border-bottom:none;padding-bottom:0}.doctor-line[data-v-b7ff0ef9]{color:#444;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:14px;font-weight:600;display:flex}.doctor-count[data-v-b7ff0ef9]{color:#888;font-size:12px;font-weight:500}.rec-tags[data-v-b7ff0ef9]{flex-wrap:wrap;gap:5px;display:flex}.stat-badge[data-v-b7ff0ef9]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600}.stat-meta[data-v-b7ff0ef9]{color:#777;flex-wrap:wrap;gap:16px;margin-top:6px;font-size:13px;display:flex}.stat-hospitals[data-v-b7ff0ef9]{color:#999;margin-top:4px;font-size:12px}.stat-detail[data-v-b7ff0ef9]{border-top:1px solid #e8e8f0;margin-top:14px;padding-top:14px}.stat-table[data-v-b7ff0ef9]{border-collapse:collapse;width:100%;font-size:13px}.stat-table th[data-v-b7ff0ef9]{text-align:left;color:#999;border-bottom:1px solid #eee;padding:6px 8px;font-size:12px;font-weight:600}.stat-table td[data-v-b7ff0ef9]{color:#555;border-bottom:1px solid #f5f5f5;padding:6px 8px}.rec-tag[data-v-b7ff0ef9]{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.rec-yes[data-v-b7ff0ef9]{color:#2e7d32;background:#e8f5e9}.rec-no[data-v-b7ff0ef9]{color:#c62828;background:#ffebee}.rec-unknown[data-v-b7ff0ef9]{color:#999;background:#f5f5f5}.card-actions[data-v-b7ff0ef9]{gap:4px;margin-left:auto;display:flex}.btn-icon[data-v-b7ff0ef9]{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:14px;transition:background .2s}.btn-icon[data-v-b7ff0ef9]:hover{background:#667eea1f}.form-body[data-v-b7ff0ef9]{flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.form-row[data-v-b7ff0ef9]{margin-bottom:14px}.form-row label[data-v-b7ff0ef9]{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.form-row input[data-v-b7ff0ef9],.form-row select[data-v-b7ff0ef9],.form-row textarea[data-v-b7ff0ef9]{border:1px solid var(--input-border);width:100%;color:var(--text-primary);background:var(--hospital-card-bg);box-sizing:border-box;border-radius:8px;padding:8px 12px;font-size:14px}.form-row textarea[data-v-b7ff0ef9]{resize:none;overflow:hidden}.autocomplete-row[data-v-b7ff0ef9],.ac-wrap[data-v-b7ff0ef9]{position:relative}.ac-wrap input[data-v-b7ff0ef9]{border:1px solid var(--input-border);width:100%;color:var(--text-primary);background:var(--hospital-card-bg);box-sizing:border-box;border-radius:8px;padding:8px 32px 8px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.ac-wrap input[data-v-b7ff0ef9]:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1f}.ac-wrap[data-v-b7ff0ef9]:after{content:"";pointer-events:none;border-top:5px solid #999;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;transition:transform .2s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.ac-wrap.open[data-v-b7ff0ef9]:after{border-top-color:#667eea;transform:translateY(-50%)rotate(180deg)}.ac-dropdown[data-v-b7ff0ef9]{background:var(--modal-card-bg,#fff);z-index:10;border:1px solid #e0e0ee;border-radius:10px;max-height:200px;animation:.15s acFadeIn-b7ff0ef9;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #1f26871f}@keyframes acFadeIn-b7ff0ef9{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ac-dropdown[data-v-b7ff0ef9]::-webkit-scrollbar{width:5px}.ac-dropdown[data-v-b7ff0ef9]::-webkit-scrollbar-track{background:0 0}.ac-dropdown[data-v-b7ff0ef9]::-webkit-scrollbar-thumb{background:#667eea40;border-radius:3px}.ac-item[data-v-b7ff0ef9]{color:var(--text-primary,#333);cursor:pointer;border-radius:6px;margin:2px 4px;padding:9px 14px;font-size:13px;transition:background .15s,color .15s}.ac-item[data-v-b7ff0ef9]:hover{color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.ac-item[data-v-b7ff0ef9]:first-child{margin-top:4px}.ac-item[data-v-b7ff0ef9]:last-child{margin-bottom:4px}.visit-toggle[data-v-b7ff0ef9]{color:#667eea;cursor:pointer;-webkit-user-select:none;user-select:none;background:#667eea0a;border:1px dashed #667eea40;border-radius:8px;align-items:center;gap:6px;margin:8px 0 12px;padding:8px 14px;font-size:13px;transition:all .2s;display:flex}.visit-toggle[data-v-b7ff0ef9]:hover{background:#667eea14;border-color:#667eea66}.visit-toggle-arrow[data-v-b7ff0ef9]{font-size:11px;transition:transform .2s}.visit-toggle-arrow.open[data-v-b7ff0ef9]{transform:rotate(90deg)}.visit-toggle-sub[data-v-b7ff0ef9]{color:#bbb;margin-left:auto;font-size:11px}.required[data-v-b7ff0ef9]{color:#e74c3c;font-weight:700}.form-actions[data-v-b7ff0ef9]{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.btn[data-v-b7ff0ef9]{cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;transition:opacity .2s}.btn[data-v-b7ff0ef9]:hover{opacity:.85}.btn-primary[data-v-b7ff0ef9]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2)}.btn-secondary[data-v-b7ff0ef9]{color:#555;background:#e8e8f0}.modal-overlay[data-v-b7ff0ef9]{z-index:9999;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal[data-v-b7ff0ef9]{background:var(--modal-bg);text-align:center;border:1px solid #e0e0ee;border-radius:16px;min-width:300px;padding:32px;box-shadow:0 20px 60px #00000026}.confirm-icon[data-v-b7ff0ef9]{margin-bottom:12px;font-size:40px}.confirm-text[data-v-b7ff0ef9]{color:#444;margin-bottom:24px;font-size:15px;line-height:1.6}.confirm-actions[data-v-b7ff0ef9]{justify-content:center;gap:12px;display:flex}.btn-danger[data-v-b7ff0ef9]{color:#fff;cursor:pointer;background:#ef5350;border:none;border-radius:8px;padding:8px 24px;font-size:14px;transition:opacity .2s}.btn-danger[data-v-b7ff0ef9]:hover{opacity:.85}.filter-row[data-v-b7ff0ef9]{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.nearby-hint[data-v-b7ff0ef9]{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.nearby-label[data-v-b7ff0ef9]{color:#795548;font-weight:500}.nearby-btn[data-v-b7ff0ef9]{color:#e65100;cursor:pointer;white-space:nowrap;background:#fff3e0;border:1px solid #ffb74d;border-radius:16px;padding:4px 12px;font-size:12px;transition:all .2s}.nearby-btn[data-v-b7ff0ef9]:hover{background:#ffe0b2;border-color:#ff9800}.filter-label[data-v-b7ff0ef9]{color:var(--text-secondary);flex-shrink:0;min-width:32px;padding-top:6px;font-size:13px;font-weight:600}.filter-pills[data-v-b7ff0ef9]{flex-wrap:wrap;gap:8px;display:flex}.pill[data-v-b7ff0ef9]{border:1px solid var(--input-border);background:var(--hospital-card-bg);cursor:pointer;color:var(--text-secondary);white-space:nowrap;border-radius:20px;padding:5px 14px;font-size:13px;transition:all .2s}.pill[data-v-b7ff0ef9]:hover{color:#667eea;border-color:#667eea}.pill.active[data-v-b7ff0ef9]{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000}.pill.active .pill-count[data-v-b7ff0ef9]{color:#fffc}.pill-count[data-v-b7ff0ef9]{opacity:.7;margin-left:2px;font-size:11px}.hospitals-grid[data-v-b7ff0ef9]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.result-info[data-v-b7ff0ef9]{color:var(--text-secondary);grid-column:1/-1;margin-bottom:2px;font-size:13px}.hospital-card[data-v-b7ff0ef9]{background:var(--hospital-card-bg);border:1px solid var(--sub-card-border);cursor:pointer;border-radius:12px;flex-direction:column;height:180px;padding:16px;transition:transform .3s,box-shadow .3s,background .3s;animation:.35s both cardFadeIn-b7ff0ef9;display:flex;overflow:hidden;box-shadow:0 4px 16px #1f26870f}@keyframes cardFadeIn-b7ff0ef9{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hospital-card[data-v-b7ff0ef9]:hover{background:var(--hospital-card-hover-bg);transform:translateY(-6px);box-shadow:0 16px 40px #667eea2e}.card-top[data-v-b7ff0ef9]{flex-wrap:wrap;flex-shrink:0;gap:6px;margin-bottom:8px;display:flex;overflow:hidden}.visit-badge[data-v-b7ff0ef9]{color:#5a6dc9;white-space:nowrap;background:#667eea1f;border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.rec-line[data-v-b7ff0ef9]{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.rec-tag[data-v-b7ff0ef9]{white-space:nowrap;border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.rec-pos[data-v-b7ff0ef9]{background:var(--rec-good-bg,#e6f6ea);color:var(--rec-good-text,#2e7d32)}.rec-neg[data-v-b7ff0ef9]{background:var(--rec-bad-bg,#fdecea);color:var(--rec-bad-text,#c62828)}.rec-unk[data-v-b7ff0ef9]{background:var(--rec-unknown-bg,#f0f0f5);color:var(--rec-unknown-text,#888)}.reason[data-v-b7ff0ef9]{word-break:break-word;border-radius:8px;margin-top:4px;padding:6px 8px;font-size:12px;line-height:1.55}.reason-pos[data-v-b7ff0ef9]{border-left:3px solid var(--rec-good-text,#2e7d32);background:#2e7d320f}.reason-neg[data-v-b7ff0ef9]{border-left:3px solid var(--rec-bad-text,#c62828);background:#c628280f}.reason-label[data-v-b7ff0ef9]{margin-right:2px;font-weight:600}.reason-meta[data-v-b7ff0ef9]{color:#999;margin-top:3px;font-size:11px;display:block}.doctors-line[data-v-b7ff0ef9]{color:var(--text-secondary,#777);word-break:break-word;margin-top:5px;font-size:12px;line-height:1.5}.city-badge[data-v-b7ff0ef9]{background:var(--cat-badge-bg);color:var(--cat-badge-text);white-space:nowrap;border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.city-badge.clickable[data-v-b7ff0ef9]{cursor:pointer;transition:all .2s}.city-badge.clickable[data-v-b7ff0ef9]:hover{background:#667eea40}.rec-badge[data-v-b7ff0ef9]{white-space:nowrap;border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.rec-推荐[data-v-b7ff0ef9]{background:var(--rec-good-bg);color:var(--rec-good-text)}.rec-不推荐[data-v-b7ff0ef9]{background:var(--rec-bad-bg);color:var(--rec-bad-text)}.rec-未知[data-v-b7ff0ef9]{background:var(--rec-unknown-bg);color:var(--rec-unknown-text)}.card-name[data-v-b7ff0ef9]{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:15px;font-weight:600;overflow:hidden}.card-info[data-v-b7ff0ef9]{flex-direction:column;flex:1;gap:3px;display:flex;overflow:hidden}.info-item[data-v-b7ff0ef9]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.card-footer[data-v-b7ff0ef9]{text-align:right;color:var(--quick-btn-text);border-top:1px solid var(--border-subtle);flex-shrink:0;margin-top:auto;padding-top:8px;font-size:12px}.show-more-wrap[data-v-b7ff0ef9]{grid-column:1/-1;justify-content:center;padding:16px 0 4px;display:flex}.btn-show-more[data-v-b7ff0ef9]{border:1px solid var(--input-border);background:var(--hospital-card-bg);color:var(--text-secondary);cursor:pointer;border-radius:24px;padding:10px 28px;font-size:14px;transition:all .25s}.btn-show-more[data-v-b7ff0ef9]:hover{color:#667eea;background:#667eea14;border-color:#667eea}.mine-grid[data-v-b7ff0ef9]{flex-direction:column;gap:10px;display:flex}.mine-summary[data-v-b7ff0ef9]{color:#333;font-weight:600}.mine-card[data-v-b7ff0ef9]{background:var(--hospital-card-bg);cursor:pointer;border:1px solid #e8e8f0;border-radius:12px;padding:16px 20px;transition:box-shadow .2s}.mine-card[data-v-b7ff0ef9]:hover{box-shadow:0 2px 12px #0000000f}.mine-card.expanded[data-v-b7ff0ef9]{border-color:#f093fb}.mine-card-top[data-v-b7ff0ef9]{justify-content:space-between;align-items:center;display:flex}.mine-doctor[data-v-b7ff0ef9]{color:#333;word-break:break-all;font-size:16px;font-weight:700}.mine-badge[data-v-b7ff0ef9]{color:#fff;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600}.mine-meta[data-v-b7ff0ef9]{color:#777;flex-wrap:wrap;gap:16px;margin-top:6px;font-size:13px;display:flex}.mine-detail[data-v-b7ff0ef9]{border-top:1px solid #e8e8f0;margin-top:14px;padding-top:14px}.mine-record[data-v-b7ff0ef9]{border-bottom:1px solid #f0f0f5;padding:10px 0}.mine-record[data-v-b7ff0ef9]:last-child{border-bottom:none;padding-bottom:0}.mine-record-row[data-v-b7ff0ef9]{color:#444;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px;font-weight:600;display:flex}.mine-record-cat[data-v-b7ff0ef9]{color:#333}.mine-record-info[data-v-b7ff0ef9]{color:#888;flex-wrap:wrap;gap:12px;margin-bottom:6px;font-size:12px;display:flex}.mine-record-actions[data-v-b7ff0ef9]{justify-content:flex-end;gap:8px;display:flex}.btn-sm[data-v-b7ff0ef9]{padding:5px 14px;font-size:12px}.doctor-stats-grid[data-v-b7ff0ef9]{flex-direction:column;gap:10px;display:flex}.detail-modal[data-v-b7ff0ef9]{width:calc(100% - 32px);max-width:720px;max-height:85vh}.detail-body[data-v-b7ff0ef9]{padding:20px 24px 24px;overflow-y:auto}.summary-block[data-v-b7ff0ef9]{background:#667eea0d;border-radius:10px;margin-bottom:14px;padding:12px 14px}.summary-line[data-v-b7ff0ef9]{color:#444;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;line-height:1.7;display:flex}.summary-label[data-v-b7ff0ef9]{color:#777;font-weight:500}.summary-value[data-v-b7ff0ef9]{color:#333;font-weight:500}.summary-rec-count[data-v-b7ff0ef9]{margin-top:6px}.reason-block[data-v-b7ff0ef9]{border-radius:10px;margin-bottom:12px;padding:12px 14px}.reason-block.reason-pos[data-v-b7ff0ef9]{border-left:3px solid var(--rec-good-text,#2e7d32);background:#2e7d320f}.reason-block.reason-neg[data-v-b7ff0ef9]{border-left:3px solid var(--rec-bad-text,#c62828);background:#c628280f}.reason-block-title[data-v-b7ff0ef9]{color:#333;margin-bottom:6px;font-size:13px;font-weight:600}.reason-block-body[data-v-b7ff0ef9]{color:#333;white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.65}.reason-block-meta[data-v-b7ff0ef9]{color:#999;margin-top:6px;font-size:12px}.records-section[data-v-b7ff0ef9]{margin-top:10px}.records-section-title[data-v-b7ff0ef9]{color:#333;border-bottom:1px solid #e8e8f0;margin-bottom:10px;padding-bottom:8px;font-size:14px;font-weight:600}.record-row[data-v-b7ff0ef9]{background:#fafafa;border:1px solid #eee;border-radius:10px;margin-bottom:10px;padding:12px 14px}.record-row.rec-pos[data-v-b7ff0ef9]{background:#2e7d320a;border-color:#2e7d3226}.record-row.rec-neg[data-v-b7ff0ef9]{background:#c628280a;border-color:#c6282826}.record-row.rec-unk[data-v-b7ff0ef9]{background:#f7f7fb;border-color:#e8e8f0}.record-row-header[data-v-b7ff0ef9]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.record-badge[data-v-b7ff0ef9]{white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600}.record-badge.rec-pos[data-v-b7ff0ef9]{background:var(--rec-good-bg,#e6f6ea);color:var(--rec-good-text,#2e7d32)}.record-badge.rec-neg[data-v-b7ff0ef9]{background:var(--rec-bad-bg,#fdecea);color:var(--rec-bad-text,#c62828)}.record-badge.rec-unk[data-v-b7ff0ef9]{background:var(--rec-unknown-bg,#f0f0f5);color:var(--rec-unknown-text,#888)}.record-meta[data-v-b7ff0ef9]{color:#555;font-size:12px;line-height:1.5}.record-field[data-v-b7ff0ef9]{color:#444;word-break:break-word;white-space:pre-wrap;margin-top:4px;font-size:13px;line-height:1.65}.record-field.notes[data-v-b7ff0ef9]{color:#555}.empty-state-inline[data-v-b7ff0ef9]{text-align:center;color:#999;padding:24px;font-size:13px}.doctor-stat-card[data-v-b7ff0ef9]{background:var(--hospital-card-bg);cursor:pointer;border:1px solid #e8e8f0;border-radius:12px;padding:16px 20px;transition:box-shadow .2s}.doctor-stat-card[data-v-b7ff0ef9]:hover{box-shadow:0 2px 12px #0000000f}.doctor-stat-card.expanded[data-v-b7ff0ef9]{border-color:#667eea}.doctor-stat-header[data-v-b7ff0ef9]{justify-content:space-between;align-items:center;display:flex}.doctor-stat-name[data-v-b7ff0ef9]{color:#333;word-break:break-all;font-size:16px;font-weight:700}.doctor-stat-badge[data-v-b7ff0ef9]{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600}.doctor-stat-meta[data-v-b7ff0ef9]{color:#777;flex-wrap:wrap;gap:16px;margin-top:6px;font-size:13px;display:flex}.doctor-stat-cats[data-v-b7ff0ef9]{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.cat-chip[data-v-b7ff0ef9]{color:#555;white-space:nowrap;background:#667eea14;border-radius:20px;align-items:center;padding:4px 10px;font-size:13px;display:inline-flex}.cat-lymphoma[data-v-b7ff0ef9]{color:#888;font-size:12px}.records-toggle[data-v-b7ff0ef9]{border:1px solid var(--input-border);background:var(--hospital-card-bg);width:fit-content;color:var(--text-secondary);cursor:pointer;border-radius:20px;margin:4px auto 0;padding:6px 20px;font-size:12px;transition:all .25s;display:block}.records-toggle[data-v-b7ff0ef9]:hover{color:#667eea;background:#667eea14;border-color:#667eea}.doctor-stat-detail[data-v-b7ff0ef9]{background:#667eea0a;border-radius:8px;flex-direction:column;gap:6px;margin-top:14px;padding:10px 12px;display:flex}.doctor-stat-record[data-v-b7ff0ef9]{background:var(--hospital-card-bg);color:#555;border:1px solid #e8e8f0;border-radius:6px;padding:10px 12px;font-size:13px}.doctor-stat-record[data-v-b7ff0ef9]:last-child{border-bottom:1px solid #e8e8f0}.record-header[data-v-b7ff0ef9]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.record-cat[data-v-b7ff0ef9]{color:#333;font-size:14px;font-weight:700}.record-age[data-v-b7ff0ef9],.record-breed[data-v-b7ff0ef9]{color:#888;font-size:12px}.record-field[data-v-b7ff0ef9]{color:#555;margin:3px 0;line-height:1.5}.record-field.notes[data-v-b7ff0ef9]{color:#777;white-space:pre-wrap;word-break:break-all;font-size:12px}.rec-badge-sm[data-v-b7ff0ef9]{border-radius:8px;margin-left:2px;padding:1px 5px;font-size:10px;font-weight:700}.rec-badge-sm.rec-推荐[data-v-b7ff0ef9]{color:#1b5e20;background:#c8e6c9}.rec-badge-sm.rec-不推荐[data-v-b7ff0ef9]{color:#c62828;background:#ffebee}.hosp-modal-overlay{background:var(--modal-overlay-bg);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hosp-modal-card{background:var(--modal-card-bg);border:1px solid #e0e0ee;border-radius:16px;outline:none;flex-direction:column;width:440px;max-width:calc(100vw - 48px);max-height:85vh;animation:.25s hospSlideUp;display:flex;box-shadow:0 16px 48px #1f26872e}@keyframes hospSlideUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.hosp-modal-header{border-bottom:1px solid var(--modal-header-border);flex-shrink:0;padding:20px 24px 16px;position:relative}.hosp-modal-close{background:var(--modal-close-bg);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.hosp-modal-close:hover{background:var(--modal-close-hover-bg);color:var(--text-primary)}.hosp-modal-header h3{color:var(--modal-value-color);word-break:break-word;margin-bottom:8px;padding-right:40px;font-size:20px;font-weight:700}.hosp-modal-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hosp-modal-badges .city-badge,.hosp-modal-badges .rec-badge{white-space:nowrap;vertical-align:middle;border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;line-height:1.4;display:inline-flex}.hosp-modal-badges .city-badge{background:var(--cat-badge-bg);color:var(--cat-badge-text)}.hosp-modal-badges .city-badge.clickable{cursor:pointer;transition:all .2s}.hosp-modal-badges .city-badge.clickable:hover{background:#667eea40}.hosp-modal-badges .rec-推荐{background:var(--rec-good-bg);color:var(--rec-good-text)}.hosp-modal-badges .rec-不推荐{background:var(--rec-bad-bg);color:var(--rec-bad-text)}.hosp-modal-badges .rec-未知{background:var(--rec-unknown-bg);color:var(--rec-unknown-text)}.hosp-modal-body{flex:1;min-height:0;padding:20px 24px}.hosp-modal-body::-webkit-scrollbar{width:6px}.hosp-modal-body::-webkit-scrollbar-track{background:0 0}.hosp-modal-body::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.hosp-modal-row{gap:12px;min-width:0;margin-bottom:14px;display:flex}.hosp-modal-row:last-child{margin-bottom:0}.hosp-modal-label{width:90px;color:var(--modal-label-color);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:500}.hosp-modal-value{min-width:0;color:var(--modal-value-color);word-break:break-word;overflow-wrap:break-word;flex:1;font-size:14px;line-height:1.6}.hosp-modal-value.notes{color:var(--modal-notes-text);background:var(--modal-notes-bg);border:1px solid var(--modal-notes-border);border-radius:8px;padding:8px 12px;font-size:13px}.page-title[data-v-9577aa02]{margin-bottom:16px;font-size:24px}.section-header[data-v-9577aa02]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header .card-title[data-v-9577aa02]{margin-bottom:0}.btn-sm[data-v-9577aa02]{padding:6px 14px;font-size:13px}.btn-danger[data-v-9577aa02]{color:#fff;cursor:pointer;background:#ef5350;border:none;border-radius:8px;padding:6px 14px;font-size:13px;transition:opacity .2s}.btn-danger[data-v-9577aa02]:hover{opacity:.85}.cats-grid[data-v-9577aa02]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.cat-card[data-v-9577aa02]{background:var(--sub-card-bg);border:1px solid var(--sub-card-border);cursor:pointer;border-radius:12px;align-items:center;gap:14px;padding:16px;transition:all .3s;display:flex}.cat-card[data-v-9577aa02]:hover{border-color:var(--cat-card-hover-border);background:var(--cat-card-hover-bg);box-shadow:0 4px 16px var(--cat-card-hover-shadow);transform:translateY(-2px)}.cat-avatar[data-v-9577aa02]{flex-shrink:0;font-size:36px}.cat-main[data-v-9577aa02]{flex:1;min-width:0}.cat-name[data-v-9577aa02]{color:var(--text-primary);font-size:16px;font-weight:600}.cat-meta[data-v-9577aa02]{color:var(--text-secondary);margin-top:2px;font-size:13px}.cat-meta span+span[data-v-9577aa02]:before{content:" · "}.cat-diagnosis[data-v-9577aa02]{color:var(--diagnosis-text);background:var(--diagnosis-bg);border-radius:4px;margin-top:4px;padding:2px 8px;font-size:12px;display:inline-block}.cat-action .arrow[data-v-9577aa02]{color:#bbb;font-size:20px;font-weight:300}.add-cat-form[data-v-9577aa02]{background:var(--form-bg);border-radius:10px;margin-bottom:20px;padding:16px}.add-cat-form input[data-v-9577aa02],.add-cat-form textarea[data-v-9577aa02],.add-cat-form select[data-v-9577aa02]{font-family:inherit;font-size:14px;line-height:1.5}.form-grid[data-v-9577aa02]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.form-grid-2[data-v-9577aa02]{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.form-grid-3[data-v-9577aa02]{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}@media (width<=768px){.form-grid-2[data-v-9577aa02],.form-grid-3[data-v-9577aa02]{grid-template-columns:1fr}}.form-item[data-v-9577aa02]{flex-direction:column;gap:4px;display:flex}.form-item label[data-v-9577aa02]{color:var(--text-secondary);font-size:13px;font-weight:500}.spirit-options[data-v-9577aa02]{gap:6px;display:flex}.spirit-btn[data-v-9577aa02]{border:1px solid var(--spirit-btn-border);background:var(--spirit-btn-bg);cursor:pointer;color:var(--text-primary);border-radius:8px;padding:6px 12px;font-size:13px;transition:all .2s}.spirit-btn.active[data-v-9577aa02]{border-color:var(--spirit-btn-active-border);background:var(--spirit-btn-active-bg);color:var(--spirit-btn-active-text);font-weight:500}.spirit-btn[data-v-9577aa02]:hover:not(.active){border-color:var(--spirit-btn-hover-border)}.cat-detail .cat-profile[data-v-9577aa02]{margin-bottom:16px}.profile-header[data-v-9577aa02]{align-items:center;gap:16px;display:flex}.profile-info[data-v-9577aa02]{flex:1;align-items:center;gap:12px;display:flex}.profile-avatar[data-v-9577aa02]{font-size:40px}.profile-name[data-v-9577aa02]{font-size:20px;font-weight:600}.profile-meta[data-v-9577aa02]{color:var(--text-secondary);margin-top:2px;font-size:13px}.profile-meta span+span[data-v-9577aa02]:before{content:" · "}.diagnosis-tag[data-v-9577aa02]{background:var(--diagnosis-bg);border-radius:4px;padding:1px 6px;color:var(--diagnosis-text)!important}.add-record-form[data-v-9577aa02]{background:var(--form-bg);border-radius:10px;padding:16px}.add-record-form input[data-v-9577aa02],.add-record-form textarea[data-v-9577aa02],.add-record-form select[data-v-9577aa02]{font-family:inherit;font-size:14px;line-height:1.5}.add-record-form input[data-v-9577aa02]::placeholder,.add-record-form textarea[data-v-9577aa02]::placeholder{color:silver}.search-timeline[data-v-9577aa02]{margin-bottom:16px}.search-input[data-v-9577aa02]{width:100%;margin-bottom:10px;font-family:inherit;font-size:14px}.filter-row[data-v-9577aa02]{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.filter-group[data-v-9577aa02]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-label[data-v-9577aa02]{color:var(--text-secondary);flex-shrink:0;font-size:13px;font-weight:500}.filter-btn[data-v-9577aa02]{border:1px solid var(--filter-btn-border);background:var(--filter-btn-bg);cursor:pointer;white-space:nowrap;color:var(--text-primary);border-radius:16px;padding:4px 12px;font-size:12px;transition:all .2s}.filter-btn.active[data-v-9577aa02]{border-color:var(--filter-btn-active-border);background:var(--filter-btn-active-bg);color:var(--filter-btn-active-text);font-weight:500}.filter-btn[data-v-9577aa02]:hover:not(.active){border-color:var(--filter-btn-hover-border)}.date-picker-wrap[data-v-9577aa02]{display:inline-block;position:relative}.date-display[data-v-9577aa02]{cursor:pointer;border:1px solid var(--date-display-border);background:var(--date-display-bg);text-align:center;width:130px;color:var(--date-display-text);border-radius:8px;padding:5px 10px;font-family:inherit;font-size:13px}.date-display[data-v-9577aa02]::placeholder{color:#aaa}.calendar-popup[data-v-9577aa02]{z-index:100;background:var(--calendar-bg);box-shadow:0 8px 24px var(--calendar-shadow);-webkit-user-select:none;user-select:none;border-radius:12px;width:260px;margin-top:4px;padding:12px;position:absolute;top:100%;left:0}.cal-header[data-v-9577aa02]{color:var(--calendar-header-text);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;font-weight:600;display:flex}.cal-header button[data-v-9577aa02]{cursor:pointer;color:var(--calendar-nav-color);background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:16px}.cal-header button[data-v-9577aa02]:hover{background:var(--calendar-nav-hover)}.cal-weekdays[data-v-9577aa02]{text-align:center;color:var(--text-muted);grid-template-columns:repeat(7,1fr);margin-bottom:4px;font-size:12px;display:grid}.cal-days[data-v-9577aa02]{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.cal-day[data-v-9577aa02]{cursor:pointer;color:var(--calendar-day-text);border-radius:8px;padding:6px 0;font-size:13px;transition:all .15s}.cal-day[data-v-9577aa02]:hover{background:var(--calendar-day-hover)}.cal-day.active[data-v-9577aa02]{color:#fff;background:#667eea;font-weight:600}.cal-day.other[data-v-9577aa02]{color:var(--calendar-day-other)}.date-sep[data-v-9577aa02]{color:#aaa;font-size:14px}.timeline[data-v-9577aa02]{padding-left:28px;position:relative}.timeline[data-v-9577aa02]:before{content:"";background:var(--timeline-line);border-radius:1px;width:2px;position:absolute;top:0;bottom:0;left:8px}.timeline-item[data-v-9577aa02]{margin-bottom:16px;position:relative}.timeline-dot[data-v-9577aa02]{border:2px solid var(--dot-default-border);background:var(--dot-default-bg);z-index:1;border-radius:50%;width:14px;height:14px;position:absolute;top:16px;left:-24px}.timeline-dot.dot-好[data-v-9577aa02]{background:#66bb6a;border-color:#43a047}.timeline-dot.dot-一般[data-v-9577aa02]{background:#81c784;border-color:#66bb6a}.timeline-dot.dot-较差[data-v-9577aa02]{background:#ffb74d;border-color:#ffa726}.timeline-dot.dot-差[data-v-9577aa02]{background:#ef5350;border-color:#e53935}.timeline-card[data-v-9577aa02]{background:var(--timeline-card-bg);border:1px solid var(--timeline-card-border);border-radius:10px;padding:14px 16px;transition:box-shadow .2s}.timeline-card[data-v-9577aa02]:hover{box-shadow:0 4px 12px #667eea1a}.timeline-header[data-v-9577aa02]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.timeline-date[data-v-9577aa02]{color:var(--text-primary);font-size:14px;font-weight:600}.spirit-tag[data-v-9577aa02]{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500}.spirit-tag.tag-好[data-v-9577aa02]{background:var(--spirit-tag-good-bg);color:var(--spirit-tag-good-text)}.spirit-tag.tag-一般[data-v-9577aa02]{background:var(--spirit-tag-ok-bg);color:var(--spirit-tag-ok-text)}.spirit-tag.tag-较差[data-v-9577aa02]{background:var(--spirit-tag-mid-bg);color:var(--spirit-tag-mid-text)}.spirit-tag.tag-差[data-v-9577aa02]{background:var(--spirit-tag-bad-bg);color:var(--spirit-tag-bad-text)}.weight-tag[data-v-9577aa02]{background:var(--weight-tag-bg);color:var(--weight-tag-text);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500}.btn-edit[data-v-9577aa02]{color:#667eea;cursor:pointer;background:#e8eaf6;border:1px solid #667eea;border-radius:20px;padding:2px 12px;font-size:12px;transition:all .2s}.btn-edit[data-v-9577aa02]:hover{color:#fff;background:#667eea}.btn-delete[data-v-9577aa02]{color:var(--delete-btn-color);cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:14px;transition:all .2s}.btn-delete[data-v-9577aa02]:hover{color:var(--delete-btn-hover-color);background:var(--delete-btn-hover-bg)}.edit-record-form[data-v-9577aa02]{background:var(--form-bg);border-radius:8px;margin-top:8px;padding:12px 16px}.edit-record-form .form-item[data-v-9577aa02]{margin-bottom:10px}.edit-record-form .form-item label[data-v-9577aa02]{color:var(--text-secondary);margin-bottom:4px;font-size:13px;display:block}.edit-record-form input[data-v-9577aa02],.edit-record-form textarea[data-v-9577aa02]{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:6px;padding:6px 10px;font-family:inherit;font-size:13px}.edit-record-form .spirit-options[data-v-9577aa02]{flex-wrap:wrap;gap:6px;display:flex}.edit-record-form .spirit-btn[data-v-9577aa02]{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;transition:all .2s}.edit-record-form .spirit-btn.active[data-v-9577aa02],.edit-record-form .spirit-btn[data-v-9577aa02]:hover{color:#667eea;background:#e8eaf6;border-color:#667eea}.edit-actions[data-v-9577aa02]{gap:8px;margin-top:12px;display:flex}.edit-actions .btn[data-v-9577aa02]{padding:6px 16px;font-size:13px}.timeline-body[data-v-9577aa02]{flex-direction:column;gap:6px;display:flex}.record-row[data-v-9577aa02]{word-break:break-all;gap:8px;font-size:13px;line-height:1.6;display:flex}.record-label[data-v-9577aa02]{color:var(--text-secondary);flex-shrink:0;min-width:70px;font-weight:500}.record-value[data-v-9577aa02]{color:var(--text-primary);white-space:pre-line}.load-more[data-v-9577aa02]{text-align:center;margin-left:-28px;padding:16px 0 4px}.load-more .btn[data-v-9577aa02]{padding:8px 20px;font-size:13px}.modal-overlay[data-v-9577aa02]{background:var(--modal-overlay-bg);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal[data-v-9577aa02]{background:var(--modal-bg);text-align:center;border-radius:16px;min-width:320px;max-width:400px;padding:32px 28px 24px;animation:.2s ease-out modalIn-9577aa02;box-shadow:0 12px 40px #00000026}@keyframes modalIn-9577aa02{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.confirm-icon[data-v-9577aa02]{margin-bottom:12px;font-size:40px}.confirm-text[data-v-9577aa02]{color:var(--modal-text);margin-bottom:24px;font-size:15px;line-height:1.6}.confirm-actions[data-v-9577aa02]{justify-content:center;gap:12px;display:flex}.confirm-actions .btn[data-v-9577aa02]{min-width:100px}.confirm-actions .btn-danger[data-v-9577aa02]{color:#fff;cursor:pointer;background:#ef5350;border:none;border-radius:8px;padding:10px 20px;font-size:14px;transition:opacity .2s}.confirm-actions .btn-danger[data-v-9577aa02]:hover{opacity:.85}.export-btn[data-v-9577aa02]{padding:5px 14px;font-size:12px}.page-title[data-v-151c4b19]{margin-bottom:16px;font-size:24px}.upload-area[data-v-151c4b19]{text-align:center;cursor:pointer;background:#ffffff4d;border:2px dashed #ccc;border-radius:12px;padding:32px;transition:border-color .2s,background .2s}.upload-area[data-v-151c4b19]:hover{background:#667eea0d;border-color:#667eea}.photo-tips[data-v-151c4b19]{color:#e65100;background:#fff3e080;border-radius:8px;flex-wrap:wrap;gap:6px;margin-bottom:12px;padding:8px 12px;font-size:12px;display:flex}.upload-icon[data-v-151c4b19]{margin-bottom:8px;font-size:48px}.upload-text[data-v-151c4b19]{color:#555;margin-bottom:4px;font-size:15px}.upload-hint[data-v-151c4b19]{color:#aaa;font-size:12px}.preview-img[data-v-151c4b19]{border-radius:8px;max-width:100%;max-height:300px;margin-bottom:8px}.ocr-loading[data-v-151c4b19]{text-align:center;color:#667eea;margin-top:12px;padding:12px;font-size:14px}.spinner[data-v-151c4b19]{vertical-align:middle;border:2px solid #667eea;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin-right:6px;animation:.8s linear infinite spin-151c4b19;display:inline-block}@keyframes spin-151c4b19{to{transform:rotate(360deg)}}.form-section[data-v-151c4b19]{margin-bottom:16px}.section-title[data-v-151c4b19]{color:#555;border-bottom:1px solid #eee;margin-bottom:10px;padding-bottom:6px;font-size:15px;font-weight:600}.form-grid[data-v-151c4b19]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.form-item[data-v-151c4b19]{flex-direction:column;gap:4px;display:flex}.form-item label[data-v-151c4b19]{color:#555;font-size:13px;font-weight:500}.form-item input[data-v-151c4b19]::placeholder{color:#ccc;font-size:13px}.unit[data-v-151c4b19]{color:#aaa;font-weight:400}.result-card[data-v-151c4b19]{border-left:4px solid #667eea}.result-grid[data-v-151c4b19]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.indicator-item[data-v-151c4b19]{background:#fff;border:1px solid #e0e0ee;border-left:3px solid #ccc;border-radius:8px;padding:16px}.indicator-item.status-normal[data-v-151c4b19]{border-left-color:#4caf50}.indicator-item.status-low[data-v-151c4b19]{background:#fff8e18c;border-left-color:#ff9800}.indicator-item.status-high[data-v-151c4b19]{background:#fce4ec8c;border-left-color:#f44336}.indicator-header[data-v-151c4b19]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.indicator-name[data-v-151c4b19]{font-size:15px;font-weight:600}.indicator-value[data-v-151c4b19]{margin-bottom:4px;font-size:24px;font-weight:700}.indicator-value .unit[data-v-151c4b19]{font-size:13px;font-weight:400}.indicator-ref[data-v-151c4b19]{color:#888;flex-direction:column;gap:2px;font-size:12px;display:flex}.ref-lab[data-v-151c4b19]{color:#2563eb;font-weight:500}.ref-sys[data-v-151c4b19]{color:#888}.indicator-tip[data-v-151c4b19]{color:#e65100;margin-top:8px;font-size:13px;line-height:1.5}.disclaimer[data-v-151c4b19]{color:#e65100;text-align:center;background:#fff3e0;border:1px solid #e0e0ee;border-radius:8px;margin-top:16px;padding:12px;font-size:13px}.ref-table[data-v-151c4b19]{border-collapse:collapse;width:100%;font-size:14px}.ref-table th[data-v-151c4b19],.ref-table td[data-v-151c4b19]{text-align:left;border-bottom:1px solid #eee;padding:8px 12px}.ref-table th[data-v-151c4b19]{color:#555;background:#f5f7fa;font-weight:600}.ind-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ind-modal-card{text-align:center;background:#fff;border:1px solid #e0e0ee;border-radius:16px;width:340px;max-width:calc(100vw - 48px);padding:32px 28px 24px;animation:.25s indModalIn;box-shadow:0 16px 48px #1f26872e}@keyframes indModalIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ind-modal-icon{margin-bottom:12px;font-size:40px}.ind-modal-text{color:#e0e0f0;margin-bottom:20px;font-size:15px;line-height:1.6}.ind-modal-btn{min-width:100px}.admin-page[data-v-bbfd35d8]{max-width:960px;margin:0 auto}.user-table[data-v-bbfd35d8]{overflow-x:auto}.table-header[data-v-bbfd35d8],.table-row[data-v-bbfd35d8]{border-bottom:1px solid var(--admin-row-border);align-items:center;gap:8px;padding:12px 0;display:flex}.table-header[data-v-bbfd35d8]{color:var(--text-muted);border-bottom:2px solid var(--admin-row-border);font-size:13px;font-weight:600}.col-id[data-v-bbfd35d8]{text-align:center;width:40px}.col-name[data-v-bbfd35d8]{flex:1.2;min-width:80px}.col-nick[data-v-bbfd35d8]{flex:1;min-width:60px}.col-role[data-v-bbfd35d8]{flex:1;min-width:80px}.col-cats[data-v-bbfd35d8]{text-align:center;width:60px}.col-date[data-v-bbfd35d8]{width:100px}.col-action[data-v-bbfd35d8]{flex:1.5;justify-content:flex-end;gap:6px;display:flex}.tag-admin[data-v-bbfd35d8]{background:var(--admin-tag-bg);color:var(--admin-tag-text);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500}.tag-user[data-v-bbfd35d8]{background:var(--admin-user-tag-bg);color:var(--admin-user-tag-text);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500}.btn-sm[data-v-bbfd35d8]{padding:4px 10px;font-size:12px}.btn-danger[data-v-bbfd35d8]{background:var(--admin-danger-bg);color:var(--admin-danger-text)}.btn-danger[data-v-bbfd35d8]:hover{background:#ffcdd2cc}.btn-danger[data-v-bbfd35d8]:disabled,.btn-secondary[data-v-bbfd35d8]:disabled{opacity:.4;cursor:not-allowed}.admin-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal-card{text-align:center;background:#fff;border-radius:16px;width:380px;max-width:calc(100vw - 48px);padding:32px 28px 24px;animation:.25s adminModalIn;box-shadow:0 16px 48px #1f26872e}@keyframes adminModalIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-modal-icon{margin-bottom:12px;font-size:40px}.admin-modal-text{color:#333;margin-bottom:20px;font-size:15px;line-height:1.6}.admin-modal-actions{justify-content:center;gap:10px;display:flex}.page-title[data-v-57de6a43]{margin-bottom:16px;font-size:24px}.docs-card[data-v-57de6a43]{padding:24px}.upload-section[data-v-57de6a43]{margin-bottom:20px}.upload-zone[data-v-57de6a43]{border:2px dashed var(--upload-zone-border);text-align:center;cursor:pointer;background:var(--upload-zone-bg);border-radius:16px;padding:32px;transition:all .2s}.upload-zone[data-v-57de6a43]:hover,.upload-zone.drag-over[data-v-57de6a43]{background:var(--upload-zone-hover-bg);border-color:#667eea}.upload-icon[data-v-57de6a43]{margin-bottom:8px;font-size:40px}.upload-text[data-v-57de6a43]{color:var(--text-primary);margin:0 0 4px;font-size:15px}.upload-hint[data-v-57de6a43]{color:var(--text-muted);margin:0;font-size:12px}.upload-progress[data-v-57de6a43]{align-items:center;gap:10px;margin-top:10px;display:flex}.progress-bar-wrap[data-v-57de6a43]{background:#667eea1a;border-radius:4px;flex:1;height:8px;overflow:hidden}.progress-bar[data-v-57de6a43]{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s}.progress-text[data-v-57de6a43]{color:var(--quick-btn-text);text-align:right;min-width:36px;font-size:13px;font-weight:500}.spinner[data-v-57de6a43]{vertical-align:middle;border:2px solid #667eea4d;border-top-color:#667eea;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin-57de6a43;display:inline-block}@keyframes spin-57de6a43{to{transform:rotate(360deg)}}.upload-msg[data-v-57de6a43]{text-align:center;border-radius:10px;margin-top:10px;padding:8px 16px;font-size:13px}.upload-msg.success[data-v-57de6a43]{color:#38a169;background:#48bb781a}.upload-msg.error[data-v-57de6a43]{color:#e53e3e;background:#f565651a}.files-header[data-v-57de6a43]{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.files-header-right[data-v-57de6a43]{align-items:center;gap:10px;display:flex}.file-search[data-v-57de6a43]{background:var(--input-bg);width:180px;height:32px;color:var(--text-primary);box-sizing:border-box;border:1px solid #667eea33;border-radius:20px;outline:none;padding:6px 12px;font-size:13px;transition:border-color .2s}.file-search[data-v-57de6a43]:focus{border-color:var(--input-focus)}.count[data-v-57de6a43]{color:var(--text-secondary);font-size:13px}.rebuild-btn[data-v-57de6a43]{border-radius:20px;height:32px;padding:6px 14px;font-size:13px;position:relative;overflow:hidden}.btn-outline[data-v-57de6a43]{color:#667eea;background:0 0;border:1px solid #667eea80;font-weight:500}.btn-outline[data-v-57de6a43]:hover:not(:disabled){background:#667eea14}.btn-outline[data-v-57de6a43]:disabled{opacity:.5;cursor:not-allowed}.file-grid[data-v-57de6a43]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.file-card[data-v-57de6a43]{background:var(--file-card-bg);border:1px solid var(--file-card-border);border-radius:14px;transition:all .2s;overflow:hidden}.file-card[data-v-57de6a43]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #667eea1a}.file-card-header[data-v-57de6a43]{background:var(--file-card-header-bg);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.file-type-badge[data-v-57de6a43]{color:var(--quick-btn-text);background:#667eea14;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.file-uploader[data-v-57de6a43]{color:var(--text-muted);font-size:11px}.file-card-body[data-v-57de6a43]{flex-direction:column;align-items:center;gap:6px;padding:18px 14px;display:flex}.file-card-icon[data-v-57de6a43]{font-size:36px}.file-card-name[data-v-57de6a43]{color:var(--text-primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:13px;font-weight:500;overflow:hidden}.file-card-meta[data-v-57de6a43]{color:var(--text-muted);gap:12px;font-size:11px;display:flex}.file-card-actions[data-v-57de6a43]{border-top:1px solid var(--border-subtler);gap:0;display:flex}.action-btn[data-v-57de6a43]{color:var(--quick-btn-text);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:2px;padding:8px 4px;font-size:11px;text-decoration:none;transition:background .15s;display:inline-flex}.action-btn[data-v-57de6a43]:hover{background:#667eea0d}.view-btn[data-v-57de6a43]:hover{color:#48bb78}.download-btn[data-v-57de6a43]:hover{color:#4299e1}.delete-btn[data-v-57de6a43]{color:#fc8181;border-left:1px solid var(--border-subtler)}.delete-btn[data-v-57de6a43]:hover{color:#e53e3e;background:#f5656514}.history-btn[data-v-57de6a43]:hover{color:#667eea}.version-list[data-v-57de6a43]{flex:1;padding:16px 20px;overflow-y:auto}.version-item[data-v-57de6a43]{border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 12px;transition:background .15s;display:flex}.version-item[data-v-57de6a43]:hover{background:#667eea0d}.version-info[data-v-57de6a43]{flex-direction:column;gap:2px;min-width:0;display:flex}.version-name[data-v-57de6a43]{color:var(--text-primary);word-break:break-all;font-size:13px;font-weight:500}.version-meta[data-v-57de6a43]{color:var(--text-muted);font-size:11px}.version-panel-overlay[data-v-57de6a43]{z-index:1000;background:#0000004d;justify-content:flex-end;display:flex;position:fixed;inset:0}.version-panel[data-v-57de6a43]{background:var(--preview-modal-bg);flex-direction:column;width:520px;max-width:90vw;height:100vh;animation:.25s slideInRight-57de6a43;display:flex;box-shadow:-4px 0 24px #0000001f}@keyframes slideInRight-57de6a43{0%{transform:translate(100%)}to{transform:translate(0)}}.version-panel-header[data-v-57de6a43]{border-bottom:1px solid var(--border-subtler);justify-content:space-between;align-items:center;padding:18px 24px;font-size:16px;font-weight:600;display:flex}.version-panel-body[data-v-57de6a43]{flex:1;padding:16px 20px;overflow-y:auto}.vp-file-group[data-v-57de6a43]{border-radius:10px;margin-bottom:4px;overflow:hidden}.vp-file-header[data-v-57de6a43]{cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;transition:background .15s;display:flex}.vp-file-header[data-v-57de6a43]:hover{background:#667eea0d}.vp-file-name[data-v-57de6a43]{color:var(--text-primary);word-break:break-all;flex:1;font-size:13px;font-weight:500}.vp-file-badge[data-v-57de6a43]{color:var(--text-muted);white-space:nowrap;background:#0000000a;border-radius:10px;padding:2px 8px;font-size:11px}.vp-file-badge.has-versions[data-v-57de6a43]{color:#667eea;background:#667eea1a}.vp-arrow[data-v-57de6a43]{color:var(--text-muted);font-size:12px}.vp-versions[data-v-57de6a43]{padding:4px 14px 14px}.vp-current[data-v-57de6a43]{background:#48bb780f;border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;display:flex}.vp-version-label[data-v-57de6a43]{color:#48bb78;white-space:nowrap;font-size:12px;font-weight:500}.vp-version-item[data-v-57de6a43]{border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:8px 12px;transition:background .15s;display:flex}.vp-version-item[data-v-57de6a43]:hover{background:#667eea0a}.vp-version-info[data-v-57de6a43]{flex-direction:column;gap:2px;min-width:0;display:flex}.vp-version-name[data-v-57de6a43]{color:var(--text-primary);word-break:break-all;font-size:12px}.empty-state[data-v-57de6a43]{text-align:center;color:var(--empty-color);padding:60px 20px}.empty-icon[data-v-57de6a43]{margin-bottom:12px;font-size:48px}.loading-state[data-v-57de6a43]{text-align:center;color:var(--text-secondary);padding:40px}.preview-overlay[data-v-57de6a43]{background:var(--modal-overlay-bg);z-index:999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preview-modal[data-v-57de6a43]{background:var(--preview-modal-bg);border:1px solid #e0e0ee;border-radius:16px;flex-direction:column;width:85vw;max-width:900px;height:80vh;display:flex;box-shadow:0 20px 60px #0003}.preview-header[data-v-57de6a43]{border-bottom:1px solid var(--preview-header-border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.preview-title[data-v-57de6a43]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-size:14px;font-weight:600;overflow:hidden}.preview-close[data-v-57de6a43]{background:var(--preview-close-bg);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.preview-close[data-v-57de6a43]:hover{color:#fff;background:#e53e3e}.preview-frame[data-v-57de6a43]{border:none;flex:1;width:100%}.preview-fallback[data-v-57de6a43]{color:var(--text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.preview-loading[data-v-57de6a43]{color:var(--quick-btn-text);flex:1;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.modal-overlay[data-v-57de6a43]{background:var(--modal-overlay-bg);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal[data-v-57de6a43]{background:var(--modal-bg);text-align:center;border:1px solid #e0e0ee;border-radius:16px;min-width:300px;padding:32px;box-shadow:0 20px 60px #00000026}.confirm-icon[data-v-57de6a43]{margin-bottom:12px;font-size:40px}.confirm-text[data-v-57de6a43]{color:#444;margin-bottom:24px;font-size:15px;line-height:1.6}.confirm-actions[data-v-57de6a43]{justify-content:center;gap:12px;display:flex}.btn-danger[data-v-57de6a43]{color:#fff;cursor:pointer;background:#ef5350;border:none;border-radius:8px;padding:8px 24px;font-size:14px;transition:opacity .2s}.btn-danger[data-v-57de6a43]:hover{opacity:.85}.docs-toast{color:#fff;z-index:2000;pointer-events:none;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;padding:12px 28px;font-size:15px;font-weight:500;position:fixed;top:32px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #667eea4d}.toast-enter-active,.toast-leave-active{transition:all .3s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%)translateY(-16px)}@media (width<=768px){.preview-modal{border-radius:12px;width:95vw;height:90vh}.preview-header{padding:10px 14px}.preview-title{max-width:60%;font-size:13px}.file-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.file-card-body{padding:14px 10px}.file-card-icon{font-size:28px}.files-header{flex-direction:column;align-items:flex-start;gap:8px}.files-header-right{width:100%}.file-search{flex:1;width:auto}.upload-zone{padding:24px 16px}}.guide-page[data-v-974ba48c]{max-width:860px;margin:0 auto}.guide-hero[data-v-974ba48c]{color:#fff;box-shadow:0 8px 32px var(--card-shadow);background:#667eea;border-radius:16px;margin-bottom:20px;padding:34px 28px}.guide-hero h1[data-v-974ba48c]{margin:0 0 8px;font-size:26px}.guide-hero p[data-v-974ba48c]{opacity:.94;margin:0;font-size:15px;line-height:1.6}.guide-hero .hero-warn[data-v-974ba48c]{opacity:.85;margin-top:10px;font-size:13px}.locator-card[data-v-974ba48c]{margin-bottom:24px}.locator-head[data-v-974ba48c]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.locator-badge[data-v-974ba48c]{color:#667eea;background:#e8eaf6;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.locator-head h2[data-v-974ba48c]{color:var(--text-primary);margin:0;font-size:16px}.locator-q[data-v-974ba48c]{margin-bottom:14px}.locator-q-title[data-v-974ba48c]{color:var(--text-primary);margin:0 0 8px;font-size:14px;font-weight:600}.locator-options[data-v-974ba48c]{flex-wrap:wrap;gap:8px;display:flex}.loc-opt[data-v-974ba48c]{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);cursor:pointer;border-radius:20px;padding:8px 16px;font-size:13px;transition:all .2s}.loc-opt[data-v-974ba48c]:hover{border-color:var(--input-focus)}.loc-opt.active[data-v-974ba48c]{color:#667eea;background:#e8eaf6;border-color:#667eea;font-weight:600}.locator-result[data-v-974ba48c]{color:var(--text-primary);background:#e8eaf6;border:1px solid #c5cae9;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:14px 16px;font-size:14px;display:flex}.locator-go[data-v-974ba48c]{padding:6px 14px;font-size:13px}.timeline[data-v-974ba48c]{position:relative}.timeline[data-v-974ba48c]:before{content:"";background:var(--timeline-line);border-radius:2px;width:3px;position:absolute;top:8px;bottom:8px;left:21px}.stage-row[data-v-974ba48c]{gap:18px;margin-bottom:20px;scroll-margin-top:72px;display:flex;position:relative}.stage-dot[data-v-974ba48c]{background:var(--dot-default-bg);border:3px solid var(--dot-default-border);color:#667eea;z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;transition:all .2s;display:flex}.stage-dot.hl[data-v-974ba48c]{color:#fff;background:#667eea;border-color:#667eea}.stage-card[data-v-974ba48c]{flex:1;margin-bottom:0;transition:box-shadow .25s,border-color .25s}.stage-card.highlight[data-v-974ba48c]{border-color:#667eea;box-shadow:0 8px 32px #667eea2e}.stage-badge[data-v-974ba48c]{color:#fff;background:#667eea;border-radius:10px;margin-bottom:10px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.stage-head[data-v-974ba48c]{align-items:center;gap:12px;margin-bottom:12px;display:flex}.stage-icon[data-v-974ba48c]{font-size:24px;line-height:1}.stage-title[data-v-974ba48c]{color:var(--text-primary);margin:0;font-size:18px}.stage-subtitle[data-v-974ba48c]{color:var(--text-secondary);margin:2px 0 0;font-size:13px}.point-list[data-v-974ba48c]{margin:0;padding:0;list-style:none}.point-list li[data-v-974ba48c]{color:var(--text-primary);margin-bottom:10px;padding-left:20px;font-size:14px;line-height:1.7;position:relative}.point-list li[data-v-974ba48c]:before{content:"";background:#667eea;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;left:2px}.ask-box[data-v-974ba48c]{background:var(--sub-card-bg);border:1px solid var(--sub-card-border);border-radius:12px;margin:14px 0;padding:14px 16px}.ask-title[data-v-974ba48c]{color:#667eea;margin:0 0 8px;font-size:13px;font-weight:600}.ask-list[data-v-974ba48c]{margin:0;padding:0;list-style:none}.ask-list li[data-v-974ba48c]{color:var(--text-secondary);margin-bottom:6px;padding-left:22px;font-size:13px;line-height:1.6;position:relative}.ask-list li[data-v-974ba48c]:before{content:"?";color:#ff9800;font-size:14px;font-weight:700;position:absolute;top:0;left:2px}.stage-actions[data-v-974ba48c]{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.stage-source[data-v-974ba48c]{color:var(--text-secondary);opacity:.75;margin-top:12px;font-size:12px}.guide-foot[data-v-974ba48c]{background:var(--sub-card-bg);border:1px solid var(--sub-card-border);border-radius:12px;margin-top:24px;padding:16px 20px}.guide-foot p[data-v-974ba48c]{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.fade-enter-active[data-v-974ba48c],.fade-leave-active[data-v-974ba48c]{transition:opacity .25s}.fade-enter-from[data-v-974ba48c],.fade-leave-to[data-v-974ba48c]{opacity:0}@media (width<=600px){.guide-hero[data-v-974ba48c]{padding:26px 18px}.guide-hero h1[data-v-974ba48c]{font-size:22px}.stage-dot[data-v-974ba48c]{width:36px;height:36px;font-size:14px}.timeline[data-v-974ba48c]:before{left:17px}.stage-row[data-v-974ba48c]{gap:12px}}@media (prefers-reduced-motion:reduce){.fade-enter-active[data-v-974ba48c],.fade-leave-active[data-v-974ba48c],.stage-card[data-v-974ba48c],.stage-dot[data-v-974ba48c],.loc-opt[data-v-974ba48c]{transition:none}}.feedback-page[data-v-e506a15f]{max-width:640px;margin:0 auto;padding:32px 20px 64px}.page-title[data-v-e506a15f]{letter-spacing:-.02em;color:var(--text-primary);text-wrap:balance;margin-bottom:32px;font-size:1.5rem;font-weight:700}.form-card[data-v-e506a15f]{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 8px 32px var(--card-shadow);border-radius:12px;margin-bottom:48px;padding:24px}.form-field[data-v-e506a15f]{margin-bottom:20px}.form-field[data-v-e506a15f]:last-of-type{margin-bottom:24px}.form-label[data-v-e506a15f]{color:var(--text-secondary);margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.required[data-v-e506a15f]{color:#d32f2f}.form-input[data-v-e506a15f]{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:10px 14px;font-size:.9375rem;transition:border-color .15s ease-out,box-shadow .15s ease-out}.form-input[data-v-e506a15f]::placeholder{color:var(--text-muted)}.form-input[data-v-e506a15f]:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #667eea1f}.form-input[data-v-e506a15f]:focus-visible{outline:2px solid var(--input-focus);outline-offset:1px}.form-textarea[data-v-e506a15f]{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);resize:vertical;border-radius:8px;outline:none;min-height:100px;padding:10px 14px;font-family:inherit;font-size:.9375rem;line-height:1.6;transition:border-color .15s ease-out,box-shadow .15s ease-out}.form-textarea[data-v-e506a15f]::placeholder{color:var(--text-muted)}.form-textarea[data-v-e506a15f]:focus{border-color:var(--input-focus);box-shadow:0 0 0 3px #667eea1f}.form-textarea[data-v-e506a15f]:focus-visible{outline:2px solid var(--input-focus);outline-offset:1px}.char-count[data-v-e506a15f]{text-align:right;color:var(--text-muted);margin-top:4px;font-size:.75rem;transition:color .15s}.char-near-limit[data-v-e506a15f]{color:#e65100}.btn-submit[data-v-e506a15f]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:12px;font-size:.9375rem;font-weight:600;transition:opacity .15s ease-out,transform .1s ease-out;display:inline-flex}.btn-submit[data-v-e506a15f]:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-submit[data-v-e506a15f]:active:not(:disabled){opacity:.85;transform:translateY(0)}.btn-submit[data-v-e506a15f]:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-submit[data-v-e506a15f]:focus-visible{outline:2px solid var(--input-focus);outline-offset:2px}.submit-spinner[data-v-e506a15f]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin-e506a15f}@keyframes spin-e506a15f{to{transform:rotate(360deg)}}.list-section[data-v-e506a15f]{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 8px 32px var(--card-shadow);border-radius:12px;padding:24px}.list-header[data-v-e506a15f]{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:baseline;margin-bottom:20px;padding-bottom:16px;display:flex}.section-title[data-v-e506a15f]{color:var(--text-primary);text-wrap:balance;margin:0;font-size:1rem;font-weight:600}.list-meta[data-v-e506a15f]{align-items:center;gap:12px;display:flex}.total-count[data-v-e506a15f]{color:var(--text-muted);font-size:.8125rem;font-weight:400}.auto-refresh-hint[data-v-e506a15f]{color:var(--text-muted);opacity:.6;font-size:.6875rem;font-weight:400}.feedback-list[data-v-e506a15f]{flex-direction:column;display:flex}.feedback-item[data-v-e506a15f]{border-bottom:1px solid var(--border-subtle);padding:16px 0}.feedback-item[data-v-e506a15f]:first-child{padding-top:0}.feedback-item[data-v-e506a15f]:last-child{border-bottom:none;padding-bottom:0}.feedback-item.item-new[data-v-e506a15f]{background:#667eea0a;border-radius:8px;margin:0 -12px;padding-left:12px;padding-right:12px;animation:.4s cubic-bezier(.22,1,.36,1) itemSlideIn-e506a15f}@keyframes itemSlideIn-e506a15f{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.item-header[data-v-e506a15f]{align-items:center;gap:8px;margin-bottom:6px;display:flex}.item-nickname[data-v-e506a15f]{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.875rem;font-weight:600;overflow:hidden}.item-time[data-v-e506a15f]{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.btn-delete[data-v-e506a15f]{color:var(--delete-btn-color);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-width:44px;min-height:44px;margin-left:auto;padding:6px 12px;font-size:.8125rem;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.btn-delete[data-v-e506a15f]:hover{color:var(--delete-btn-hover-color);background:var(--delete-btn-hover-bg);border-color:#d32f2f26}.btn-delete[data-v-e506a15f]:focus-visible{outline:2px solid var(--input-focus);outline-offset:1px}.item-content[data-v-e506a15f]{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;max-width:65ch;font-size:.9375rem;line-height:1.65}.item-contact[data-v-e506a15f]{color:var(--text-secondary);letter-spacing:.03em;margin-top:6px;font-size:.8125rem}.empty-state[data-v-e506a15f]{text-align:center;color:var(--text-muted);padding:48px 16px;font-size:.9375rem}.empty-icon[data-v-e506a15f]{margin-bottom:8px;font-size:2.5rem;line-height:1}.show-more-wrap[data-v-e506a15f]{text-align:center;border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:16px}.btn-show-more[data-v-e506a15f]{background:var(--btn-secondary-bg);border:1px solid var(--filter-btn-border);cursor:pointer;color:var(--btn-secondary-text);border-radius:8px;padding:8px 24px;font-size:.875rem;transition:background .15s,border-color .15s}.btn-show-more[data-v-e506a15f]:hover{background:var(--btn-secondary-hover);border-color:var(--filter-btn-hover-border)}.btn-show-more[data-v-e506a15f]:focus-visible{outline:2px solid var(--input-focus);outline-offset:1px}.modal-overlay[data-v-e506a15f]{background:var(--modal-overlay-bg);z-index:1000;justify-content:center;align-items:center;animation:.15s ease-out fadeIn-e506a15f;display:flex;position:fixed;inset:0}.modal-card[data-v-e506a15f]{background:var(--modal-card-bg);text-align:center;border-radius:12px;min-width:280px;max-width:360px;padding:24px;animation:.2s cubic-bezier(.22,1,.36,1) scaleIn-e506a15f;box-shadow:0 8px 32px #0000002e}.modal-title[data-v-e506a15f]{color:var(--modal-value-color);margin-bottom:8px;font-size:1rem;font-weight:600}.modal-message[data-v-e506a15f]{color:var(--modal-label-color);margin-bottom:20px;font-size:.875rem;line-height:1.55}.modal-actions[data-v-e506a15f]{justify-content:center;gap:8px;display:flex}.modal-btn[data-v-e506a15f]{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:8px 20px;font-size:.875rem;font-weight:500;transition:background .15s ease-out,opacity .15s;display:inline-flex}.modal-btn[data-v-e506a15f]:hover{opacity:.85}.modal-btn[data-v-e506a15f]:active{opacity:.7}.modal-btn[data-v-e506a15f]:focus-visible{outline:2px solid var(--input-focus);outline-offset:2px}.modal-btn-cancel[data-v-e506a15f]{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.modal-btn-confirm[data-v-e506a15f]{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.modal-btn-danger[data-v-e506a15f]{color:#fff;background:#d32f2f}.toast[data-v-e506a15f]{color:#fff;z-index:1100;pointer-events:none;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;padding:10px 24px;font-size:.875rem;font-weight:500;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #667eea4d}.toast-enter-active[data-v-e506a15f]{transition:opacity .2s ease-out,transform .2s ease-out}.toast-leave-active[data-v-e506a15f]{transition:opacity .15s ease-in,transform .15s ease-in}.toast-enter-from[data-v-e506a15f]{opacity:0;transform:translate(-50%)translateY(8px)}.toast-leave-to[data-v-e506a15f]{opacity:0;transform:translate(-50%)translateY(-4px)}@keyframes fadeIn-e506a15f{0%{opacity:0}to{opacity:1}}@keyframes scaleIn-e506a15f{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.feedback-item.item-new[data-v-e506a15f],.modal-overlay[data-v-e506a15f],.modal-card[data-v-e506a15f]{animation:none}.submit-spinner[data-v-e506a15f]{border-color:#fff9;animation:none}.toast-enter-active[data-v-e506a15f],.toast-leave-active[data-v-e506a15f]{transition:none}}@media (width<=480px){.feedback-page[data-v-e506a15f]{padding:20px 16px 48px}.form-card[data-v-e506a15f],.list-section[data-v-e506a15f]{border-radius:8px;padding:16px}.list-header[data-v-e506a15f]{flex-direction:column;align-items:flex-start;gap:4px}.item-header[data-v-e506a15f]{flex-wrap:wrap}.btn-delete[data-v-e506a15f]{margin-top:4px;margin-left:0}.item-nickname[data-v-e506a15f]{max-width:120px}.toast[data-v-e506a15f]{text-align:center;left:16px;right:16px;transform:none}.toast-enter-from[data-v-e506a15f]{transform:translateY(8px)}.toast-leave-to[data-v-e506a15f]{transform:translateY(-4px)}}.logs-page[data-v-af2ea9b6]{max-width:1100px;margin:0 auto}.toolbar[data-v-af2ea9b6]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.log-select[data-v-af2ea9b6]{color:#333;cursor:pointer;background:#fff;border:1px solid #667eea40;border-radius:8px;outline:none;padding:6px 10px;font-size:13px}.log-select[data-v-af2ea9b6]:focus{border-color:#667eea80}.log-select-sm[data-v-af2ea9b6]{width:auto;min-width:110px}.log-search[data-v-af2ea9b6]{border:1px solid #667eea40;border-radius:8px;outline:none;flex:1;min-width:160px;padding:6px 12px;font-size:13px}.log-search[data-v-af2ea9b6]:focus{border-color:#667eea80}.log-container[data-v-af2ea9b6]{border:1px solid #00000014;border-radius:10px;overflow:hidden}.log-meta[data-v-af2ea9b6]{color:#888;background:#667eea0a;border-bottom:1px solid #0000000f;padding:8px 14px;font-size:12px}.filter-hint[data-v-af2ea9b6]{color:#667eea}.log-lines[data-v-af2ea9b6]{background:#1e1e2e;max-height:65vh;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:12.5px;line-height:1.7;overflow-y:auto}.log-line[data-v-af2ea9b6]{border-bottom:1px solid #ffffff08;padding:1px 14px}.line-text[data-v-af2ea9b6]{color:#cdd6f4;white-space:pre-wrap;word-break:break-all}.line-error[data-v-af2ea9b6]{background:#f38ba81f}.line-error .line-text[data-v-af2ea9b6]{color:#f38ba8}.line-warning[data-v-af2ea9b6]{background:#f9e2af1a}.line-warning .line-text[data-v-af2ea9b6]{color:#f9e2af}.log-empty[data-v-af2ea9b6]{text-align:center;color:#666;padding:40px;font-family:inherit;font-size:14px}.btn-outline[data-v-af2ea9b6]{color:var(--quick-btn-text,#667eea);cursor:pointer;background:0 0;border:1px solid #667eea4d;border-radius:8px;padding:6px 14px;font-size:13px}.btn-outline[data-v-af2ea9b6]:hover{background:#667eea14}
