.main-layout[data-v-9bffd317]{height:100vh;overflow:hidden}.sidebar[data-v-9bffd317]{background:var(--color-bg-sidebar);box-shadow:2px 0 8px #0000000a;z-index:100;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--color-border);position:relative;transition:width var(--transition-base)}.logo[data-v-9bffd317]{height:80px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-sidebar);border-bottom:1px solid var(--color-border);transition:all var(--transition-base)}.logo[data-v-9bffd317]:hover{background:var(--color-bg-hover)}.logo-icon[data-v-9bffd317]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);overflow:hidden;transition:transform var(--transition-base)}.logo-img[data-v-9bffd317]{width:100%;height:100%;object-fit:cover}.logo:hover .logo-icon[data-v-9bffd317]{transform:scale(1.05)}.logo-text[data-v-9bffd317]{color:var(--color-text-primary);margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.sidebar-menu[data-v-9bffd317]{border-right:none;background:transparent;padding:var(--spacing-md)}.sidebar-menu[data-v-9bffd317] .el-menu-item{height:48px;line-height:48px;margin-bottom:var(--spacing-sm);border-radius:var(--radius-sm);color:var(--color-text-secondary);transition:all var(--transition-base);background:transparent}.sidebar-menu[data-v-9bffd317] .el-menu-item:hover{background:var(--color-bg-tertiary)!important;color:var(--color-text-primary)}.sidebar-menu[data-v-9bffd317] .el-menu-item.is-active{background:var(--color-bg-tertiary)!important;color:var(--color-primary);font-weight:var(--font-weight-semibold);position:relative}.sidebar-menu[data-v-9bffd317] .el-menu-item.is-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;background:var(--color-primary);border-radius:0 4px 4px 0}.collapse-trigger[data-v-9bffd317]{position:absolute;bottom:0;left:0;right:0;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:transparent;transition:all var(--transition-base)}.collapse-trigger[data-v-9bffd317]:hover{background:var(--color-bg-hover)}.collapse-line[data-v-9bffd317]{position:absolute;top:50%;left:16px;right:16px;height:1px;background:var(--color-border);transition:all var(--transition-base)}.collapse-trigger:hover .collapse-line[data-v-9bffd317]{background:var(--color-border-dark)}.collapse-arrow[data-v-9bffd317]{position:relative;z-index:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-sidebar);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-secondary);transition:all var(--transition-base);box-shadow:0 2px 4px #0000000d}.collapse-trigger:hover .collapse-arrow[data-v-9bffd317]{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:scale(1.1);box-shadow:0 4px 8px #00b89440}.collapse-arrow.is-collapsed[data-v-9bffd317]{transform:rotate(180deg)}.collapse-arrow.is-collapsed[data-v-9bffd317]:hover{transform:rotate(180deg) scale(1.1)}.sidebar-collapsed .logo[data-v-9bffd317]{padding:var(--spacing-sm);gap:0}.sidebar-collapsed .logo-icon[data-v-9bffd317]{width:40px;height:40px;font-size:24px}.sidebar-collapsed .sidebar-menu[data-v-9bffd317]{padding:var(--spacing-xs)}.sidebar-collapsed .menu-icon[data-v-9bffd317]{margin-right:0}.sidebar-collapsed .sidebar-menu[data-v-9bffd317] .el-menu-item{justify-content:center;padding:0!important}.sidebar-collapsed .sidebar-menu[data-v-9bffd317] .el-menu-item.is-active:before{width:3px;height:20px}.sidebar-collapsed .collapse-line[data-v-9bffd317]{left:8px;right:8px}.menu-icon[data-v-9bffd317]{font-size:20px;margin-right:var(--spacing-sm);transition:transform var(--transition-base)}.sidebar-menu[data-v-9bffd317] .el-menu-item:hover .menu-icon,.sidebar-menu[data-v-9bffd317] .el-menu-item.is-active .menu-icon{transform:scale(1.05)}.menu-title[data-v-9bffd317]{font-weight:var(--font-weight-medium);font-size:var(--font-size-base)}.main-container[data-v-9bffd317]{background:var(--color-bg-primary)}.header[data-v-9bffd317]{background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);box-shadow:0 2px 4px #0000000a;display:flex;align-items:center;padding:0 var(--spacing-xl);z-index:90}.header-content[data-v-9bffd317]{width:100%;display:flex;justify-content:space-between;align-items:center}.header-left[data-v-9bffd317]{flex:1}.header-right[data-v-9bffd317]{display:flex;align-items:center;gap:var(--spacing-lg)}.breadcrumb[data-v-9bffd317]{font-size:var(--font-size-base)}.breadcrumb[data-v-9bffd317] .el-breadcrumb__item{display:flex;align-items:center;gap:var(--spacing-xs)}.breadcrumb[data-v-9bffd317] .el-breadcrumb__inner{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.breadcrumb[data-v-9bffd317] .el-breadcrumb__inner:hover{color:var(--color-primary)}.breadcrumb[data-v-9bffd317] .el-breadcrumb__item:last-child .el-breadcrumb__inner{color:var(--color-text-primary)}.status-badge[data-v-9bffd317]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-full);transition:all var(--transition-base);border:1px solid var(--color-border)}.status-badge[data-v-9bffd317]:hover{box-shadow:var(--shadow-sm)}.status-indicator[data-v-9bffd317]{width:8px;height:8px;border-radius:50%;animation:pulse-9bffd317 2s ease-in-out infinite}.status-healthy[data-v-9bffd317]{background:var(--color-success)}.status-error[data-v-9bffd317]{background:var(--color-error)}.status-text[data-v-9bffd317]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.user-dropdown[data-v-9bffd317]{cursor:pointer}.user-info[data-v-9bffd317]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);transition:all var(--transition-base);color:var(--color-text-secondary)}.user-info[data-v-9bffd317]:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.user-info .el-icon[data-v-9bffd317]{font-size:18px}.username[data-v-9bffd317]{font-weight:var(--font-weight-medium);font-size:var(--font-size-base);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes pulse-9bffd317{0%,to{opacity:1}50%{opacity:.5}}.main-content[data-v-9bffd317]{padding:0;overflow-y:auto;overflow-x:hidden;background:var(--color-bg-primary)}.fade-slide-enter-active[data-v-9bffd317],.fade-slide-leave-active[data-v-9bffd317]{transition:all var(--transition-base)}.fade-slide-enter-from[data-v-9bffd317]{opacity:0;transform:translateY(20px)}.fade-slide-leave-to[data-v-9bffd317]{opacity:0;transform:translateY(-20px)}@media(max-width:768px){.sidebar[data-v-9bffd317]{width:64px!important}.logo[data-v-9bffd317]{padding:var(--spacing-sm);gap:0}.logo-text[data-v-9bffd317]{display:none}.logo-icon[data-v-9bffd317]{width:40px;height:40px;font-size:24px}.menu-title[data-v-9bffd317]{display:none}.sidebar-menu[data-v-9bffd317]{padding:var(--spacing-xs)}.sidebar-menu[data-v-9bffd317] .el-menu-item{justify-content:center;padding:0!important}.menu-icon[data-v-9bffd317]{margin-right:0}.collapse-trigger[data-v-9bffd317]{display:none}.header[data-v-9bffd317]{padding:0 var(--spacing-md)}.breadcrumb[data-v-9bffd317] .el-breadcrumb__inner{font-size:var(--font-size-sm)}}.sidebar[data-v-9bffd317]::-webkit-scrollbar,.main-content[data-v-9bffd317]::-webkit-scrollbar{width:6px}.sidebar[data-v-9bffd317]::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.sidebar[data-v-9bffd317]::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-sm)}.sidebar[data-v-9bffd317]::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:var(--font-family-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-bg-secondary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh}#app{min-height:100vh}.el-card{border-radius:var(--radius-xl)!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-sm)!important;transition:all var(--transition-base)!important}.el-card:hover{box-shadow:var(--shadow-md)!important}.el-card__header{padding:var(--spacing-lg) var(--spacing-xl)!important;border-bottom:1px solid var(--color-border)!important;font-weight:var(--font-weight-semibold)!important;background:var(--color-bg-secondary)!important}.el-card__body{padding:var(--spacing-xl)!important}.el-button{border-radius:var(--radius-md)!important;font-weight:var(--font-weight-medium)!important;transition:all var(--transition-fast)!important}.el-button--primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.el-button--primary:hover,.el-button--primary:focus{background:var(--color-primary-dark)!important;border-color:var(--color-primary-dark)!important}.el-input__wrapper{border-radius:var(--radius-md)!important;transition:all var(--transition-fast)!important}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--color-border-dark) inset!important}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--color-primary) inset!important}.el-tag{border-radius:var(--radius-md)!important;font-weight:var(--font-weight-medium)!important}.el-pagination{justify-content:center!important;gap:var(--spacing-sm)!important}.el-pagination button,.el-pager li{border-radius:var(--radius-md)!important;transition:all var(--transition-fast)!important}.el-dialog{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-2xl)!important}.el-dialog__header{padding:var(--spacing-xl)!important;border-bottom:1px solid var(--color-border)!important}.el-dialog__body{padding:var(--spacing-xl)!important}.el-dialog__footer{padding:var(--spacing-lg) var(--spacing-xl)!important;border-top:1px solid var(--color-border)!important}.el-table{border-radius:var(--radius-lg)!important}.el-table th.el-table__cell{background:var(--color-bg-tertiary)!important;font-weight:var(--font-weight-semibold)!important}.el-loading-spinner{font-size:32px!important}.el-empty__description{color:var(--color-text-tertiary)!important}.text-center{text-align:center}.text-right{text-align:right}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}:root{--color-primary: #00b894;--color-primary-light: #55efc4;--color-primary-lighter: #81ecdc;--color-primary-dark: #00a887;--color-bg-primary: #f5f5f5;--color-bg-secondary: #fafafa;--color-bg-tertiary: #ffffff;--color-bg-hover: #f0f0f0;--color-bg-active: #ebebeb;--color-bg-sidebar: #f8f9fa;--color-text-primary: #2d3436;--color-text-secondary: #636e72;--color-text-tertiary: #95a5a6;--color-text-disabled: #b2bec3;--color-border: #dfe6e9;--color-border-light: #ecf0f1;--color-border-dark: #b2bec3;--color-success: #00b894;--color-success-light: #55efc4;--color-success-lighter: #81ecdc;--color-success-dark: #00a887;--color-warning: #ff9f43;--color-warning-light: #ffbe76;--color-warning-lighter: #ffd7a0;--color-warning-dark: #ee8c2e;--color-error: #ff6b6b;--color-error-light: #ff8787;--color-error-lighter: #ffa5a5;--color-error-dark: #ee5a52;--color-info: #74b9ff;--color-info-light: #a29bfe;--color-info-lighter: #dfe6e9;--color-info-dark: #0984e3;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .02);--shadow-sm: 0 2px 4px 0 rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px 0 rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px 0 rgba(0, 0, 0, .08);--shadow-xl: 0 8px 24px 0 rgba(0, 0, 0, .1);--shadow-2xl: 0 12px 32px 0 rgba(0, 0, 0, .12);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-size-4xl: 40px;--font-size-5xl: 48px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--breakpoint-xs: 480px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.page-container{padding:var(--spacing-2xl);max-width:var(--container-2xl);margin:0 auto;position:relative}.section-stack{display:flex;flex-direction:column;gap:20px}.modern-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.modern-card:hover{box-shadow:var(--shadow-md)}.stat-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);transition:all var(--transition-base);cursor:default;display:flex;flex-direction:column}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary)}.stat-card-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.stat-card-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:28px;transition:transform var(--transition-base)}.stat-card:hover .stat-card-icon{transform:scale(1.05)}.stat-card-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.stat-card-value{font-size:48px;font-weight:600;color:var(--color-text-primary);line-height:1;margin-bottom:var(--spacing-xs)}.stat-card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.stat-icon-primary{background:#00b8941a;color:var(--color-primary)}.stat-icon-success{background:#00b8941a;color:var(--color-success)}.stat-icon-warning{background:#ff9f431a;color:var(--color-warning)}.stat-icon-info{background:#74b9ff1a;color:var(--color-info)}.stat-icon-error{background:#ff6b6b1a;color:var(--color-error)}.image-card{position:relative;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all var(--transition-base);background:var(--color-bg-secondary);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.image-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.image-card-image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.image-card:hover .image-card-image{transform:scale(1.05)}.image-card-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:var(--spacing-md);transform:translateY(100%);transition:transform var(--transition-base);color:#fff}.image-card:hover .image-card-overlay{transform:translateY(0)}.image-card-badge{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:4px 12px;border-radius:var(--radius-full);background:#fffffff2;color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm);transition:transform var(--transition-base)}.image-card:hover .image-card-badge{transform:scale(1.05)}.modern-progress{position:relative;height:8px;background:var(--color-bg-secondary);border-radius:var(--radius-full);overflow:hidden}.modern-progress-bar{height:100%;background:linear-gradient(to right,var(--color-success) 0%,var(--color-warning) 100%);border-radius:var(--radius-full);transition:width var(--transition-slow)}.modern-tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.modern-tag-primary{background:#00b8941a;color:var(--color-primary)}.modern-tag-success{background:#00b8941a;color:var(--color-success)}.modern-tag-warning{background:#ff9f431a;color:var(--color-warning)}.modern-tag-error{background:#ff6b6b1a;color:var(--color-error)}.el-button--primary:not(.is-plain):not(.is-link){background:var(--color-primary);border-color:var(--color-primary);border-radius:var(--radius-sm)}.el-button--primary:not(.is-plain):not(.is-link):hover,.el-button--primary:not(.is-plain):not(.is-link):focus{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.el-button--success:not(.is-plain):not(.is-link){background:var(--color-success);border-color:var(--color-success);border-radius:var(--radius-sm)}.el-button--success:not(.is-plain):not(.is-link):hover,.el-button--success:not(.is-plain):not(.is-link):focus{background:var(--color-success-dark);border-color:var(--color-success-dark)}.el-button--warning:not(.is-plain):not(.is-link){background:var(--color-warning);border-color:var(--color-warning);border-radius:var(--radius-sm)}.el-button--warning:not(.is-plain):not(.is-link):hover,.el-button--warning:not(.is-plain):not(.is-link):focus{background:var(--color-warning-dark);border-color:var(--color-warning-dark)}.el-button--danger:not(.is-plain):not(.is-link){background:var(--color-error);border-color:var(--color-error);border-radius:var(--radius-sm)}.el-button--danger:not(.is-plain):not(.is-link):hover,.el-button--danger:not(.is-plain):not(.is-link):focus{background:var(--color-error-dark);border-color:var(--color-error-dark)}.el-button{border-radius:var(--radius-sm);transition:all var(--transition-fast)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out}.animate-delay-1{animation-delay:50ms}.animate-delay-2{animation-delay:.1s}.animate-delay-3{animation-delay:.15s}.animate-delay-4{animation-delay:.2s}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-sm);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::selection{background:var(--color-primary);color:#fff}::-moz-selection{background:var(--color-primary);color:#fff}@media(max-width:768px){.page-container{padding:var(--spacing-lg)}.stat-card-value{font-size:36px}}@media(max-width:480px){.page-container{padding:var(--spacing-md)}.stat-card-value{font-size:32px}}
