#app{height:100vh;width:100vw}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;background-color:#f5f5f5}.layout-container{height:100vh;display:flex;flex-direction:column}.layout-header{background:#fff;box-shadow:0 1px 4px #00152914;z-index:1000}.layout-main{flex:1;display:flex;overflow:hidden}.layout-sidebar{width:200px;background:#fff;box-shadow:2px 0 6px #00152914;transition:width .3s}.layout-sidebar.collapsed{width:64px}.layout-content{flex:1;padding:20px;overflow-y:auto;background:#f5f5f5}.page-container{background:#fff;border-radius:4px;padding:20px;min-height:calc(100vh - 120px)}.page-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.page-title{font-size:20px;font-weight:500;color:#262626;margin:0}.page-description{color:#8c8c8c;margin-top:4px;font-size:14px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:16px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:12px}.table-container{background:#fff;border-radius:4px}.form-container{background:#fff;border-radius:4px;padding:24px}.form-section{margin-bottom:24px}.form-section-title{font-size:16px;font-weight:500;color:#262626;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.card-container{background:#fff;border-radius:4px;padding:20px;margin-bottom:16px;box-shadow:0 1px 2px #00000008;border:1px solid #f0f0f0}.stats-card{text-align:center;padding:24px;background:#fff;border-radius:4px;box-shadow:0 1px 2px #00000008;border:1px solid #f0f0f0}.stats-card-value{font-size:30px;font-weight:600;color:#262626;margin-bottom:8px}.stats-card-label{font-size:14px;color:#8c8c8c}@media (max-width: 768px){.layout-sidebar{position:fixed;left:-200px;z-index:1001;height:100vh;transition:left .3s}.layout-sidebar.mobile-open{left:0}.layout-content{padding:16px}.toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.toolbar-right{justify-content:center}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.w-full{width:100%}.h-full{height:100%}.el-menu{border-right:none!important}.el-menu-item,.el-sub-menu__title{color:#333!important;font-size:14px!important}.el-menu-item span,.el-sub-menu__title span{color:#333!important;display:inline!important;visibility:visible!important;opacity:1!important}.el-menu-item:hover,.el-sub-menu__title:hover{background-color:#f5f5f5!important;color:#1890ff!important}.el-menu-item:hover span,.el-sub-menu__title:hover span{color:#1890ff!important}.el-menu-item.is-active{background-color:#e6f7ff!important;color:#1890ff!important;border-right:3px solid #1890ff!important}.el-menu-item.is-active span{color:#1890ff!important}@media (max-width: 480px){:deep(.el-dialog){width:100%!important;max-width:100%!important;margin:0!important;border-radius:0!important;height:100vh;display:flex;flex-direction:column}:deep(.el-dialog__header){padding:var(--mobile-spacing-lg);border-bottom:1px solid #f0f0f0;flex-shrink:0}:deep(.el-dialog__title){font-size:var(--mobile-font-size-title);font-weight:600}:deep(.el-dialog__body){flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--mobile-spacing-lg)}:deep(.el-dialog__footer){padding:var(--mobile-spacing-lg);border-top:1px solid #f0f0f0;flex-shrink:0}:deep(.el-drawer){border-radius:var(--mobile-border-radius-lg) var(--mobile-border-radius-lg) 0 0}:deep(.el-drawer__header){padding:var(--mobile-spacing-lg);margin-bottom:0;border-bottom:1px solid #f0f0f0}:deep(.el-drawer__title){font-size:var(--mobile-font-size-title);font-weight:600}:deep(.el-drawer__body){padding:var(--mobile-spacing-lg);padding-bottom:calc(var(--mobile-spacing-lg) + var(--safe-area-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}.chart-container{width:100%;height:300px;min-height:250px}.mobile-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.mobile-table-scroll::-webkit-scrollbar{display:none}}:root{--mobile-breakpoint: 480px;--tablet-breakpoint: 1024px;--mobile-spacing-xs: 4px;--mobile-spacing-sm: 8px;--mobile-spacing-md: 12px;--mobile-spacing-lg: 16px;--mobile-spacing-xl: 20px;--mobile-touch-target: 44px;--mobile-font-size-base: 14px;--mobile-font-size-input: 16px;--mobile-font-size-title: 18px;--mobile-font-size-subtitle: 16px;--mobile-border-radius: 8px;--mobile-border-radius-lg: 12px;--mobile-border-radius-xl: 16px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--mobile-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--mobile-shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--mobile-shadow-lg: 0 4px 16px rgba(0, 0, 0, .15);--mobile-z-index-overlay: 1000;--mobile-z-index-drawer: 1001;--mobile-z-index-bottom-tab: 999;--mobile-z-index-fixed-action: 998}@media (max-width: 480px){html{overscroll-behavior:none;-webkit-overflow-scrolling:touch}body{overscroll-behavior:none;-webkit-overflow-scrolling:touch;font-size:var(--mobile-font-size-base);line-height:1.5}button,.el-button,.tab-item,a,[role=button],[onclick]{touch-action:manipulation}input[type=text],input[type=number],input[type=email],input[type=tel],input[type=password],input[type=search],textarea,select{font-size:var(--mobile-font-size-input)!important}.mobile-scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}body.body-lock{overflow:hidden;position:fixed;width:100%;height:100%}.mobile-card{background:#fff;border-radius:var(--mobile-border-radius);padding:var(--mobile-spacing-lg);margin-bottom:var(--mobile-spacing-md);box-shadow:var(--mobile-shadow-sm)}.mobile-button,button,.el-button{min-height:var(--mobile-touch-target);min-width:var(--mobile-touch-target);padding:var(--mobile-spacing-sm) var(--mobile-spacing-md)}.mobile-list-item{min-height:var(--mobile-touch-target);padding:var(--mobile-spacing-md) var(--mobile-spacing-lg)}.mobile-bottom-fixed{position:fixed;bottom:0;left:0;right:0;padding-bottom:var(--safe-area-bottom);background:#fff;box-shadow:0 -2px 8px #0000001a;z-index:var(--mobile-z-index-fixed-action)}.mobile-top-fixed{position:fixed;top:0;left:0;right:0;padding-top:var(--safe-area-top);background:#fff;box-shadow:0 2px 8px #0000001a;z-index:var(--mobile-z-index-overlay)}.mobile-content{padding-top:calc(44px + var(--safe-area-top));padding-bottom:calc(50px + var(--safe-area-bottom))}.mobile-fullscreen-dialog{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:var(--mobile-z-index-drawer);display:flex;flex-direction:column;padding-top:var(--safe-area-top)}.mobile-bottom-drawer{position:fixed;bottom:0;left:0;right:0;max-height:80vh;background:#fff;border-radius:var(--mobile-border-radius-lg) var(--mobile-border-radius-lg) 0 0;z-index:var(--mobile-z-index-drawer);padding-bottom:var(--safe-area-bottom);box-shadow:0 -4px 16px #00000026}.mobile-filter-panel{position:fixed;bottom:0;left:0;right:0;max-height:70vh;background:#fff;border-radius:var(--mobile-border-radius-lg) var(--mobile-border-radius-lg) 0 0;z-index:var(--mobile-z-index-drawer);padding-bottom:var(--safe-area-bottom);box-shadow:0 -4px 16px #00000026;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:calc(var(--mobile-z-index-drawer) - 1)}.mobile-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.mobile-table-scroll::-webkit-scrollbar{display:none}.mobile-form{padding:var(--mobile-spacing-lg)}.mobile-form-item{margin-bottom:var(--mobile-spacing-lg)}.mobile-form-label{display:block;margin-bottom:var(--mobile-spacing-sm);font-size:var(--mobile-font-size-base);color:#606266;font-weight:500}.mobile-text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-text-ellipsis-2{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mobile-text-ellipsis-3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}}@media (min-width: 481px) and (max-width: 1024px){:root{--mobile-spacing-lg: 20px;--mobile-spacing-xl: 24px}}
