.spinner-wrapper[data-v-50ee2eed]{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center}.spinner-container[data-v-50ee2eed]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.pulse-waves[data-v-50ee2eed]{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.pulse-wave[data-v-50ee2eed]{position:absolute;width:100%;height:100%;border:2px solid;border-color:color-mix(in srgb,var(--loading-spinner-color-primary) 20%,transparent);border-radius:50%;animation:pulse-wave-50ee2eed 3s ease-out infinite}.pulse-wave[data-v-50ee2eed]:nth-child(2){animation-delay:1s}.pulse-wave[data-v-50ee2eed]:nth-child(3){animation-delay:2s}.spinner-ring[data-v-50ee2eed]{position:absolute;border-radius:50%;border:3px solid transparent;inset:50%;translate:-50% -50%}.ring-1[data-v-50ee2eed]{width:140px;height:140px;border-top-color:var(--loading-spinner-color-primary);border-right-color:var(--loading-spinner-color-secondary);animation:ring-spin-cw-50ee2eed 1.5s cubic-bezier(.4,.2,.6,.8) infinite}.ring-2[data-v-50ee2eed]{width:100px;height:100px;border-bottom-color:color-mix(in srgb,var(--loading-spinner-color-primary) 60%,transparent);border-left-color:color-mix(in srgb,var(--loading-spinner-color-secondary) 60%,transparent);animation:ring-spin-ccw-50ee2eed 1.5s cubic-bezier(.4,.2,.6,.8) infinite;animation-delay:-.75s}.spinner-dot[data-v-50ee2eed]{position:absolute;width:24px;height:24px;background:linear-gradient(135deg,var(--loading-spinner-color-primary) 0%,var(--loading-spinner-color-secondary) 100%);border-radius:50%;box-shadow:0 0 20px var(--loading-spinner-color-shadow-dark);animation:dot-pulse-50ee2eed 1.5s ease-in-out infinite;inset:50%;translate:-50% -50%}@keyframes ring-spin-cw-50ee2eed{0%{rotate:0deg}to{rotate:360deg}}@keyframes ring-spin-ccw-50ee2eed{0%{rotate:0deg}to{rotate:-360deg}}@keyframes dot-pulse-50ee2eed{0%,to{scale:1;opacity:1}50%{scale:1.4;opacity:.8}}@keyframes pulse-wave-50ee2eed{0%{transform:scale(.3);opacity:1}to{transform:scale(1.5);opacity:0}}@media (max-width: 768px){.spinner-wrapper[data-v-50ee2eed],.ring-1[data-v-50ee2eed]{width:120px;height:120px}.ring-2[data-v-50ee2eed]{width:85px;height:85px}.spinner-dot[data-v-50ee2eed]{width:20px;height:20px}}@media (max-width: 600px){.spinner-wrapper[data-v-50ee2eed],.ring-1[data-v-50ee2eed]{width:110px;height:110px}.ring-2[data-v-50ee2eed]{width:78px;height:78px}.spinner-dot[data-v-50ee2eed]{width:18px;height:18px}}@media (max-width: 480px){.spinner-wrapper[data-v-50ee2eed],.ring-1[data-v-50ee2eed]{width:100px;height:100px}.ring-2[data-v-50ee2eed]{width:70px;height:70px}.spinner-dot[data-v-50ee2eed]{width:16px;height:16px}}@media (max-width: 375px){.spinner-wrapper[data-v-50ee2eed],.ring-1[data-v-50ee2eed]{width:90px;height:90px}.ring-2[data-v-50ee2eed]{width:64px;height:64px}.spinner-dot[data-v-50ee2eed]{width:14px;height:14px}}.loading-screen[data-v-613e675f]{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-white);z-index:var(--loading-z-index);overflow:hidden}.loading-content[data-v-613e675f]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;animation:fade-in-up-613e675f .6s ease-out;z-index:1}.site-info[data-v-613e675f]{text-align:center;position:relative;z-index:2}.site-name[data-v-613e675f]{font-size:28px;font-weight:700;margin:0;letter-spacing:1px;background:linear-gradient(135deg,var(--loading-spinner-color-primary) 0%,var(--loading-spinner-color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:text-glow-613e675f 2s ease-in-out infinite}@keyframes fade-in-up-613e675f{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes text-glow-613e675f{0%,to{opacity:1}50%{opacity:.8}}.fade-loading-enter-active[data-v-613e675f]{animation:fade-in-613e675f .4s ease-out}.fade-loading-leave-active[data-v-613e675f]{animation:fade-out-613e675f .5s ease-out}@keyframes fade-in-613e675f{0%{opacity:0}to{opacity:1}}@keyframes fade-out-613e675f{0%{opacity:1}to{opacity:0}}@media (max-width: 600px){.loading-content[data-v-613e675f]{gap:32px}.site-name[data-v-613e675f]{font-size:24px}}@media (max-width: 480px){.loading-content[data-v-613e675f]{gap:24px}.site-name[data-v-613e675f]{font-size:20px}}*{margin:0;padding:0;box-sizing:border-box}#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.fade-app-enter-active{animation:fade-in-scale .6s ease-out}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}:root{--color-primary: #5D87FF;--color-primary-light: #7d9fff;--color-primary-dark: #4a6ccc;--color-neutral-100: #f7f9fc;--color-neutral-200: #f0f2f6;--color-neutral-300: #e4e7ed;--color-neutral-400: #d4d8df;--color-neutral-500: #a8b0bf;--color-neutral-700: #596075;--color-neutral-900: #1f2430;--color-text-primary: #4b5675;--color-text-regular: #78829d;--color-text-secondary: #99a1b7;--color-text-light: #c4cada;--color-bg-page: #fafbfc;--color-bg-white: #ffffff;--color-bg-light: #f8f9fc;--color-bg-lighter: #fbfcff;--color-border-base: #d4d8df;--color-border-light: #e4e7ed;--color-border-lighter: #edf0f5;--color-success: #49c28d;--color-warning: #f0a54c;--color-danger: #f46868;--color-info: #6477ff;--el-color-primary: var(--color-primary);--el-color-primary-light-3: #8dabff;--el-color-primary-light-5: #aec3ff;--el-color-primary-light-7: #cedbff;--el-color-primary-light-8: #dee7ff;--el-color-primary-light-9: #eef3ff;--el-color-primary-dark-2: var(--color-primary-dark);--sidebar-bg: #ffffff;--sidebar-logo-bg: #fafafa;--sidebar-text: #29343D;--sidebar-text-hover: #5D87FF;--sidebar-text-active: #5D87FF;--sidebar-item-hover-bg: #eef3ff;--sidebar-item-active-bg: #eef3ff;--sidebar-text-secondary: #6b6b6b;--sidebar-divider: #f0f0f0;--sidebar-border-color: #f0f0f0;--sidebar-scrollbar-thumb: rgba(0, 0, 0, .12);--sidebar-scrollbar-thumb-hover: rgba(0, 0, 0, .2);--header-height: 60px;--sidebar-width: 240px;--sidebar-collapsed-width: 71px;--content-max-width: 100%;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 22px;--line-height-tight: 1.3;--line-height-base: 1.6;--line-height-loose: 1.8;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xxs: 4px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 20px;--spacing-xl: 20px;--spacing-xxl: 40px;--border-radius-sm: 4px;--border-radius-base: 8px;--border-radius-lg: 16px;--border-radius-pill: 999px;--box-shadow-base: 0 6px 18px rgba(30, 35, 45, .08);--box-shadow-light: 0 4px 12px rgba(30, 35, 45, .06);--box-shadow-dark: 0 10px 30px rgba(17, 24, 39, .15);--mask-bg: rgba(0, 0, 0, .45);--transition-fast: .15s;--transition-base: .25s;--transition-slow: .4s;--transition-ease: cubic-bezier(.4, 0, .2, 1);--transition-all: all var(--transition-base) var(--transition-ease);--transition-all-fast: all var(--transition-fast) var(--transition-ease);--transition-all-slow: all var(--transition-slow) var(--transition-ease);--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-wide: 1440px;--loading-spinner-color-primary: #667eea;--loading-spinner-color-secondary: #764ba2;--loading-spinner-color-shadow: rgba(102, 126, 234, .1);--loading-spinner-color-shadow-dark: rgba(102, 126, 234, .4);--loading-z-index: 9000}html.dark{--color-neutral-100: #1a1d24;--color-neutral-200: #212631;--color-neutral-300: #2f3646;--color-neutral-400: #4b5675;--color-neutral-500: #78829d;--color-neutral-700: #a8b0bf;--color-neutral-900: #f7f9fc;--color-text-primary: #e4e7ed;--color-text-regular: #a8b0bf;--color-text-secondary: #78829d;--color-text-light: #596075;--color-bg-page: #1a1d24;--color-bg-white: #212631;--color-bg-light: #2f3646;--color-bg-lighter: #262b38;--color-border-base: #2f3646;--color-border-light: #3a4256;--color-border-lighter: #4b5675;--el-color-primary-light-3: #4a6ccc;--el-color-primary-light-5: #3d5bb0;--el-color-primary-light-7: #304994;--el-color-primary-light-8: #233778;--el-color-primary-light-9: #16255c;--sidebar-bg: #212631;--sidebar-logo-bg: #1a1d24;--sidebar-text: #e4e7ed;--sidebar-text-hover: #5D87FF;--sidebar-text-active: #5D87FF;--sidebar-item-hover-bg: #2f3646;--sidebar-item-active-bg: #2f3646;--sidebar-text-secondary: #a8b0bf;--sidebar-divider: #2f3646;--sidebar-border-color: #2f3646;--sidebar-scrollbar-thumb: rgba(255, 255, 255, .12);--sidebar-scrollbar-thumb-hover: rgba(255, 255, 255, .2);--box-shadow-base: 0 6px 18px rgba(0, 0, 0, .3);--box-shadow-light: 0 4px 12px rgba(0, 0, 0, .2);--box-shadow-dark: 0 10px 30px rgba(0, 0, 0, .5);--loading-spinner-color-primary: #7d9fff;--loading-spinner-color-secondary: #9d7bbf;--loading-spinner-color-shadow: rgba(125, 159, 255, .15);--loading-spinner-color-shadow-dark: rgba(125, 159, 255, .5)}:root{--flex-center: flex;--flex-align-center: center;--flex-justify-between: space-between;--z-index-mask: 999;--z-index-sidebar: 1000;--z-index-header: 1001;--z-index-dropdown: 1002;--z-index-modal: 2000}:root{--scrollbar-width: 6px;--scrollbar-bg: transparent;--scrollbar-thumb-bg: rgba(0, 0, 0, .2);--scrollbar-thumb-hover-bg: rgba(0, 0, 0, .3)}:root{--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--safe-area-top: max(env(safe-area-inset-top, 0px), 12px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-top: var(--safe-area-top)}.safe-area-top{padding-top:var(--safe-top)}.safe-area-top-margin{margin-top:var(--safe-top)}.safe-area-left{padding-left:var(--safe-area-left)}.safe-area-right{padding-right:var(--safe-area-right)}.safe-area-page{padding-top:var(--safe-top);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}input,textarea,[contenteditable=true]{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.card{background-color:var(--color-bg-white);border-radius:var(--border-radius-base);border:1px solid var(--color-border-lighter);box-shadow:var(--box-shadow-light);padding:var(--spacing-lg);transition:transform var(--transition-base) var(--transition-ease),box-shadow var(--transition-base) var(--transition-ease)}.card:hover{transform:translateY(-2px);box-shadow:var(--box-shadow-base)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.card-no-padding{padding:0}.stat-card{margin-bottom:var(--spacing-md);border-radius:var(--border-radius-base);border:1px solid var(--color-border-lighter);transition:box-shadow var(--transition-base) var(--transition-ease),transform var(--transition-base) var(--transition-ease);background-color:var(--color-bg-white)}.stat-content-horizontal{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.stat-icon{width:48px;height:48px;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;margin-right:var(--spacing-md);flex-shrink:0;box-shadow:0 10px 20px #409eff33}.stat-info{flex:1;min-width:0}.stat-value{font-size:30px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.1;margin-bottom:2px}.stat-label{font-size:13px;color:var(--color-text-secondary);line-height:var(--line-height-tight)}.stat-trend{display:flex;align-items:center;font-size:13px;margin-left:var(--spacing-sm);flex-shrink:0}.trend-value{display:flex;align-items:center;font-size:14px;font-weight:var(--font-weight-medium);margin-bottom:2px}.trend-up{color:var(--color-success)}.trend-down{color:var(--color-danger)}.trend-text{font-size:11px;color:var(--color-text-secondary);line-height:1}.settings-form{padding:var(--spacing-lg) 0}.settings-form-padded{padding:var(--spacing-lg)}.search-card{margin-bottom:var(--spacing-md);border-radius:var(--border-radius-base);border:1px solid var(--color-border-lighter);background-color:var(--color-bg-white);box-shadow:var(--box-shadow-light)}.search-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md);align-items:end}.search-form :deep(.el-form-item){margin-bottom:0;display:flex;flex-direction:column;gap:6px}.search-form :deep(.el-form-item__content){width:100%}.search-form :deep(.el-input),.search-form :deep(.el-select),.search-form :deep(.el-date-editor),.search-form :deep(.el-input-number){width:100%}.form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:0}.form-actions-right{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.btn-group{display:flex;gap:var(--spacing-sm)}.btn-group-vertical{display:flex;flex-direction:column;gap:var(--spacing-sm)}.action-buttons{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--border-radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.status-success{background-color:#67c23a1a;color:var(--color-success)}.status-warning{background-color:#e6a23c1a;color:var(--color-warning)}.status-danger{background-color:#f56c6c1a;color:var(--color-danger)}.status-info{background-color:#9093991a;color:var(--color-info)}.status-primary{background-color:#409eff1a;color:var(--color-primary)}.flex{display:flex}.flex-center{display:flex;justify-content:center;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-column{display:flex;flex-direction:column}.flex-column-center{display:flex;flex-direction:column;align-items:center;justify-content:center}.flex-1{flex:1}.flex-gap-xs{display:flex;gap:var(--spacing-xs)}.flex-gap-sm{display:flex;gap:var(--spacing-sm)}.flex-gap-md{display:flex;gap:var(--spacing-md)}.flex-gap-lg{display:flex;gap:var(--spacing-lg)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.ml-xl{margin-left:var(--spacing-xl)}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.mr-xl{margin-right:var(--spacing-xl)}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.pl-xs{padding-left:var(--spacing-xs)}.pl-sm{padding-left:var(--spacing-sm)}.pl-md{padding-left:var(--spacing-md)}.pl-lg{padding-left:var(--spacing-lg)}.pl-xl{padding-left:var(--spacing-xl)}.pr-xs{padding-right:var(--spacing-xs)}.pr-sm{padding-right:var(--spacing-sm)}.pr-md{padding-right:var(--spacing-md)}.pr-lg{padding-right:var(--spacing-lg)}.pr-xl{padding-right:var(--spacing-xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-price{color:var(--color-danger);font-weight:var(--font-weight-semibold)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-text-primary)}.text-regular{color:var(--color-text-regular)}.text-secondary{color:var(--color-text-secondary)}.text-light{color:var(--color-text-light)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-info{color:var(--color-info)}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl) var(--spacing-lg);color:var(--color-text-secondary);min-height:200px}.empty-icon{font-size:48px;color:var(--color-text-light);margin-bottom:var(--spacing-md)}.empty-text{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.empty-description{font-size:var(--font-size-sm);color:var(--color-text-light)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xxl) var(--spacing-lg);min-height:200px}.loading-text{margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.divider{height:1px;background-color:var(--color-border-light);margin:var(--spacing-lg) 0}.divider-vertical{width:1px;height:100%;background-color:var(--color-border-light);margin:0 var(--spacing-md)}.overlay{position:fixed;inset:0;background-color:var(--mask-bg);z-index:var(--z-index-mask)}.el-main{padding:0!important}.page-container{padding:0;background-color:var(--color-bg-page);min-height:calc(100vh - var(--header-height));display:flex;justify-content:center}.content-box{background-color:var(--color-bg-white);border-radius:var(--border-radius-base);padding:var(--spacing-xl);margin:0 var(--spacing-xl);margin-bottom:var(--spacing-md);box-shadow:var(--box-shadow-light);border:1px solid var(--color-border-lighter);width:100%;max-width:var(--content-max-width)}.chart-container{height:300px;width:100%}.chart-card{margin-bottom:var(--spacing-md);border-radius:var(--border-radius-lg)}.actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.actions-bar-left,.actions-bar-right{display:flex;gap:var(--spacing-sm)}.tag-group{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.batch-actions-bar{background:linear-gradient(90deg,#e6f4ff,#f0f9ff);border-left:3px solid var(--color-primary);padding:12px 16px;border-radius:var(--action-btn-border-radius);margin-bottom:var(--spacing-md);display:flex;gap:var(--spacing-sm);align-items:center}.batch-actions-text{color:var(--color-text-regular);font-size:var(--font-size-base);flex:1}.price-text{color:var(--color-danger);font-weight:var(--font-weight-semibold)}@media (max-width: 1024px){.page-container{padding:0}.content-box{margin:0 var(--spacing-lg);padding:var(--spacing-lg)}}@media (max-width: 768px){.page-container{padding:0}.content-box{margin:0 var(--spacing-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-sm);border-radius:var(--border-radius-base)}}@media (max-width: 480px){.page-container{padding:0}.content-box{margin:0 var(--spacing-sm);padding:var(--spacing-md)}}.desktop-only{display:block}.mobile-only{display:none}@media (max-width: 768px){.desktop-only{display:none!important}.mobile-only{display:block!important}}.desktop-layout{display:block}.mobile-layout{display:none}@media (max-width: 768px){.desktop-layout{display:none!important}.mobile-layout{display:block!important}.mobile-search-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mobile-form-item{margin-bottom:var(--spacing-sm);width:100%}.mobile-form-item :deep(.el-form-item__label){width:80px;text-align:left}.mobile-form-item :deep(.el-form-item__content){flex:1;margin-left:0!important}.mobile-input,.mobile-select{width:100%!important}.mobile-form-row{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mobile-actions-row{display:flex;justify-content:flex-end;margin-top:var(--spacing-md)}.mobile-button-group{display:flex;gap:var(--spacing-sm);width:100%}.mobile-action-btn{flex:1;margin-left:0!important}}.responsive-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}@media (max-width: 768px){.responsive-grid-2{grid-template-columns:1fr}}.responsive-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}@media (max-width: 1024px){.responsive-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.responsive-grid-3{grid-template-columns:1fr}}.responsive-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media (max-width: 1200px){.responsive-grid-4{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.responsive-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.responsive-grid-4{grid-template-columns:1fr}}@media (max-width: 768px){.page-container,.content-box,.card{padding:var(--spacing-md)}}.responsive-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.responsive-table-wrapper{border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-base)}.responsive-table-wrapper :deep(.el-table){min-width:600px}.responsive-table-wrapper :deep(.el-table){font-size:var(--font-size-sm)}.responsive-table-wrapper :deep(.el-table th),.responsive-table-wrapper :deep(.el-table td){padding:8px 6px}}@media (max-width: 768px){.action-buttons{flex-direction:column;width:100%}.action-buttons .el-button{width:100%;margin-left:0!important;margin-bottom:var(--spacing-xs)}.btn-group{flex-direction:column;width:100%}.btn-group .el-button{width:100%;margin-left:0!important}}@media (max-width: 768px){.stat-card{margin-bottom:var(--spacing-md)}.stat-content-horizontal{padding:4px 0}.stat-icon{width:40px;height:40px;font-size:20px}.stat-value{font-size:24px}.stat-label,.trend-value{font-size:12px}.trend-text{font-size:10px}}@media (max-width: 768px){:deep(.el-dialog){width:90%!important;margin:20px auto!important}:deep(.el-dialog__body){padding:var(--spacing-md);max-height:60vh;overflow-y:auto}:deep(.el-dialog__footer){padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}:deep(.el-dialog__footer .el-button){width:100%;margin-left:0!important}}@media (max-width: 768px){.chart-container{height:250px}.chart-card{margin-bottom:var(--spacing-md)}.chart-card :deep(.el-card__header){padding:var(--spacing-md)}.chart-card :deep(.el-card__body){padding:var(--spacing-sm)}}@media (max-width: 768px){:deep(.el-pagination){display:flex;flex-wrap:wrap;justify-content:center;padding:var(--spacing-md) 0}:deep(.el-pagination .btn-prev),:deep(.el-pagination .btn-next){padding:0 8px}:deep(.el-pagination .el-pager li){min-width:28px;height:28px;line-height:28px;font-size:var(--font-size-sm)}:deep(.el-pagination .el-pagination__total){display:none}}@media (max-width: 768px){:deep(.el-breadcrumb){display:none}:deep(.el-menu){font-size:var(--font-size-sm)}:deep(.el-menu-item),:deep(.el-sub-menu__title){height:48px;line-height:48px}}@media (max-width: 768px){:deep(.el-tabs__nav-wrap){overflow-x:auto;-webkit-overflow-scrolling:touch}:deep(.el-tabs__item){padding:0 var(--spacing-md);font-size:var(--font-size-sm)}}@media (max-width: 768px){:deep(.el-dropdown-menu){max-width:90vw}:deep(.el-dropdown-menu__item){font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}}@media (max-width: 768px){.search-card{margin-bottom:var(--spacing-sm)}.search-card :deep(.el-card__body){padding:var(--spacing-md)}.search-form :deep(.el-input),.search-form :deep(.el-select){width:100%!important}.search-form :deep(.el-form-item){margin-right:0;margin-bottom:var(--spacing-sm)}}@media (max-width: 768px){:deep(.el-form-item__label){text-align:left;padding-right:var(--spacing-sm)}:deep(.el-form-item__content){margin-left:0!important}:deep(.el-input),:deep(.el-select),:deep(.el-textarea),:deep(.el-date-picker){width:100%!important}}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media (max-width: 768px){.quick-actions{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.quick-actions{grid-template-columns:1fr}}.quick-actions .el-button{width:100%;margin-left:0!important}@media (max-width: 768px){h1,.h1{font-size:24px}h2,.h2{font-size:20px}h3,.h3{font-size:18px}h4,.h4{font-size:16px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}}@media (max-width: 768px){.mobile-mt-0{margin-top:0!important}.mobile-mb-0{margin-bottom:0!important}.mobile-ml-0{margin-left:0!important}.mobile-mr-0{margin-right:0!important}.mobile-pt-0{padding-top:0!important}.mobile-pb-0{padding-bottom:0!important}.mobile-pl-0{padding-left:0!important}.mobile-pr-0{padding-right:0!important}.mobile-p-sm{padding:var(--spacing-sm)!important}.mobile-p-md{padding:var(--spacing-md)!important}.mobile-m-sm{margin:var(--spacing-sm)!important}.mobile-m-md{margin:var(--spacing-md)!important}}@media (max-width: 768px){.mobile-flex-column{flex-direction:column!important}.mobile-flex-wrap{flex-wrap:wrap!important}.mobile-justify-start{justify-content:flex-start!important}.mobile-justify-center{justify-content:center!important}.mobile-align-start{align-items:flex-start!important}}@media (max-width: 768px){.mobile-w-full{width:100%!important}.mobile-w-auto{width:auto!important}}@media (max-width: 480px){.page-container,.content-box{padding:var(--spacing-sm)}.stat-value{font-size:20px}.stat-icon{width:36px;height:36px;font-size:18px}}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-base)}.fade-enter-from,.fade-leave-to{opacity:0}.fade-fast-enter-active,.fade-fast-leave-active{transition:opacity var(--transition-fast)}.fade-fast-enter-from,.fade-fast-leave-to{opacity:0}.fade-slow-enter-active,.fade-slow-leave-active{transition:opacity var(--transition-slow)}.fade-slow-enter-from,.fade-slow-leave-to{opacity:0}.slide-down-enter-active,.slide-down-leave-active{transition:all var(--transition-base)}.slide-down-enter-from{transform:translateY(-20px);opacity:0}.slide-down-leave-to{transform:translateY(20px);opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--transition-base)}.slide-up-enter-from{transform:translateY(20px);opacity:0}.slide-up-leave-to{transform:translateY(-20px);opacity:0}.slide-right-enter-active,.slide-right-leave-active{transition:all var(--transition-base)}.slide-right-enter-from{transform:translate(-20px);opacity:0}.slide-right-leave-to{transform:translate(20px);opacity:0}.slide-left-enter-active,.slide-left-leave-active{transition:all var(--transition-base)}.slide-left-enter-from{transform:translate(20px);opacity:0}.slide-left-leave-to{transform:translate(-20px);opacity:0}.scale-enter-active,.scale-leave-active{transition:all var(--transition-base)}.scale-enter-from,.scale-leave-to{transform:scale(.95);opacity:0}.zoom-enter-active,.zoom-leave-active{transition:all var(--transition-base)}.zoom-enter-from,.zoom-leave-to{transform:scale(0);opacity:0}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rotate{animation:rotate 1s linear infinite}@keyframes rotate-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.rotate-reverse{animation:rotate-reverse 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(1.4);opacity:0}}.pulse-ring{animation:pulse-ring 1.5s cubic-bezier(.4,0,.6,1) infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce 1s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.shake{animation:shake .5s ease-in-out}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.blink{animation:blink 1s linear infinite}@keyframes loading-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-border-base);border-top-color:var(--color-primary);border-radius:50%;animation:loading-spinner .6s linear infinite}.loading-spinner-lg{width:40px;height:40px;border-width:3px}.loading-spinner-sm{width:16px;height:16px;border-width:2px}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,var(--color-bg-light) 0%,var(--color-bg-lighter) 50%,var(--color-bg-light) 100%);background-size:200px 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes progress-bar{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-bar-animated:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-bar 1.5s ease-in-out infinite}.hover-scale{transition:transform var(--transition-base) var(--transition-ease)}.hover-scale:hover{transform:scale(1.05)}.hover-scale-sm{transition:transform var(--transition-base) var(--transition-ease)}.hover-scale-sm:hover{transform:scale(1.02)}.hover-scale-lg{transition:transform var(--transition-base) var(--transition-ease)}.hover-scale-lg:hover{transform:scale(1.1)}.hover-lift{transition:all var(--transition-base) var(--transition-ease)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--box-shadow-light)}.hover-shadow{transition:box-shadow var(--transition-base) var(--transition-ease)}.hover-shadow:hover{box-shadow:var(--box-shadow-light)}.hover-shadow-lg{transition:box-shadow var(--transition-base) var(--transition-ease)}.hover-shadow-lg:hover{box-shadow:var(--box-shadow-dark)}.hover-brightness{transition:filter var(--transition-base)}.hover-brightness:hover{filter:brightness(1.1)}.hover-opacity{transition:opacity var(--transition-base)}.hover-opacity:hover{opacity:.8}.click-ripple{position:relative;overflow:hidden}.click-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.click-ripple:active:after{width:200px;height:200px}.focus-ring{transition:all var(--transition-fast)}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #409eff4d}.list-enter-active,.list-leave-active{transition:all var(--transition-base)}.list-enter-from{opacity:0;transform:translateY(20px)}.list-leave-to{opacity:0;transform:translateY(-20px)}.list-move{transition:transform var(--transition-base)}.collapse-enter-active,.collapse-leave-active{transition:all var(--transition-base);overflow:hidden}.collapse-enter-from,.collapse-leave-to{max-height:0;opacity:0}.collapse-enter-to,.collapse-leave-from{max-height:1000px;opacity:1}.drawer-left-enter-active,.drawer-left-leave-active{transition:transform var(--transition-base) var(--transition-ease)}.drawer-left-enter-from,.drawer-left-leave-to{transform:translate(-100%)}.drawer-right-enter-active,.drawer-right-leave-active{transition:transform var(--transition-base) var(--transition-ease)}.drawer-right-enter-from,.drawer-right-leave-to{transform:translate(100%)}.modal-enter-active,.modal-leave-active{transition:all var(--transition-base)}.modal-enter-from,.modal-leave-to{opacity:0;transform:scale(.9)}.modal-backdrop-enter-active,.modal-backdrop-leave-active{transition:opacity var(--transition-base)}.modal-backdrop-enter-from,.modal-backdrop-leave-to{opacity:0}.notification-enter-active,.notification-leave-active{transition:all var(--transition-base) var(--transition-ease)}.notification-enter-from,.notification-leave-to{transform:translate(100%);opacity:0}@keyframes flip{0%{transform:perspective(400px) rotateY(0)}to{transform:perspective(400px) rotateY(360deg)}}.flip{animation:flip 1s ease-in-out}.flip-horizontal{transition:transform var(--transition-base)}.flip-horizontal:hover{transform:rotateY(180deg)}.flip-vertical{transition:transform var(--transition-base)}.flip-vertical:hover{transform:rotateX(180deg)}@keyframes breathing{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.98)}}.breathing{animation:breathing 3s ease-in-out infinite}@keyframes typing{0%{width:0}to{width:100%}}.typing{overflow:hidden;white-space:nowrap;border-right:2px solid var(--color-primary);animation:typing 3s steps(40,end),blink-caret .75s step-end infinite}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--color-primary)}}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.duration-fast{animation-duration:var(--transition-fast);transition-duration:var(--transition-fast)}.duration-base{animation-duration:var(--transition-base);transition-duration:var(--transition-base)}.duration-slow{animation-duration:var(--transition-slow);transition-duration:var(--transition-slow)}
