:root{--primary:#2d8c4a;--primary-light:#e8f5ec;--primary-dark:#1e6b37;--primary-gradient:linear-gradient(135deg, #2d8c4a 0%, #3baf5c 50%, #1abc6c 100%);--primary-gradient-warm:linear-gradient(135deg, #2d8c4a 0%, #3baf5c 40%, #f5a623 100%);--success:#22c55e;--success-light:#ecfdf5;--warning:#f5a623;--warning-light:#fffbf0;--danger:#dc2626;--danger-light:#fef2f2;--info:#0d9488;--info-light:#f0fdfa;--bg-page:#f7f9f4;--bg-card:#fff;--bg-hover:#f0f4ec;--text-primary:#1a2e1f;--text-secondary:#5a7a5f;--text-muted:#8da392;--border:#dce5d8;--border-light:#edf2e8;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000a;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--transition-fast:.15s ease;--transition:.25s ease;--transition-slow:.4s ease;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Consolas, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#b8c9bd}::-webkit-scrollbar-thumb:hover{background:#8da392}.page-enter-from,.page-leave-to{opacity:0;transform:translateY(8px)}.page-enter-active,.page-leave-active{transition:opacity var(--transition) ease-out, transform var(--transition) ease-out}.page-leave-from,.page-enter-to{opacity:1;transform:translateY(0)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.container-sm{max-width:900px;margin:0 auto;padding:0 24px}.section-title{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}.section-subtitle{color:var(--text-secondary);margin-top:-.75rem;margin-bottom:2rem;font-size:1rem}.card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:box-shadow var(--transition), transform var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.el-button--primary{--el-button-bg-color:var(--primary);--el-button-border-color:var(--primary);--el-button-hover-bg-color:var(--primary-dark);--el-button-hover-border-color:var(--primary-dark)}.el-button{border-radius:var(--radius-sm);transition:all var(--transition-fast);font-weight:500}.el-button:active{transform:scale(.97)}.el-card{border-radius:var(--radius-md);border:1px solid var(--border)}.el-pagination.is-background .el-pager li:not(.is-disabled).is-active{background-color:var(--primary)}.el-tag{border-radius:var(--radius-sm);font-weight:500}.el-dialog{border-radius:var(--radius-lg)}.el-menu{border-right:none}.badge-shield{border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary);align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.leaf-accent{position:relative}.leaf-accent:after{content:"";background:var(--primary-gradient);border-radius:var(--radius-full);width:40px;height:3px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}@media (width<=768px){html{font-size:15px}.container,.container-sm{padding:0 16px}.section-title{margin-bottom:1rem;font-size:1.4rem}.section-subtitle{margin-top:-.5rem;font-size:.9rem}.admin-page .page-card{padding:16px}.admin-page .page-toolbar{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px}.admin-page .page-toolbar h2{font-size:1rem}.admin-page .page-pager{margin-top:16px}.admin-page .el-table{font-size:.82rem}.el-dialog{margin:0 16px;width:calc(100vw - 32px)!important}}@media (width<=380px){.container,.container-sm{padding:0 12px}.admin-page .page-card{padding:12px}}
