.fullscreen-loading[data-v-985db6bf]{position:fixed;inset:0;z-index:4000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:color-mix(in srgb,var(--app-bg) 92%,transparent);color:var(--text-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.fullscreen-loading__spinner[data-v-985db6bf]{width:42px;height:42px;border-radius:999px;border:3px solid rgba(18,60,115,.16);border-top-color:var(--color-accent);animation:spin-985db6bf .8s linear infinite}@keyframes spin-985db6bf{to{transform:rotate(360deg)}}.route-container[data-v-4cb8003b]{min-height:120px}.route-container__error[data-v-4cb8003b]{padding:24px;display:flex;flex-direction:column;gap:12px}.route-container__actions[data-v-4cb8003b]{display:flex;flex-wrap:wrap;gap:10px}.route-container__loading[data-v-4cb8003b]{padding:32px 12px;color:var(--text-secondary);font-size:14px}.app-header[data-v-b196dbd3]{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;margin:16px 24px 0;padding:0 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header__left[data-v-b196dbd3],.app-header__right[data-v-b196dbd3],.app-header__user[data-v-b196dbd3]{display:flex;align-items:center}.app-header__left[data-v-b196dbd3]{gap:14px}.app-header__right[data-v-b196dbd3]{gap:16px}.app-header__titles[data-v-b196dbd3]{display:flex;flex-direction:column;gap:4px}.app-header__caption[data-v-b196dbd3]{color:var(--text-secondary);font-size:13px}.app-header__menu-button[data-v-b196dbd3],.app-header__theme-trigger[data-v-b196dbd3],.app-header__user-action[data-v-b196dbd3]{border:1px solid var(--border-color);background:var(--panel-bg-secondary);color:var(--text-primary);border-radius:14px}.app-header__menu-button[data-v-b196dbd3]{width:42px;height:42px;font-size:20px}.app-header__theme-trigger[data-v-b196dbd3]{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;cursor:pointer}.app-header__user[data-v-b196dbd3]{gap:10px}.app-header__user-name[data-v-b196dbd3]{display:flex;flex-direction:column;align-items:flex-end}.app-header__user-name strong[data-v-b196dbd3]{font-size:14px}.app-header__user-name span[data-v-b196dbd3]{max-width:320px;color:var(--text-secondary);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header__user-action[data-v-b196dbd3]{width:42px;height:42px;cursor:pointer;font-size:18px}@media(max-width:1024px){.app-header[data-v-b196dbd3]{margin:12px 16px 0;padding:0 14px}.app-header__user-name span[data-v-b196dbd3],.app-header__theme-trigger span[data-v-b196dbd3]{display:none}}.app-sidebar[data-v-e3db20a2]{height:100vh;display:flex;flex-direction:column;padding:18px 14px 18px 18px;background:linear-gradient(180deg,rgba(18,60,115,.08),transparent 20%),linear-gradient(180deg,var(--panel-bg-secondary),var(--panel-bg));border-right:1px solid var(--border-color)}.app-sidebar__brand[data-v-e3db20a2]{display:flex;align-items:center;gap:14px;padding:12px 10px 18px;cursor:pointer;flex-shrink:0}.app-sidebar__logo[data-v-e3db20a2]{width:42px;height:42px;border-radius:12px;overflow:hidden;background:#123c7314;display:grid;place-items:center;flex-shrink:0}.app-sidebar__logo img[data-v-e3db20a2]{width:100%;height:100%;object-fit:cover}.app-sidebar__logo--fallback[data-v-e3db20a2]{color:var(--brand-primary);font-weight:700;font-size:18px}.app-sidebar__brand-copy[data-v-e3db20a2]{display:flex;flex-direction:column;gap:2px;min-width:0}.app-sidebar__brand-copy strong[data-v-e3db20a2]{font-size:15px;line-height:1.3}.app-sidebar__brand-copy span[data-v-e3db20a2]{color:var(--text-secondary);font-size:12px}.app-sidebar__menu-wrap[data-v-e3db20a2]{flex:1;min-height:0}.app-sidebar__menu[data-v-e3db20a2]{border-right:none;background:transparent}.app-sidebar__menu[data-v-e3db20a2] .el-menu-item,.app-sidebar__menu[data-v-e3db20a2] .el-sub-menu__title{border-radius:12px;margin:2px 0;height:44px;line-height:44px}.app-sidebar__menu[data-v-e3db20a2] .el-menu-item.is-active{background:#123c731f;color:var(--brand-primary);font-weight:600}.app-sidebar__menu[data-v-e3db20a2] .el-sub-menu.is-active>.el-sub-menu__title{color:var(--brand-primary)}.app-sidebar__menu[data-v-e3db20a2] .el-menu-item span,.app-sidebar__menu[data-v-e3db20a2] .el-sub-menu__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar__menu[data-v-e3db20a2] .el-sub-menu .el-menu-item{padding-left:48px!important}.app-sidebar__menu[data-v-e3db20a2] svg{margin-right:10px;font-size:18px}.app-version-badge[data-v-c4feca74]{position:fixed;right:16px;bottom:16px;z-index:40;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 12px;border-radius:999px;border:1px solid var(--border-color);background:color-mix(in srgb,var(--panel-bg) 92%,transparent);color:var(--text-secondary);box-shadow:var(--page-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;font-size:12px;line-height:1;transition:color .15s ease,border-color .15s ease,background .15s ease}.app-version-badge[data-v-c4feca74]:hover,.app-version-badge[data-v-c4feca74]:focus-visible{color:var(--text-primary);border-color:#123c7347;outline:none}.app-version-badge__version[data-v-c4feca74]{font-weight:600;color:inherit}.app-version-badge__commit[data-v-c4feca74]{font-family:JetBrains Mono,Consolas,monospace;opacity:.85}@media(max-width:768px){.app-version-badge[data-v-c4feca74]{right:12px;bottom:12px;padding:6px 10px}.app-version-badge__commit[data-v-c4feca74]{display:none}}@media(prefers-reduced-motion:reduce){.app-version-badge[data-v-c4feca74]{transition:none}}.layout-shell[data-v-0b8e9efa]{display:flex;min-height:100vh;background:transparent}.layout-shell__sidebar[data-v-0b8e9efa]{width:var(--sidebar-width);transition:width .2s ease;position:sticky;top:0;height:100vh;flex-shrink:0;z-index:20}.layout-shell__sidebar.collapsed[data-v-0b8e9efa]{width:var(--sidebar-collapsed-width)}.layout-shell__main[data-v-0b8e9efa]{flex:1;min-width:0;display:flex;flex-direction:column}.layout-shell__content[data-v-0b8e9efa]{flex:1;padding:var(--page-padding);overflow-x:hidden}.layout-shell__content-inner[data-v-0b8e9efa]{width:100%;max-width:var(--content-max-width, 1440px);margin:0 auto}.layout-shell__error[data-v-0b8e9efa]{padding:24px;display:flex;flex-direction:column;gap:12px}.layout-shell__error-actions[data-v-0b8e9efa]{display:flex;flex-wrap:wrap;gap:10px}.layout-shell__loading[data-v-0b8e9efa]{padding:32px 12px;color:var(--text-secondary);font-size:14px}.layout-shell__drawer[data-v-0b8e9efa] .el-drawer{background:var(--panel-bg)}@media(max-width:1024px){.layout-shell__sidebar[data-v-0b8e9efa]{display:none}.layout-shell__content[data-v-0b8e9efa]{padding:16px}}@media(max-width:768px){.layout-shell__content[data-v-0b8e9efa]{padding:12px}}@media(prefers-reduced-motion:reduce){.layout-shell__sidebar[data-v-0b8e9efa]{transition:none}}:root{--color-primary: #123c73;--color-primary-dark: #062a63;--color-sport-blue: #0b3b8f;--color-hero-blue: #1158c7;--color-accent: #f28c28;--color-accent-hero: #ff6a00;--color-accent-deep: #d96a12;--color-bg: #f7f8fa;--color-card: #ffffff;--color-charity: #ffe8d2;--color-text: #151c25;--color-text-secondary: #667085;--color-text-muted: #98a2b3;--color-success: #15803d;--color-danger: #b42318;--color-info: #5b738a;--color-border: #eaecf0;--brand-primary: var(--color-primary);--app-bg: var(--color-bg);--panel-bg: var(--color-card);--panel-bg-secondary: #eef2f6;--qingfeng-primary: #14b8a6;--text-primary: var(--color-text);--text-secondary: var(--color-text-secondary);--border-color: #eaecf0;--danger: var(--color-danger);--warning: var(--color-accent);--success: var(--color-success);--info: var(--color-info);--page-shadow: 0 6px 20px rgba(18, 60, 115, .06);--header-height: 72px;--sidebar-width: 268px;--sidebar-collapsed-width: 84px;--content-max-width: 1440px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--page-gap: 24px;--page-padding: 32px;color-scheme:light;--el-color-primary: var(--color-accent);--el-color-primary-light-3: #f5a654;--el-color-primary-light-5: #f8c08a;--el-color-primary-light-7: #fad6b3;--el-color-primary-light-8: #fce6d0;--el-color-primary-light-9: #fdf3e8;--el-color-primary-dark-2: var(--color-accent-deep);--el-color-success: var(--color-success);--el-color-warning: var(--color-accent);--el-color-danger: var(--color-danger);--el-color-info: var(--color-info)}:root[data-theme=dark]{--app-bg: #0e1520;--panel-bg: #162033;--panel-bg-secondary: #121a28;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--border-color: rgba(255, 255, 255, .08);--page-shadow: 0 6px 20px rgba(0, 0, 0, .28);--color-card: #162033;--color-text: #f3f4f6;--color-text-secondary: #9ca3af;color-scheme:dark}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}html,body{background:var(--app-bg);color:var(--text-primary);font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}#app{color:var(--text-primary)}.app-card{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--page-shadow)}.page-shell{display:flex;flex-direction:column;gap:var(--page-gap)}.page-title{margin:0;font-size:28px;font-weight:700;letter-spacing:.01em;color:var(--text-primary)}.page-subtitle{margin:6px 0 0;color:var(--text-secondary);font-size:14px}.status-dot{display:inline-flex;width:8px;height:8px;border-radius:999px}.status-dot--success{background:var(--success)}.status-dot--warning{background:var(--warning)}.status-dot--danger{background:var(--danger)}.el-overlay-dialog{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.el-menu{border-right:none!important}.el-menu-item.is-active{background:#123c731f!important;color:var(--color-primary)!important}.el-sub-menu__title:hover,.el-menu-item:hover{background:#123c730f!important}:root[data-theme=dark] .el-sub-menu__title:hover,:root[data-theme=dark] .el-menu-item:hover{background:#ffffff0f!important}.el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger):not(.el-button--info):not(.is-link):not(.is-text){--el-button-text-color: var(--color-primary);--el-button-border-color: var(--color-primary);--el-button-bg-color: var(--color-card);--el-button-hover-text-color: var(--color-primary);--el-button-hover-border-color: var(--color-primary);--el-button-hover-bg-color: rgba(18, 60, 115, .06);--el-button-active-text-color: var(--color-primary-dark);--el-button-active-border-color: var(--color-primary-dark)}@media(max-width:900px){.page-title{font-size:24px}:root{--page-padding: 24px}}
