#app{background-color:#f5f7f6;min-height:100vh}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:#606266;font-size:14px}.loading-spinner{width:36px;height:36px;border:3px solid #e0e8e6;border-top-color:#00ab84;border-radius:50%;animation:app-spin .8s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}:root{--brand-primary: #00ab84;--brand-primary-light: #00c49a;--brand-primary-dark: #008f6e;--brand-primary-bg: #e6f7f2;--sidebar-bg: #003a2e;--sidebar-hover: #004d3e;--sidebar-active: #00ab84;--sidebar-text: rgba(255,255,255,.85);--sidebar-text-dim: rgba(255,255,255,.55);--header-bg: #ffffff;--page-bg: #f5f7f6;--card-shadow: 0 2px 12px rgba(0,171,132,.08);--success: #00ab84;--warning: #f5a623;--danger: #e74c3c;--info: #5b8c85;--el-color-primary: #00ab84;--el-color-primary-light-3: #33c39d;--el-color-primary-light-5: #66d6b5;--el-color-primary-light-7: #99e9ce;--el-color-primary-light-8: #bff2e2;--el-color-primary-light-9: #e6f7f2;--el-color-primary-dark-2: #008f6e;--el-color-success: #00ab84;--el-color-warning: #f5a623;--el-color-danger: #e74c3c;--el-color-info: #5b8c85}.page-container{background:#fff;padding:24px;border-radius:8px;min-height:calc(100vh - 140px)}:root{--cell-padding-x: 20px;--row-padding-y: 16px;--header-padding-y: 16px;--form-item-margin: 22px;--form-label-width: 100px;--card-padding: 24px;--page-header-margin: 20px;--stat-gap: 16px;--filter-gap: 12px}.el-table{overflow-x:auto!important}.el-card{margin-bottom:16px}.el-button--primary{--el-button-bg-color: var(--el-color-primary);--el-button-border-color: var(--el-color-primary);--el-button-hover-bg-color: var(--brand-primary-light);--el-button-hover-border-color: var(--brand-primary-light);--el-button-active-bg-color: var(--brand-primary-dark);--el-button-active-border-color: var(--brand-primary-dark)}.el-link.el-link--primary{--el-link-text-color: var(--el-color-primary)}.el-tag--primary{--el-tag-bg-color: var(--brand-primary-bg);--el-tag-border-color: var(--brand-primary-bg);--el-tag-text-color: var(--el-color-primary)}.el-pagination .el-pager li.is-active{background-color:var(--el-color-primary)}.el-switch.is-checked .el-switch__core,.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-message--success{--el-message-bg-color: var(--brand-primary-bg);--el-message-text-color: var(--el-color-primary);--el-message-border-color: var(--brand-primary-bg)}.el-message--warning{--el-message-bg-color: #fef8e8;--el-message-text-color: var(--warning);--el-message-border-color: #fef8e8}.el-message--error{--el-message-bg-color: #fef0f0;--el-message-text-color: var(--danger);--el-message-border-color: #fef0f0}.el-table{width:100%}.el-table th.el-table__cell{padding:var(--header-padding-y) 0!important;font-size:13px}.el-table td.el-table__cell{padding:var(--row-padding-y) 0!important;font-size:13px}.el-table .cell{padding-left:var(--cell-padding-x)!important;padding-right:var(--cell-padding-x)!important}.el-form .el-form-item{margin-bottom:var(--form-item-margin)}.el-form .el-form-item__label{line-height:32px;font-weight:500;color:#606266}.el-form .el-input__wrapper,.el-form .el-select__wrapper,.el-form .el-textarea__inner{padding:4px 12px}.stat-card{background:#fff;border-radius:12px;padding:20px 24px}@media (max-width: 1400px){:root{--cell-padding-x: 16px}}@media (max-width: 1024px){:root{--cell-padding-x: 12px;--form-label-width: 90px}}.page-card,.el-card,.el-tab-pane{width:100%;box-sizing:border-box}.el-tabs__content,.el-tab-pane{width:100%!important}.products-layout,.members-layout{width:100%;display:flex;flex-wrap:nowrap}@media (max-width: 768px){.products-layout{flex-direction:column}.stat-cards{grid-template-columns:1fr!important}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}@media (max-width: 768px){.el-table{font-size:12px}.el-form-item__label{font-size:13px}}
