:root{--primary: #2B5AED;--primary-dark: #1E42B8;--primary-light: #E8EEFF;--accent: #00B578;--danger: #F53F3F;--warning: #FF7D00;--bg-layout: #F3F4F6;--bg-card: #FFFFFF;--bg-sider: #001529;--bg-sider-active: #2B5AED;--text-title: #1F2329;--text-body: #4E5969;--text-secondary: #86909C;--sider-text: rgba(255, 255, 255, .82);--sider-text-active: #FFFFFF;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--shadow-card: 0 1px 3px 0 rgba(0, 0, 0, .08), 0 1px 2px -1px rgba(0, 0, 0, .06);--shadow-hover: 0 8px 24px rgba(43, 90, 237, .12), 0 2px 6px rgba(0, 21, 41, .06);--transition-fast: .2s ease}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg-layout);color:var(--text-body);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#00000047}::-webkit-scrollbar-track{background:transparent}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header .page-title{font-size:18px;font-weight:600;color:var(--text-title)}.content-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px 20px;transition:box-shadow var(--transition-fast)}.pagination-right{display:flex;justify-content:flex-end;margin-top:16px}.modal-section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-title);margin:18px 0 10px}.modal-section-title:before{content:"";width:3px;height:14px;border-radius:2px;background:var(--primary)}.modal-total-bar{display:flex;justify-content:flex-end;align-items:baseline;gap:8px;margin-top:14px;padding:12px 16px;background:var(--bg-layout);border-radius:var(--radius-sm);font-size:13px;color:var(--text-body)}.modal-total-bar strong{font-size:20px;font-weight:700;color:var(--danger)}@media(max-width:768px){.page-header{flex-wrap:wrap;gap:8px}.content-card{padding:14px}}.fade-slide-enter-active{transition:opacity .25s ease,transform .25s ease}.fade-slide-enter-from{opacity:0;transform:translateY(8px)}.fade-slide-leave-active{transition:opacity .15s ease}.fade-slide-leave-to{opacity:0}
