*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{color:#3d322b;background-color:#faf7f2;font-family:Microsoft YaHei,PingFang SC,Hiragino Sans GB,sans-serif;font-size:15px;line-height:1.6}h1,h2,h3{font-family:Noto Serif SC,Source Han Serif SC,思源宋体,SimSun,serif}a{color:#d4743a;text-decoration:none}a:hover{color:#e8a87c}img{vertical-align:middle;max-width:100%}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.4}.container{max-width:1400px;margin:0 auto;padding:24px}.page-card{background:#fff;border-radius:8px;padding:32px;transition:box-shadow .25s,transform .25s;box-shadow:0 1px 6px #3d322b0a}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header__title{color:#3d322b;font-size:22px;font-weight:600}.page-header__subtitle{color:#8b7e74;margin-top:4px;font-size:13px}.breadcrumb{color:#8b7e74;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;display:flex}.breadcrumb a{color:#8b7e74}.breadcrumb a:hover{color:#d4743a}.breadcrumb__separator{color:#bfb3a8}.breadcrumb__current{color:#3d322b}h1,h2,h3{scroll-margin-top:72px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.text-center{text-align:center}.text-right{text-align:right}.text-secondary{color:#8b7e74}.text-primary{color:#d4743a}.text-success{color:#2c5f2d}.text-warning{color:#e67e22}.text-danger{color:#c0392b}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-sm{gap:8px}.gap-md{gap:16px}.admin-layout{min-height:calc(100vh - 56px);display:flex}.admin-sidebar{background:#fff;border-right:1px solid #e8e0d5;flex-shrink:0;width:220px;padding:16px 0;overflow-y:auto}.admin-sidebar .el-menu{border-right:none}.admin-content{flex:1;min-width:0;padding:24px;overflow-y:auto}.filter-bar{background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:16px;display:flex}.filter-bar .el-select,.filter-bar .el-input{width:auto;min-width:180px;max-width:240px}.filter-bar .el-button{margin-left:auto}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{text-align:center;background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 6px #3d322b0a}.stat-card__value{color:#d4743a;font-size:32px;font-weight:700}.stat-card__label{color:#8b7e74;margin-top:4px;font-size:13px}:root{--el-color-primary:#d4743a;--el-color-primary-light-3:#dd9264;--el-color-primary-light-5:#e6af8e;--el-color-primary-light-7:#efcdb8;--el-color-primary-light-9:#f9eae1;--el-color-primary-dark-2:sienna}.el-button--primary{--el-button-bg-color:#d4743a;--el-button-border-color:#d4743a}.el-button--primary:hover{--el-button-hover-bg-color:sienna;--el-button-hover-border-color:sienna}.el-tabs__active-bar{background-color:#d4743a}.el-tabs__item.is-active,.el-menu-item.is-active{color:#d4743a}.el-pagination.is-background .el-pager li.is-active{background-color:#d4743a}.el-radio-button__inner:hover{color:#d4743a}.el-radio-button__orig-radio:checked+.el-radio-button__inner{background-color:#d4743a;border-color:#d4743a}.el-button:active{transform:scale(.97)}.el-button{transition:transform .15s,background-color .2s,border-color .2s,color .2s}@media (width<=1200px){.container{padding:16px}.stat-cards{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.admin-layout{flex-direction:column}.admin-sidebar{border-bottom:1px solid #e8e0d5;border-right:none;width:100%}.admin-content{padding:16px}.stat-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.container{padding:8px}.filter-bar{flex-direction:column}.filter-bar .el-select,.filter-bar .el-input{width:100%}.stat-cards{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column;align-items:flex-start;gap:8px}}
