:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#eff6ff;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-warning:#d97706;--color-warning-bg:#fffbeb;--color-text:#1f2937;--color-text-secondary:#6b7280;--color-text-muted:#9ca3af;--color-border:#e5e7eb;--color-bg:#f5f7fa;--color-card:#fff;--radius:10px;--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 16px rgba(0,0,0,.07);--shadow-lg:0 12px 32px rgba(0,0,0,.12);--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{color:inherit;font-family:inherit;font-size:inherit}::-moz-placeholder{color:var(--color-text-muted)}::placeholder{color:var(--color-text-muted)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}::-webkit-scrollbar-track{background:transparent}.page-container{margin:0 auto;max-width:1440px;padding:0 24px;width:100%}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.page-placeholder{padding:96px 24px;text-align:center}.page-placeholder .icon{align-items:center;background:var(--color-primary-light);border-radius:16px;color:var(--color-primary);display:flex;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.page-placeholder h1{font-size:22px;margin-bottom:8px}.page-placeholder p{color:var(--color-text-secondary);margin:0 auto;max-width:520px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease,transform .2s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(-4px)}@media(max-width:768px){.page-container{padding:0 12px}}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}
