:root{--primary-color:#409eff;--primary-color-light:#66b1ff;--primary-color-lighter:#91ccff;--primary-color-dark:#337ecc;--success-color:#67c23a;--success-color-light:#85ce61;--warning-color:#e6a23c;--warning-color-light:#ebb563;--danger-color:#f56c6c;--danger-color-light:#f78989;--info-color:#909399;--info-color-light:#a6a9ad;--text-color-primary:#303133;--text-color-regular:#606266;--text-color-secondary:#909399;--text-color-placeholder:#c0c4cc;--text-color-disabled:#dcdfe6;--border-color-base:#dcdfe6;--border-color-light:#e4e7ed;--border-color-lighter:#ebeef5;--border-color-extra-light:#f2f6fc;--background-color-base:#f5f7fa;--background-color-light:#fafafa;--background-color-lighter:#fff;--background-color-hover:#f0f2f5;--font-size-extra-small:12px;--font-size-small:14px;--font-size-base:16px;--font-size-large:18px;--font-size-extra-large:20px;--border-radius-base:8px;--border-radius-small:4px;--border-radius-large:12px;--border-radius-circle:50%;--box-shadow-base:0 2px 12px rgba(0,0,0,.08),0 0 8px rgba(0,0,0,.03);--box-shadow-dark:0 6px 20px rgba(0,0,0,.12),0 0 15px rgba(0,0,0,.05);--box-shadow-hover:0 8px 24px rgba(0,0,0,.15),0 0 20px rgba(0,0,0,.08);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--transition-base:all 0.3s cubic-bezier(0.645,0.045,0.355,1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-size-base);color:var(--text-color-primary);background-color:var(--background-color-light);line-height:1.5}.el-button,.el-card,.el-date-editor,.el-input,.el-pagination,.el-select,.el-table,.el-tag{transition:var(--transition-base)}.el-date-editor .el-input__inner:hover,.el-input__inner:hover,.el-select__input.is-focus:hover{border-color:var(--primary-color-light);box-shadow:0 0 0 2px rgba(64,158,255,.2)}.el-table-row:hover>td{background-color:var(--background-color-hover)!important;transition:var(--transition-base)}.el-card:hover{transform:translateY(-2px)}.image-container{transition:var(--transition-base);cursor:pointer}.image-container:hover{transform:scale(1.05);box-shadow:var(--box-shadow-dark)}.full-width-link:hover{background-color:var(--background-color-hover);border-radius:var(--border-radius-small)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{display:inline-block;width:20px;height:20px;border:2px solid var(--border-color-light);border-top-color:var(--primary-color);border-radius:var(--border-radius-circle);animation:spin .8s linear infinite}.app-container>*{animation:fadeIn .5s ease-out}.el-date-picker,.el-select-dropdown{animation:fadeIn .2s ease-out}.el-form-item__error{animation:fadeIn .3s ease-out}.el-tabs__content{transition:var(--transition-base)}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--primary-color)}.el-tabs__item.is-active{animation:fadeIn .3s ease-out}.el-dropdown-menu{animation:fadeIn .2s ease-out}.el-dialog,.el-notification{animation:fadeIn .3s ease-out}.el-loading-mask{transition:opacity .3s ease}.el-tag:hover{transform:scale(1.05);box-shadow:var(--box-shadow-base)}.el-pagination__item:hover{color:var(--primary-color);border-color:var(--primary-color-light)}.el-pagination__item.active:hover{transform:scale(1.1)}.avatar-uploader:hover .el-upload{transform:scale(1.02);box-shadow:0 0 0 2px rgba(64,158,255,.2)}.app-container{padding:var(--spacing-md);max-width:1200px;margin:0 auto;width:100%}@media screen and (max-width:1200px){.app-container{max-width:100%;padding:var(--spacing-sm)}}@media screen and (max-width:768px){.app-container{padding:var(--spacing-xs)}.el-form{padding:var(--spacing-sm)}.el-form-item{margin-bottom:var(--spacing-sm)}.el-table{font-size:var(--font-size-extra-small)}.el-table td,.el-table th{padding:8px 4px}.el-button-group,.el-radio-group{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}}@media screen and (max-width:480px){.el-form--inline .el-form-item{display:block;margin-right:0;margin-bottom:var(--spacing-sm)}.el-pagination{text-align:center}.el-pagination__sizes,.el-pagination__total{display:none}}.el-main{display:flex;flex-direction:column;align-items:stretch}.el-table td,.el-table th{text-align:center;vertical-align:middle}.image-container{margin:0 auto}.el-button-group,.el-pagination{display:flex;align-items:center;justify-content:center}.center-container,.el-form-item{display:flex;align-items:center}.center-container{justify-content:center;height:100%;width:100%}.flex-row{display:flex;flex-direction:row}.flex-column{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.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)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.el-table{margin-top:var(--spacing-md);border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-base);transition:var(--transition-base)}.el-table:hover{box-shadow:var(--box-shadow-hover)}.el-table__header-wrapper th{background-color:var(--background-color-base);font-weight:600;color:var(--text-color-primary);border-radius:var(--border-radius-small)}.el-form{padding:var(--spacing-md);background-color:#fff;border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-base)}.el-form,.el-form-item{margin-bottom:var(--spacing-md)}.el-button{border-radius:var(--border-radius-base);font-size:var(--font-size-small);transition:var(--transition-base);padding:8px 16px;cursor:pointer;position:relative;overflow:hidden}.el-button:hover{box-shadow:var(--box-shadow-dark);transform:translateY(-1px)}.el-button:active{transform:translateY(0);box-shadow:var(--box-shadow-base)}.el-button:focus{outline:none;box-shadow:0 0 0 2px rgba(64,158,255,.3)}.el-button:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background-color:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.el-button:active:after{width:300px;height:300px}.el-pagination{margin-top:var(--spacing-lg);text-align:right;padding:var(--spacing-md);background-color:#fff}.el-card,.el-pagination{border-radius:var(--border-radius-base);box-shadow:var(--box-shadow-base)}.el-card{margin-bottom:var(--spacing-md);transition:var(--transition-base);overflow:hidden}.el-card:hover{box-shadow:var(--box-shadow-hover)}.image-container{width:160px;height:90px;display:block;background-size:contain;background-repeat:no-repeat;background-position:50%}.full-width-link{display:block;width:100%;height:100%;padding:0 20px;line-height:40px;text-decoration:none;color:inherit}.full-width-link:hover{text-decoration:none;color:var(--primary-color)}.el-main{padding:20px;background-color:#fff}.el-aside{background-color:#f5f7fa;box-shadow:2px 0 8px rgba(0,0,0,.05)}.el-header{background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.05);line-height:60px;padding:0 20px}.el-container{height:100vh}.el-tag{border-radius:var(--border-radius-small);font-size:var(--font-size-extra-small)}.el-button-group,.el-radio-group{margin:15px 0}img{max-width:100%;height:auto;border-radius:var(--border-radius-small)}.el-tooltip__popper{font-size:var(--font-size-extra-small)}.el-input__inner{border-radius:var(--border-radius-base);transition:var(--transition-base);padding:8px 12px;border-width:1px}.el-input__inner:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(64,158,255,.2);outline:none}.el-input.is-disabled .el-input__inner{background-color:var(--background-color-light);border-color:var(--border-color-light);color:var(--text-color-disabled)}.el-select .el-input__inner{border-radius:var(--border-radius-base)}.el-select .el-input__inner:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(64,158,255,.2)}.el-select-dropdown__item:hover{background-color:var(--background-color-hover);color:var(--primary-color)}.el-select-dropdown__item.selected{color:var(--primary-color)}.el-date-editor .el-input__inner{border-radius:var(--border-radius-base)}.el-date-editor .el-input__inner:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(64,158,255,.2)}.el-form-item__label{font-weight:500;color:var(--text-color-primary)}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-select__input.is-focus,.el-form-item.is-error .el-textarea__inner{border-color:var(--danger-color);box-shadow:0 0 0 2px hsla(0,87%,69%,.2)}.el-form-item.is-success .el-input__inner,.el-form-item.is-success .el-select__input.is-focus,.el-form-item.is-success .el-textarea__inner{border-color:var(--success-color);box-shadow:0 0 0 2px rgba(103,194,58,.2)}.el-textarea__inner{border-radius:var(--border-radius-base);transition:var(--transition-base)}.el-textarea__inner:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(64,158,255,.2);outline:none}.avatar-uploader .el-upload{width:235px;height:150px;border:1px dashed var(--border-color-light);border-radius:var(--border-radius-base);cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.avatar-uploader:hover .el-upload{border-color:var(--primary-color)}.avatar-uploader-icon{font-size:28px;color:var(--text-color-placeholder)}.avatar-uploader img.avatar{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:var(--border-radius-base)}