.portal-header[data-v-01d5e0a4]{position:sticky;top:0;left:0;width:100%;z-index:1000;background:var(--portal-header-bg, rgba(255, 255, 255, .85));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--portal-border, rgba(226, 232, 240, .8));transition:all .3s cubic-bezier(.4,0,.2,1)}.portal-header.is-scrolled[data-v-01d5e0a4]{box-shadow:0 4px 20px -2px #0000000f;background:var(--portal-header-bg-scrolled, rgba(255, 255, 255, .95))}html.dark .portal-header[data-v-01d5e0a4]{--portal-header-bg: rgba(15, 23, 42, .85);--portal-header-bg-scrolled: rgba(15, 23, 42, .95);--portal-border: rgba(51, 65, 85, .8)}.portal-header-inner[data-v-01d5e0a4]{max-width:1280px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-link[data-v-01d5e0a4]{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;flex-shrink:0}.logo-box[data-v-01d5e0a4]{width:42px;height:42px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;padding:2px;box-shadow:0 2px 10px #0284c726;border:1px solid rgba(2,132,199,.2)}html.dark .logo-box[data-v-01d5e0a4]{background:#1e293b;border-color:#38bdf84d}.brand-logo[data-v-01d5e0a4]{width:100%;height:100%;object-fit:contain;border-radius:8px}.brand-text[data-v-01d5e0a4]{display:flex;flex-direction:column}.brand-title[data-v-01d5e0a4]{font-size:18px;font-weight:700;letter-spacing:.5px;color:var(--portal-text-title, #0f172a);line-height:1.2}html.dark .brand-title[data-v-01d5e0a4]{color:#f8fafc}.brand-sub[data-v-01d5e0a4]{font-size:10px;font-weight:600;letter-spacing:1.5px;color:#0284c7}.brand-badge[data-v-01d5e0a4]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;background:#0284c71a;color:#0284c7;border:1px solid rgba(2,132,199,.2)}@media(max-width:640px){.brand-badge[data-v-01d5e0a4]{display:none}}.desktop-nav[data-v-01d5e0a4]{display:flex;align-items:center;gap:8px}@media(max-width:900px){.desktop-nav[data-v-01d5e0a4]{display:none}}.nav-link[data-v-01d5e0a4]{position:relative;padding:8px 16px;font-size:15px;font-weight:500;color:var(--portal-text-nav, #475569);text-decoration:none;border-radius:8px;transition:all .2s ease}html.dark .nav-link[data-v-01d5e0a4]{color:#cbd5e1}.nav-link[data-v-01d5e0a4]:hover{color:#0284c7;background:#0284c70f}.nav-link.active[data-v-01d5e0a4]{color:#0284c7;font-weight:600}.link-indicator[data-v-01d5e0a4]{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:#0284c7;border-radius:2px;transition:width .2s ease}.nav-link.active .link-indicator[data-v-01d5e0a4],.nav-link:hover .link-indicator[data-v-01d5e0a4]{width:24px}.header-actions[data-v-01d5e0a4]{display:flex;align-items:center;gap:12px}.btn-trial[data-v-01d5e0a4]{display:inline-flex;align-items:center;padding:8px 16px;font-size:14px;font-weight:500;color:#0284c7;background:#0284c714;border:1px solid rgba(2,132,199,.2);border-radius:8px;text-decoration:none;transition:all .2s ease}.btn-trial[data-v-01d5e0a4]:hover{background:#0284c726;border-color:#0284c766;transform:translateY(-1px)}@media(max-width:640px){.btn-trial[data-v-01d5e0a4]{display:none}}.btn-admin[data-v-01d5e0a4]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:8px;cursor:pointer;box-shadow:0 4px 12px #0284c740;transition:all .2s ease}.btn-admin[data-v-01d5e0a4]:hover{opacity:.92;box-shadow:0 6px 16px #0284c759;transform:translateY(-1px)}.mobile-toggle[data-v-01d5e0a4]{display:none;background:none;border:none;font-size:20px;color:var(--portal-text-title, #0f172a);cursor:pointer;padding:6px;border-radius:6px}html.dark .mobile-toggle[data-v-01d5e0a4]{color:#f8fafc}@media(max-width:900px){.mobile-toggle[data-v-01d5e0a4]{display:flex;align-items:center;justify-content:center}}.mobile-drawer[data-v-01d5e0a4]{position:absolute;top:72px;left:0;width:100%;background:var(--portal-header-bg, #ffffff);border-bottom:1px solid var(--portal-border, #e2e8f0);box-shadow:0 10px 25px -5px #0000001a;padding:16px 24px 24px}html.dark .mobile-drawer[data-v-01d5e0a4]{background:#0f172a;border-color:#334155}.mobile-nav-list[data-v-01d5e0a4]{display:flex;flex-direction:column;gap:4px}.mobile-nav-item[data-v-01d5e0a4]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:16px;font-weight:500;color:var(--portal-text-title, #1e293b);text-decoration:none;border-radius:8px;transition:background .2s}html.dark .mobile-nav-item[data-v-01d5e0a4]{color:#e2e8f0}.mobile-nav-item[data-v-01d5e0a4]:hover,.mobile-nav-item.active[data-v-01d5e0a4]{background:#0284c714;color:#0284c7}.mobile-nav-item .arrow[data-v-01d5e0a4]{font-size:12px;opacity:.6}.mobile-drawer-footer[data-v-01d5e0a4]{margin-top:16px;padding-top:16px;border-top:1px solid var(--portal-border, #e2e8f0);display:flex;flex-direction:column;gap:10px}.mobile-admin-btn[data-v-01d5e0a4],.mobile-trial-btn[data-v-01d5e0a4]{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}.mobile-admin-btn[data-v-01d5e0a4]{background:#0284c7;color:#fff;border:none}.mobile-trial-btn[data-v-01d5e0a4]{background:#0284c714;color:#0284c7;border:1px solid rgba(2,132,199,.2)}.drawer-enter-active[data-v-01d5e0a4],.drawer-leave-active[data-v-01d5e0a4]{transition:all .25s ease-out}.drawer-enter-from[data-v-01d5e0a4],.drawer-leave-to[data-v-01d5e0a4]{opacity:0;transform:translateY(-8px)}.portal-footer[data-v-bb35b876]{background:var(--footer-bg, #0b1329);color:#94a3b8;font-size:14px;border-top:1px solid var(--footer-border, #1e293b);position:relative;z-index:10}.footer-ribbon[data-v-bb35b876]{background:linear-gradient(90deg,#0369a1,#0284c7,#0ea5e9);color:#fff;padding:16px 24px}.ribbon-inner[data-v-bb35b876]{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:16px}.ribbon-item[data-v-bb35b876]{display:flex;align-items:center;gap:12px}.ribbon-icon[data-v-bb35b876]{font-size:24px;color:#bae6fd}.ribbon-text[data-v-bb35b876]{display:flex;flex-direction:column}.ribbon-text strong[data-v-bb35b876]{font-size:14px;font-weight:600;letter-spacing:.3px}.ribbon-text span[data-v-bb35b876]{font-size:12px;opacity:.9}.ribbon-divider[data-v-bb35b876]{width:1px;height:32px;background:#fff3}@media(max-width:768px){.ribbon-divider[data-v-bb35b876]{display:none}.ribbon-inner[data-v-bb35b876]{justify-content:flex-start}}.footer-main[data-v-bb35b876]{max-width:1280px;margin:0 auto;padding:56px 24px 28px}.footer-grid[data-v-bb35b876]{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.5fr;gap:40px;margin-bottom:40px}@media(max-width:1024px){.footer-grid[data-v-bb35b876]{grid-template-columns:1fr 1fr;gap:32px}}@media(max-width:640px){.footer-grid[data-v-bb35b876]{grid-template-columns:1fr;gap:28px}}.footer-brand[data-v-bb35b876]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.footer-logo-box[data-v-bb35b876]{width:40px;height:40px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;padding:2px;border:1px solid rgba(2,132,199,.2);box-shadow:0 2px 8px #0000000d}html.dark .footer-logo-box[data-v-bb35b876]{background:#1e293b;border-color:#38bdf84d}.footer-logo[data-v-bb35b876]{width:100%;height:100%;object-fit:contain;border-radius:8px}.footer-qr-card[data-v-bb35b876]{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;background:var(--portal-surface, #f8fafc);border:1px solid var(--portal-border, #e2e8f0);transition:all .3s ease}.footer-qr-card[data-v-bb35b876]:hover{border-color:#0284c7;transform:translateY(-2px);box-shadow:0 4px 16px #0284c71f}html.dark .footer-qr-card[data-v-bb35b876]{background:#1e293b99;border-color:#334155}.qr-img-wrapper[data-v-bb35b876]{width:80px;height:80px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#fff;padding:4px;border:1px solid rgba(226,232,240,.8)}.footer-qr-img[data-v-bb35b876]{width:100%;height:100%;object-fit:contain}.qr-info[data-v-bb35b876]{display:flex;flex-direction:column;gap:4px}.qr-tag[data-v-bb35b876]{display:inline-block;font-size:11px;font-weight:600;color:#0284c7;background:#0284c71a;padding:2px 6px;border-radius:4px;width:fit-content}.qr-desc[data-v-bb35b876]{font-size:12px;color:var(--portal-text-muted, #64748b);line-height:1.4;margin:0}.footer-brand-title[data-v-bb35b876]{color:#f8fafc;font-size:16px;font-weight:700;margin:0}.footer-brand-en[data-v-bb35b876]{color:#0284c7;font-size:11px;font-weight:500;margin:2px 0 0}.brand-desc[data-v-bb35b876]{font-size:13px;line-height:1.7;color:#94a3b8;margin-bottom:20px}.contact-chips[data-v-bb35b876]{display:flex;flex-direction:column;gap:8px}.contact-chip[data-v-bb35b876]{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#cbd5e1}.contact-chip .anticon[data-v-bb35b876]{color:#0284c7;margin-top:3px}.col-title[data-v-bb35b876]{color:#f1f5f9;font-size:15px;font-weight:600;margin:0 0 18px;padding-bottom:8px;border-bottom:2px solid rgba(2,132,199,.4);display:inline-block}.footer-links[data-v-bb35b876]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.footer-links a[data-v-bb35b876]{color:#94a3b8;text-decoration:none;font-size:13px;transition:color .2s,transform .2s;display:inline-flex;align-items:center}.footer-links a[data-v-bb35b876]:hover{color:#38bdf8;transform:translate(3px)}.ext-link[data-v-bb35b876]{display:flex;align-items:center;gap:6px;color:#cbd5e1!important}.link-icon[data-v-bb35b876]{font-size:11px;color:#0284c7}.geo-citation-bar[data-v-bb35b876]{background:#0f172a99;border:1px solid rgba(51,65,85,.8);border-radius:10px;padding:16px 20px;margin-bottom:32px}.geo-citation-title[data-v-bb35b876]{display:flex;align-items:center;gap:8px;color:#38bdf8;font-size:13px;font-weight:600;margin-bottom:6px}.geo-citation-desc[data-v-bb35b876]{font-size:12px;line-height:1.6;color:#94a3b8;margin:0}.geo-link[data-v-bb35b876]{color:#38bdf8;text-decoration:underline;text-underline-offset:3px}.footer-bottom[data-v-bb35b876]{padding-top:24px;border-top:1px solid rgba(51,65,85,.6);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:12px;color:#64748b}.bottom-left[data-v-bb35b876],.bottom-right[data-v-bb35b876]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.bottom-right a[data-v-bb35b876]{color:#94a3b8;text-decoration:none;transition:color .2s}.bottom-right a[data-v-bb35b876]:hover{color:#38bdf8}.admin-entry-link[data-v-bb35b876]{color:#0284c7!important;font-weight:500}.dot-sep[data-v-bb35b876]{opacity:.5}:root{--portal-bg: #f8fafc;--portal-card-bg: #ffffff;--portal-card-border: #e2e8f0;--portal-card-hover-border: #38bdf8;--portal-text-main: #0f172a;--portal-text-muted: #475569;--portal-text-sub: #64748b;--portal-primary: #0284c7;--portal-primary-hover: #0369a1;--portal-primary-glow: rgba(2, 132, 199, .15);--portal-accent: #0ea5e9;--portal-emerald: #10b981;--portal-header-bg: rgba(255, 255, 255, .85);--portal-header-bg-scrolled: rgba(255, 255, 255, .95);--portal-border: rgba(226, 232, 240, .8);--footer-bg: #0b1329;--footer-border: #1e293b}html.dark{--portal-bg: #090e1a;--portal-card-bg: #0f172a;--portal-card-border: #1e293b;--portal-card-hover-border: #0ea5e9;--portal-text-main: #f8fafc;--portal-text-muted: #cbd5e1;--portal-text-sub: #94a3b8;--portal-primary: #38bdf8;--portal-primary-hover: #0284c7;--portal-primary-glow: rgba(56, 189, 248, .2);--portal-accent: #38bdf8;--portal-emerald: #34d399;--portal-header-bg: rgba(15, 23, 42, .85);--portal-header-bg-scrolled: rgba(15, 23, 42, .95);--portal-border: rgba(51, 65, 85, .8);--footer-bg: #060a14;--footer-border: #1e293b}.portal-page-container{min-height:100vh;display:flex;flex-direction:column;background-color:var(--portal-bg);color:var(--portal-text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}.portal-content{flex:1}.portal-section{padding:80px 24px;position:relative}.portal-section-inner{max-width:1280px;margin:0 auto}@media(max-width:768px){.portal-section{padding:50px 16px}}.section-header-center{text-align:center;max-width:800px;margin:0 auto 56px}.section-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:9999px;font-size:13px;font-weight:600;background:#0284c71a;color:var(--portal-primary);border:1px solid rgba(2,132,199,.25);margin-bottom:16px}.section-title{font-size:36px;font-weight:800;color:var(--portal-text-main);line-height:1.3;margin:0 0 16px;letter-spacing:-.5px}@media(max-width:768px){.section-title{font-size:26px}}.section-subtitle{font-size:16px;line-height:1.7;color:var(--portal-text-muted);margin:0}.btn-primary-gradient{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;box-shadow:0 4px 14px #0284c759;cursor:pointer;text-decoration:none;transition:all .25s ease}.btn-primary-gradient:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0284c773;opacity:.95}.btn-secondary-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:15px;font-weight:600;color:var(--portal-primary);background:#0284c70d;border:1px solid rgba(2,132,199,.3);cursor:pointer;text-decoration:none;transition:all .25s ease}.btn-secondary-outline:hover{background:#0284c71f;border-color:var(--portal-primary);transform:translateY(-2px)}.portal-card{background:var(--portal-card-bg);border:1px solid var(--portal-card-border);border-radius:16px;padding:28px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.portal-card:hover{border-color:var(--portal-card-hover-border);box-shadow:0 16px 32px -8px #0284c726;transform:translateY(-4px)}.medical-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px;background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.25)}.btn-return-portal[data-v-e432951c]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;color:var(--portal-primary, #0284c7);background:#0284c714;border:1px solid rgba(2,132,199,.2);border-radius:6px;text-decoration:none;font-weight:500;transition:all .2s}.btn-return-portal[data-v-e432951c]:hover{background:#0284c726}:root{--fd-sidebar-width: 224px;--fd-sidebar-collapsed-width: 72px;--fd-bg-base: #f4f8fa;--fd-bg-surface: #ffffff;--fd-bg-elevated: #f7fafb;--fd-bg-hover: #edf5f5;--fd-bg-input: #ffffff;--fd-bg-selected: rgba(11, 143, 134, .1);--fd-text-primary: #102a32;--fd-text-secondary: #48616a;--fd-text-muted: #71878e;--fd-border: #d6e2e5;--fd-divider: #e6eef0;--fd-accent: #0b8f86;--fd-accent-strong: #08756f;--fd-info: #176b9a;--fd-success: #23855b;--fd-warning: #b76b13;--fd-danger: #c33c47;--fd-shadow-sm: 0 1px 2px rgba(16, 42, 50, .04), 0 8px 24px rgba(27, 72, 81, .06);--fd-shadow-lg: 0 24px 60px rgba(25, 67, 76, .14);--fd-glass: rgba(255, 255, 255, .82);--fd-radius-sm: 8px;--fd-radius-md: 12px;--fd-radius-lg: 18px;--fd-space-1: 4px;--fd-space-2: 8px;--fd-space-3: 12px;--fd-space-4: 16px;--fd-transition-fast: .12s ease;--fd-transition-base: .18s ease;--fd-transition-medium: .25s ease;--fd-card-width: min(360px, calc(50% - 24px) );--el-color-primary: var(--fd-accent);--el-color-success: var(--fd-success);--el-color-warning: var(--fd-warning);--el-color-danger: var(--fd-danger);--el-border-radius-base: 10px;--el-bg-color-page: var(--fd-bg-base);--el-bg-color: var(--fd-bg-surface);--el-fill-color-blank: var(--fd-bg-surface);--el-text-color-primary: var(--fd-text-primary);--el-text-color-regular: var(--fd-text-secondary);--el-border-color: var(--fd-border);--el-border-color-light: var(--fd-divider)}html.dark{--fd-bg-base: #071316;--fd-bg-surface: #0d1d21;--fd-bg-elevated: #13272c;--fd-bg-hover: #183137;--fd-bg-input: #102328;--fd-bg-selected: rgba(52, 211, 193, .13);--fd-text-primary: #edf8f7;--fd-text-secondary: #abc2c4;--fd-text-muted: #779295;--fd-border: #244047;--fd-divider: #193239;--fd-accent: #34d3c1;--fd-accent-strong: #6be6d7;--fd-info: #5db5e6;--fd-success: #50c88e;--fd-warning: #f0ad55;--fd-danger: #ff7781;--fd-shadow-sm: 0 1px 2px rgba(0, 0, 0, .2), 0 10px 28px rgba(0, 0, 0, .2);--fd-shadow-lg: 0 26px 64px rgba(0, 0, 0, .34);--fd-glass: rgba(13, 29, 33, .84)}*{box-sizing:border-box}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--fd-text-muted) 34%,transparent);border-radius:99px}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--fd-text-muted) 54%,transparent)}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--fd-text-muted) 34%,transparent) transparent}body{margin:0;background:var(--fd-bg-base);color:var(--fd-text-primary);font-family:Inter,SF Pro Display,Segoe UI,HarmonyOS Sans,Microsoft YaHei,PingFang SC,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid color-mix(in srgb,var(--fd-accent) 36%,transparent);outline-offset:2px}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:var(--fd-sidebar-width) minmax(0,1fr);height:100vh;transition:grid-template-columns .18s ease}.shell.sidebar-collapsed{grid-template-columns:var(--fd-sidebar-collapsed-width) minmax(0,1fr)}.shell.action-shell{display:block}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--fd-border);background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--fd-accent) 10%,transparent),transparent 32%),var(--fd-bg-surface);overflow:hidden;-webkit-user-select:none;user-select:none}.brand{display:flex;align-items:center;gap:var(--fd-space-2);padding:var(--fd-space-2) var(--fd-space-3);border-bottom:1px solid var(--fd-divider);min-height:72px}.brand-logo{width:36px;height:36px;flex-shrink:0;border-radius:var(--fd-radius-sm)}.brand-meta{display:grid;gap:1px;max-width:100%;overflow:hidden}.brand strong{font-size:16px;font-weight:700;white-space:nowrap;line-height:1.2;color:var(--fd-text-primary)}.brand span{color:var(--fd-text-muted);font-size:10px;letter-spacing:.08em;white-space:nowrap;line-height:1.2}.brand-version{color:var(--fd-accent);font-size:9px;line-height:1.2;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-collapsed .brand{justify-content:center;padding:var(--fd-space-2) var(--fd-space-1)}.sidebar nav{display:flex;flex-direction:column;gap:2px;padding:var(--fd-space-2) var(--fd-space-2);flex:1 1 auto;overflow-y:auto;overflow-x:hidden}.sidebar nav a{display:flex;align-items:center;height:42px;padding:0 var(--fd-space-2);border-radius:var(--fd-radius-md);color:var(--fd-text-secondary);font-size:13px;white-space:nowrap;transition:color var(--fd-transition-fast),background var(--fd-transition-fast);position:relative;gap:8px}.sidebar nav a:hover{color:var(--fd-text-primary);background:var(--fd-bg-hover)}.sidebar nav a.router-link-active{color:var(--fd-accent);background:var(--fd-bg-selected);font-weight:500}.sidebar nav a.router-link-active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 6px 6px 0;background:var(--fd-accent)}.sidebar-collapsed .sidebar nav a{justify-content:center;padding:0 var(--fd-space-1)}.sidebar-collapsed .sidebar nav a .nav-icon{margin:0}.sidebar-collapsed .sidebar-footer a .nav-icon{margin:0}.sidebar-collapsed .sidebar nav a.router-link-active:before{left:0;top:8px;bottom:8px}.sidebar-footer{display:flex;flex-direction:column;gap:2px;padding:var(--fd-space-2);border-top:1px solid var(--fd-divider);flex-shrink:0}.sidebar-footer a{display:flex;align-items:center;height:42px;padding:0 var(--fd-space-2);border-radius:var(--fd-radius-md);color:var(--fd-text-secondary);font-size:13px;white-space:nowrap;transition:color var(--fd-transition-fast),background var(--fd-transition-fast);gap:8px}.sidebar-footer a:hover{color:var(--fd-text-primary);background:var(--fd-bg-hover)}.sidebar-collapsed .sidebar-footer a{justify-content:center;padding:0 var(--fd-space-1);text-align:center}.sidebar-footer a.router-link-active{color:var(--fd-accent);background:var(--fd-bg-selected)}.collapse-toggle{display:flex;align-items:center;gap:var(--fd-space-1);width:100%;height:40px;padding:0 var(--fd-space-2);border:none;border-radius:var(--fd-radius-md);background:transparent;color:var(--fd-text-muted);font-size:12px;font-family:inherit;cursor:pointer;transition:color var(--fd-transition-fast),background var(--fd-transition-fast)}.collapse-toggle:hover{color:var(--fd-text-primary);background:var(--fd-bg-hover)}.sidebar-collapsed .collapse-toggle{justify-content:center;padding:0 var(--fd-space-1)}.collapse-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:16px;line-height:1;transition:transform var(--fd-transition-base)}.collapse-icon.collapsed{transform:rotate(180deg)}.collapse-text{font-size:12px}.app-main{min-width:0;min-height:100vh;overflow:hidden}.app-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:10px 24px;border-bottom:1px solid var(--fd-divider);background:var(--fd-glass);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}.app-header-title{display:grid;gap:2px}.app-header-title span{color:var(--fd-accent);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.app-header-title strong{color:var(--fd-text-primary);font-size:18px;letter-spacing:-.01em}.app-header-actions,.user-chip,.theme-toggle,.system-health{display:flex;align-items:center}.app-header-actions{gap:10px}.system-health{gap:6px;color:var(--fd-success);font-size:12px}.theme-toggle{gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--fd-border);border-radius:999px;background:var(--fd-bg-surface);color:var(--fd-text-secondary);cursor:pointer;box-shadow:var(--fd-shadow-sm);transition:transform var(--fd-transition-base),border-color var(--fd-transition-base),color var(--fd-transition-base)}.theme-toggle:hover{border-color:var(--fd-accent);color:var(--fd-accent);transform:translateY(-1px)}.user-chip{gap:9px;min-width:132px;padding-left:10px;border-left:1px solid var(--fd-divider)}.user-chip>span{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:linear-gradient(145deg,var(--fd-accent),var(--fd-info));color:#fff;font-weight:700;box-shadow:0 7px 18px color-mix(in srgb,var(--fd-accent) 24%,transparent)}.user-chip div{display:grid}.user-chip strong{max-width:100px;overflow:hidden;color:var(--fd-text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.user-chip small{color:var(--fd-text-muted);font-size:10px}.workspace{min-width:0;height:calc(100vh - 72px);overflow:auto;background:var(--fd-bg-base)}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 16% 12%,color-mix(in srgb,var(--fd-accent) 13%,transparent),transparent 34%),radial-gradient(circle at 88% 86%,color-mix(in srgb,var(--fd-info) 12%,transparent),transparent 32%),var(--fd-bg-base)}.login-panel,.panel,.work-panel{border:1px solid var(--fd-border);background:var(--fd-bg-surface);border-radius:var(--fd-radius-lg);box-shadow:var(--fd-shadow-sm)}.login-panel{width:min(420px,100%);padding:32px}.login-panel .el-button{width:100%}.auth-mode-switch{width:100%;margin:14px 0 18px}.captcha-row{display:flex;align-items:flex-start;gap:10px;width:100%}.captcha-row .el-input{flex:1}.login-panel h1,.panel h2,.work-panel h2{margin:0 0 12px;font-size:16px}.login-panel h1{color:var(--fd-text-primary);font-size:26px;letter-spacing:-.02em}.panel{margin:20px;padding:20px}.map-workbench{position:relative;height:100vh;overflow:hidden;background:var(--fd-bg-base)}.work-panel{min-height:0;overflow:auto;padding:16px}.floating-panel{position:absolute;z-index:4;top:12px;max-height:calc(100% - 24px);background:var(--fd-glass);box-shadow:var(--fd-shadow-lg);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);border-radius:var(--fd-radius-lg)}.list-panel{left:12px;width:var(--fd-card-width);display:flex;flex-direction:column}.list-panel.is-collapsed .panel-body{display:none}.list-panel.is-collapsed .panel-header{margin-bottom:0}.form-panel{right:12px;width:var(--fd-card-width);display:flex;flex-direction:column}.form-panel.is-collapsed .form-body,.form-panel.is-collapsed .actions{display:none}.form-panel.is-collapsed .panel-header{margin-bottom:0}.panel-header{display:flex;align-items:center;justify-content:space-between;height:36px;margin-bottom:12px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.panel-header h2{margin:0;font-size:15px;line-height:36px}.header-title-wrap{display:flex;align-items:center;gap:8px;min-width:0}.header-title-wrap h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.header-actions{display:flex;align-items:center;gap:4px}.collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:0;background:transparent;color:var(--fd-text-muted);cursor:pointer;transition:color var(--fd-transition-fast),background var(--fd-transition-fast);font-size:14px}.collapse-btn:hover{color:var(--fd-text-primary);background:var(--fd-bg-hover)}.collapse-btn .collapse-arrow{display:inline-block;transition:transform var(--fd-transition-base)}.is-collapsed .collapse-btn .collapse-arrow{transform:rotate(-90deg)}.form-panel .form-body,.list-panel .panel-body{flex:1 1 auto;overflow-y:auto;min-height:0}.form-panel .actions{flex-shrink:0;padding-top:8px;border-top:1px solid var(--fd-divider);margin-top:8px}.center-list{display:grid;gap:6px;margin-top:10px}.center-row,.poi-results button{display:grid;width:100%;gap:4px;padding:9px;text-align:left;color:var(--fd-text-primary);border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-bg-elevated);cursor:pointer}.center-row span,.center-row em{color:var(--fd-text-secondary);font-style:normal}.center-row-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.center-row-top{display:flex;align-items:flex-start;gap:10px;width:100%}.center-list-thumb{width:46px;height:46px;border-radius:4px;flex-shrink:0;cursor:zoom-in;background:var(--fd-bg-base);border:1px solid var(--fd-border)}.center-list-thumb img{width:100%;height:100%;object-fit:cover;border-radius:4px}.center-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.badge-ownership,.badge-level{display:inline-block;font-size:11px;padding:1px 5px;border-radius:4px;font-weight:500;line-height:1.3}.badge-ownership{background:color-mix(in srgb,var(--fd-primary) 15%,transparent);color:var(--fd-primary)}.badge-level{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#d97706}.center-row-meta{font-size:12px;color:var(--fd-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cover-uploader-box{display:flex;flex-direction:column;gap:8px;width:100%}.cover-preview-wrapper{position:relative;width:100%;height:140px;border-radius:var(--fd-radius-sm);overflow:hidden;border:1px solid var(--fd-border);background:var(--fd-bg-base)}.cover-preview-wrapper .cover-preview-img,.cover-preview-wrapper :deep(.cover-preview-img){width:100%;height:100%;cursor:zoom-in}.cover-preview-wrapper .cover-preview-img img,.cover-preview-wrapper :deep(.cover-preview-img img){width:100%;height:100%;object-fit:cover;display:block}.cover-badge{position:absolute;bottom:6px;left:6px;font-size:11px;padding:2px 8px;border-radius:4px;background:#000000a6;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2}.cover-badge.is-custom{background:var(--fd-primary);color:#fff}.cover-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.map-panel{position:absolute;inset:0;overflow:hidden;border:0}.tencent-map{position:absolute;inset:0;z-index:0;background:var(--fd-bg-elevated)}.map-surface{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--fd-text-muted) 12%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--fd-text-muted) 12%,transparent) 1px,transparent 1px),var(--fd-bg-elevated);background-size:42px 42px}.map-status-overlay{position:absolute;z-index:2;top:50%;left:50%;display:grid;width:min(420px,calc(100% - 40px));gap:8px;padding:16px;color:var(--fd-text-primary);text-align:center;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--fd-accent) 42%,var(--fd-border));border-radius:var(--fd-radius-lg);background:var(--fd-glass);box-shadow:var(--fd-shadow-lg);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}.map-status-overlay strong{font-size:16px}.map-status-overlay span{color:var(--fd-text-secondary);line-height:1.6}.marker{position:absolute;z-index:2;transform:translate(-50%,-50%);color:var(--fd-bg-surface);border:0;border-radius:50%;background:var(--fd-accent);width:48px;height:48px;cursor:pointer}.filter-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;margin-bottom:10px}.filter-submit{justify-self:end}.map-provider{position:absolute;right:8px;bottom:8px;padding:6px 8px;color:var(--fd-text-secondary);border:1px solid var(--fd-border);border-radius:var(--fd-radius-sm);background:var(--fd-glass)}.poi-results{display:grid;gap:6px;margin-top:8px;max-height:180px;overflow:auto}.poi-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.filter-bar,.poi-search{--el-text-color-primary: var(--fd-text-primary);--el-text-color-regular: var(--fd-text-secondary);--el-text-color-placeholder: var(--fd-text-muted);--el-fill-color-blank: var(--fd-bg-input);--el-fill-color-light: var(--fd-bg-elevated);--el-border-color: var(--fd-border);--el-border-color-light: var(--fd-divider)}.filter-bar :deep(.el-input__wrapper),.filter-bar :deep(.el-select__wrapper),.poi-search :deep(.el-input__wrapper){background:var(--fd-bg-input);border:1px solid var(--fd-border);box-shadow:none}.filter-bar :deep(.el-input__wrapper.is-focus),.filter-bar :deep(.el-select__wrapper.is-focused),.poi-search :deep(.el-input__wrapper.is-focus){border-color:var(--fd-accent)}.filter-bar :deep(.el-input__inner),.filter-bar :deep(.el-select__selected-item),.poi-search :deep(.el-input__inner){color:var(--fd-text-primary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-panel{--el-text-color-primary: var(--fd-text-primary);--el-text-color-regular: var(--fd-text-secondary);--el-text-color-secondary: var(--fd-text-secondary);--el-fill-color-blank: var(--fd-bg-input);--el-fill-color-light: var(--fd-bg-elevated);--el-border-color: var(--fd-border);--el-border-color-light: var(--fd-divider)}.form-panel :deep(.el-form-item__label){color:var(--fd-text-primary);font-weight:600}.form-panel :deep(.el-input__wrapper),.form-panel :deep(.el-textarea__inner),.form-panel :deep(.el-input-number .el-input__wrapper),.form-panel :deep(.el-select__wrapper){background:var(--fd-bg-input);border:1px solid var(--fd-border);box-shadow:none}.form-panel :deep(.el-input__wrapper.is-focus),.form-panel :deep(.el-textarea__inner:focus),.form-panel :deep(.el-select__wrapper.is-focused){border-color:var(--fd-accent)}.form-panel :deep(.el-input__inner),.form-panel :deep(.el-textarea__inner),.form-panel :deep(.el-select__selected-item),.form-panel :deep(.el-input-number__increase),.form-panel :deep(.el-input-number__decrease){color:var(--fd-text-primary)}.form-panel :deep(.el-input__inner::placeholder),.form-panel :deep(.el-textarea__inner::placeholder){color:var(--fd-text-muted)}.actions{display:flex;flex-wrap:wrap;gap:8px}.tag{margin:2px}@media(max-width:1100px){:root{--fd-card-width: 100%}.map-workbench{min-height:100vh;overflow:auto;padding:12px}.map-panel{position:relative;min-height:520px;border:1px solid var(--fd-border)}.filter-bar{grid-template-columns:1fr}.floating-panel{position:relative;top:auto;left:auto;right:auto;width:100%;max-height:none;margin-top:12px}}@media(max-width:900px){:root{--fd-sidebar-width: 72px}.brand{justify-content:center;padding-inline:8px}.brand-meta,.sidebar nav a span,.sidebar-footer a span,.collapse-text{display:none}.sidebar nav a,.sidebar-footer a,.collapse-toggle{justify-content:center;padding-inline:8px}.app-header{padding-inline:16px}.system-health,.user-chip div{display:none}.user-chip{min-width:auto;border-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
