*{margin:0;padding:0;box-sizing:border-box}.app{height:100vh;width:100vw;overflow:hidden}.layout{display:flex;height:100vh;overflow:hidden}.layout-aside{background:linear-gradient(180deg,#3d7a3a 0%,#2B5B29 100%);color:#fff;height:100vh;position:fixed;left:0;top:0;z-index:100;box-shadow:4px 0 20px #0003;transition:all .3s ease;overflow:hidden}.layout-aside:hover{box-shadow:6px 0 24px #00000040}.logo{height:64px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid rgba(43,91,41,.3);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);gap:12px}.logo-icon{font-size:28px;color:#f1c40f;text-shadow:0 2px 8px rgba(241,196,15,.4);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.logo-text{display:flex;flex-direction:column}.logo-title{font-size:18px;font-weight:700;color:#fff;letter-spacing:2px;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.2)}.logo-subtitle{font-size:12px;color:#ffffffd9;letter-spacing:3px;line-height:1.2;margin-top:0}.layout-aside .el-menu{background:transparent!important;border-right:none!important;margin-top:16px}.layout-aside .el-menu-item,.layout-aside .el-sub-menu__title{height:52px!important;line-height:52px!important;margin:4px 12px!important;border-radius:10px!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;color:#bdc3c7!important;background:transparent!important}.layout-aside .el-menu-item .el-icon,.layout-aside .el-sub-menu__title .el-icon{color:#cfd8dc!important;transition:all .3s ease}.layout-aside .el-menu-item:hover,.layout-aside .el-sub-menu__title:hover{background-color:#2b5b2959!important;color:#fff!important;border-radius:10px!important}.layout-aside .el-menu-item:hover .el-icon,.layout-aside .el-sub-menu__title:hover .el-icon{color:#fff!important}.layout-aside .el-menu-item.is-active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)!important;color:#fff!important;box-shadow:0 4px 16px #2b5b2966!important}.layout-aside .el-menu-item.is-active .el-icon{color:#fff!important}.layout-aside .el-menu-item.is-active:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0%,#153d14 100%)!important;box-shadow:0 6px 20px #2b5b2980!important}.layout-aside .el-sub-menu .el-menu{background:linear-gradient(180deg,rgba(31,74,30,.95) 0%,rgba(15,36,14,.95) 100%)!important;border-radius:0 0 12px 12px!important;margin:0 12px!important;padding:8px 0!important;border:none!important;box-shadow:0 4px 12px #00000026!important;overflow:hidden!important;min-width:216px!important}.layout-aside .el-sub-menu.is-opened .el-sub-menu__title{border-radius:10px 10px 0 0!important;background-color:#2b5b2959!important;margin:4px 12px!important;color:#fff!important}.layout-aside .el-sub-menu .el-menu .el-menu-item{color:#cfd8dc!important;margin:2px 8px!important;height:44px!important;line-height:44px!important;padding-left:20px!important;background:transparent!important}.layout-aside .el-sub-menu .el-menu .el-menu-item:hover{background-color:#2b5b2933!important;color:#fff!important}.layout-aside .el-sub-menu .el-menu .el-menu-item.is-active{background:rgba(43,91,41,.3)!important;color:#fff!important;box-shadow:none!important}.layout-main{height:100vh;overflow:hidden;transition:all .3s ease}.layout-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid #e8ece8;height:64px;box-shadow:0 2px 12px #0000000f;transition:all .3s ease}.layout-header:hover{box-shadow:0 4px 16px #00000014}.header-left .el-button{transition:all .3s ease;color:#7f8c8d}.header-left .el-button:hover{color:var(--color-primary)!important;background-color:#2b5b2914!important}.header-right{display:flex;align-items:center;gap:12px}.user{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px 16px;border-radius:24px;transition:all .3s ease}.user:hover{background-color:#2b5b2914}.user .el-avatar{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);box-shadow:0 2px 8px #2b5b294d;transition:all .3s ease}.user:hover .el-avatar{transform:scale(1.05);box-shadow:0 4px 12px #2b5b2966}.user span{color:#2c3e50;font-weight:500}.el-dropdown-menu{border-radius:12px!important;box-shadow:0 8px 24px #0000001f!important;overflow:hidden!important;border:1px solid #e8ece8!important}.el-dropdown-item{transition:all .3s ease!important;color:#2c3e50!important}.el-dropdown-item:hover{background-color:#2b5b2914!important;color:var(--color-primary)!important}.layout-content{padding:0;background:linear-gradient(180deg,#f8faf8 0%,#f0f5f0 100%);overflow-y:auto;overflow-x:hidden;height:calc(100vh - 104px)}.layout-footer{height:40px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#999;background:#f0f5f0;border-top:1px solid #e8ece8;flex-shrink:0}.layout-footer a{color:#999;text-decoration:none}.layout-footer a:hover{color:var(--color-primary)}.layout-footer .divider{color:#ddd}.table-container{width:100%;overflow-x:auto;padding:24px;box-sizing:border-box}.el-table{width:100%!important;min-width:1100px}.el-table__header-wrapper,.el-table__body-wrapper,.el-table__row{width:100%!important}.el-table .el-button{white-space:nowrap}.el-card{margin:0;border-radius:0;border:none;box-shadow:none}.el-card__body{padding:0}.layout-content::-webkit-scrollbar{width:8px;height:8px}.layout-content::-webkit-scrollbar-track{background:#e8ece8;border-radius:4px}.layout-content::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px;transition:all .3s ease}.layout-content::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}.layout-aside .el-menu--collapse .el-menu-item,.layout-aside .el-menu--collapse .el-sub-menu__title{margin:0!important;padding:0!important;justify-content:center;text-align:center}.layout-aside .el-menu--collapse .el-menu-item .el-icon,.layout-aside .el-menu--collapse .el-sub-menu__title .el-icon{margin:0!important}:root{--color-primary: #2B5B29;--color-primary-dark: #1f4a1e;--color-primary-light: #3d7a3a;--color-primary-hover: #347832;--color-primary-bg: rgba(43, 91, 41, .08);--color-secondary: #183662;--color-secondary-dark: #0f2442;--color-secondary-bg: rgba(24, 54, 98, .06);--color-success: #52C41A;--color-warning: #FAAD14;--color-danger: #F5222D;--color-info: #1890FF;--color-text-primary: #333333;--color-text-secondary: #666666;--color-text-hint: #999999;--color-text-disabled: #CCCCCC;--color-bg-primary: #ffffff;--color-bg-secondary: #f5f7fa;--color-bg-tertiary: #f0f2f5;--color-border: #e8ece8;--color-border-light: #f0f0f0;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}
