:root{--color-primary:#3a424a;--color-primary-light:#eef0f2;--color-primary-dark:#262c33;--color-success:#1fb68c;--color-warning:#e8a93c;--color-danger:#e85f5c;--color-info:#5c6577;--color-blue:#4a90e2;--color-purple:#9d7de8;--color-pink:#ec4899;--color-text:#161b28;--color-text-secondary:#3e4658;--color-text-tertiary:#8b93a3;--color-bg:#f7f8fa;--color-bg-hover:#eff3f5;--color-card:#fff;--color-border:#eef0f4;--color-divider:#f2f4f8;--color-module-accent:#b08d57;--color-sidebar-bg-1:#22272c;--color-sidebar-bg-2:#15191d;--color-sidebar-text:#c3cad1;--color-sidebar-text-active:#fff;--color-sidebar-active-bg:#b08d5733;--color-sidebar-active-border:#b08d57;--font-sidebar-size:15px;--font-sidebar-weight:500;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--shadow-sm:0 1px 2px #141e320a;--shadow-card:0 4px 12px #141e320f;--shadow-fab:0 6px 16px #3a424a66;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--font-num:"DIN Alternate", "Roboto Mono", monospace}*{scrollbar-width:thin;scrollbar-color:#c2cbd3 transparent}::-webkit-scrollbar-track{background:#eef1f4;border-radius:6px}::-webkit-scrollbar-thumb{background:#c2cbd3;border:3px solid #eef1f4;border-radius:6px}::-webkit-scrollbar-corner{background:#eef1f4}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.font-num{font-family:var(--font-num)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-wrap{flex-wrap:wrap}.card{background:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-4)}.n-button--primary-type{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%)!important;border:none!important}.n-button--primary-type:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3a424a4d;background:linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%)!important}.n-button--primary-type.n-button--ghost{border:1px solid var(--color-primary)!important;color:var(--color-primary)!important;background:0 0!important}.n-data-table{border-radius:var(--radius-md);overflow:hidden}.n-data-table-th{background:var(--color-bg)!important;color:var(--color-text-secondary)!important;font-weight:600!important}.n-form-item .n-form-item-label{color:var(--color-text-secondary);font-weight:600}.n-input,.n-select,.n-input-number{border-radius:var(--radius-md)!important}.n-input:hover,.n-select:hover,.n-input-number:hover{border-color:var(--color-primary)!important}.n-input--focus,.n-select--focus,.n-input-number--focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px var(--color-primary-light)!important}.n-card{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-card)!important}.n-card-header{border-bottom:1px solid var(--color-divider)!important}.n-tag{border-radius:var(--radius-sm)!important}.n-dialog{border-radius:var(--radius-lg)!important}.n-message{border-radius:var(--radius-md)!important}
