#app,body,html{height:100%;margin:0;padding:0}.svg-icon[data-v-5c104c92]{fill:currentColor;vertical-align:middle;margin-right:8px}.layout-container[data-v-2269c82a]{height:100vh}.layout-aside[data-v-2269c82a]{background-color:#001529;transition:width .3s;overflow:hidden;display:flex;flex-direction:column}.layout-aside .logo-container[data-v-2269c82a]{height:64px;min-height:64px;display:flex;align-items:center;justify-content:center;padding:0 16px;background-color:#002140}.layout-aside .logo-container .logo-icon[data-v-2269c82a]{flex-shrink:0}.layout-aside .logo-container .logo-text[data-v-2269c82a]{color:#fff;font-size:16px;font-weight:600;margin-left:10px;white-space:nowrap}.layout-aside .el-menu[data-v-2269c82a]{border-right:none;flex:1;overflow-y:auto;overflow-x:hidden}.layout-aside .el-menu[data-v-2269c82a]::-webkit-scrollbar{width:6px}.layout-aside .el-menu[data-v-2269c82a]::-webkit-scrollbar-thumb{background-color:hsla(0,0%,100%,.2);border-radius:3px}.layout-aside .el-menu[data-v-2269c82a]::-webkit-scrollbar-thumb:hover{background-color:hsla(0,0%,100%,.3)}.layout-aside .el-menu[data-v-2269c82a]::-webkit-scrollbar-track{background-color:transparent}.layout-aside .el-menu .el-menu-item[data-v-2269c82a],.layout-aside .el-menu .el-submenu__title[data-v-2269c82a]{height:48px;line-height:48px}.layout-aside .el-menu .el-menu-item.is-active[data-v-2269c82a],.layout-aside .el-menu .el-menu-item[data-v-2269c82a]:hover,.layout-aside .el-menu .el-submenu__title[data-v-2269c82a]:hover{background-color:#1890ff!important}.layout-main[data-v-2269c82a]{flex-direction:column}.layout-header[data-v-2269c82a]{background:#fff;box-shadow:0 1px 4px rgba(0,21,41,.08);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:10}.layout-header .header-left[data-v-2269c82a]{display:flex;align-items:center}.layout-header .header-left .collapse-btn[data-v-2269c82a]{cursor:pointer;padding:8px;margin-right:16px;border-radius:4px;color:#666}.layout-header .header-left .collapse-btn[data-v-2269c82a]:hover{background-color:#f5f5f5}.layout-header .header-right .user-info[data-v-2269c82a]{display:flex;align-items:center;cursor:pointer}.layout-header .header-right .user-info .username[data-v-2269c82a]{margin:0 8px;color:#333}.layout-content[data-v-2269c82a]{background-color:#f0f2f5;padding:20px;overflow-y:auto}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;font-family:PingFang SC,Microsoft YaHei,sans-serif;background-color:#f0f2f5}.el-button--primary{background-color:#1890ff;border-color:#1890ff}.el-button--primary:focus,.el-button--primary:hover{background-color:#40a9ff;border-color:#40a9ff}.el-menu--horizontal>.el-menu-item.is-active{border-bottom-color:#1890ff;color:#1890ff}.el-menu-item.is-active{color:#1890ff}.el-aside .el-menu{border-right:none}.el-table th{background-color:#fafafa!important;color:#333;font-weight:600}.el-pagination{margin-top:20px;text-align:right}.el-pagination .el-pagination__total{margin-right:10px}.el-card{border-radius:8px;border:none;box-shadow:0 2px 12px 0 rgba(0,0,0,.05)}.el-form-item__label{font-weight:500}.el-dialog{border-radius:8px}.el-dialog .el-dialog__header{border-bottom:1px solid #f0f0f0;padding:16px 20px}.el-dialog .el-dialog__body{padding:20px}.el-dialog .el-dialog__footer{border-top:1px solid #f0f0f0;padding:12px 20px}.el-breadcrumb{margin-bottom:20px}.el-input__inner,.el-tag{border-radius:4px}.el-select{width:100%}.search-form{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px}.search-form .el-form-item{margin-bottom:10px}.table-container{background:#fff;padding:20px;border-radius:8px}.page-title{font-size:20px;font-weight:600;color:#333;margin-bottom:20px}.stat-card{background:linear-gradient(135deg,#1890ff,#40a9ff);color:#fff;border-radius:8px;padding:20px}.stat-card .stat-title{font-size:14px;opacity:.9}.stat-card .stat-value{font-size:28px;font-weight:600;margin-top:8px}.action-buttons{margin-bottom:20px}.status-tag.success{background-color:#f6ffed;color:#52c41a;border-color:#b7eb8f}.status-tag.warning{background-color:#fffbe6;color:#faad14;border-color:#ffe58f}.status-tag.danger{background-color:#fff2f0;color:#ff4d4f;border-color:#ffccc7}.status-tag.info{background-color:#e6f7ff;color:#1890ff;border-color:#91d5ff}.image-preview{width:60px;height:60px;object-fit:cover;border-radius:4px;cursor:pointer}.empty-state{color:#999}.empty-state,.loading-state{text-align:center;padding:40px}