:root{--brand-primary: #1f3a5f;--brand-primary-hover: #2a4e7c;--brand-primary-active: #152a47;--brand-primary-light: #e8eef6;--brand-accent: #3b82f6;--brand-accent-light: #dbeafe;--color-text-primary: #111827;--color-text-regular: #374151;--color-text-secondary: #6b7280;--color-text-placeholder: #9ca3af;--color-border: #d1d5db;--color-border-light: #e5e7eb;--color-bg-page: #f8fafc;--color-bg-card: #ffffff;--color-bg-hover: #f9fafb;--color-bg-subtle: #f9fafb;--color-success: #059669;--color-success-bg: #ecfdf5;--brand-secondary: var(--color-success);--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--sidebar-bg: #0f2340;--sidebar-bg-hover: #1f3a5f;--sidebar-text: #c9d1e0;--sidebar-text-active: #ffffff;--sidebar-active-bg: #1f3a5f;--sidebar-active-indicator: #4a90e2;--font-family-base: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-tracking-tight: -.015em;--font-size-page-title: 20px;--font-size-card-title: 15px;--font-size-body: 14px;--font-size-secondary: 13px;--font-size-caption: 12px;--font-size-micro: 11px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .06);--ease-out: cubic-bezier(0, 0, .2, 1);--duration-fast: .15s;--duration-base: .2s;--layout-sidebar-width: 220px;--layout-sidebar-width-collapsed: 64px;--layout-header-height: 56px;--el-color-primary: var(--brand-primary);--el-color-primary-light-3: #4a6183;--el-color-primary-light-5: #7a8ea9;--el-color-primary-light-7: #a9b8ca;--el-color-primary-light-8: #c4d0dd;--el-color-primary-light-9: var(--brand-primary-light);--el-color-primary-dark-2: var(--brand-primary-active);--el-color-success: var(--color-success);--el-color-success-light-3: #4ade80;--el-color-success-light-5: #86efac;--el-color-success-light-7: #bbf7d0;--el-color-success-light-8: #d1fae5;--el-color-success-light-9: var(--color-success-bg);--el-color-warning: var(--color-warning);--el-color-warning-light-3: #fbbf24;--el-color-warning-light-5: #fcd34d;--el-color-warning-light-7: #fde68a;--el-color-warning-light-8: #fef3c7;--el-color-warning-light-9: var(--color-warning-bg);--el-color-danger: var(--color-danger);--el-color-danger-light-3: #f87171;--el-color-danger-light-5: #fca5a5;--el-color-danger-light-7: #fecaca;--el-color-danger-light-8: #fee2e2;--el-color-danger-light-9: var(--color-danger-bg);--el-color-error: var(--color-danger);--el-border-radius-base: var(--radius-md);--el-border-radius-small: var(--radius-sm);--el-text-color-primary: var(--color-text-primary);--el-text-color-regular: var(--color-text-regular);--el-text-color-secondary: var(--color-text-secondary);--el-border-color: var(--color-border);--el-border-color-light: var(--color-border-light);--el-border-color-lighter: var(--color-border-light);--el-bg-color-page: var(--color-bg-page);--el-font-family: var(--font-family-base)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{font-family:var(--font-family-base);font-size:var(--font-size-body);line-height:1.6;color:var(--color-text-regular);background:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{color:var(--color-text-primary);font-weight:600;letter-spacing:var(--font-tracking-tight);margin:0}a{color:var(--brand-accent);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--brand-primary)}:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--brand-accent);border-radius:var(--radius-sm)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}::-webkit-scrollbar-track{background:transparent}.el-button{font-weight:500;transition:all var(--duration-fast) var(--ease-out)}.el-button:not(.is-text):not(.is-link):not(.is-circle):hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.el-button:not(.is-text):not(.is-link):not(.is-circle):active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}.el-button--default{--el-button-bg-color: #fff;--el-button-border-color: var(--color-border);--el-button-text-color: var(--color-text-regular);--el-button-hover-bg-color: #fff;--el-button-hover-border-color: var(--brand-primary);--el-button-hover-text-color: var(--brand-primary)}.el-input__wrapper,.el-textarea__inner,.el-select__wrapper{background:var(--color-bg-subtle);transition:box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.el-input__wrapper.is-focus,.el-textarea__inner:focus,.el-select__wrapper.is-focused{background:#fff;box-shadow:0 0 0 1px var(--brand-primary) inset,0 0 0 3px #3b82f626!important}.el-card{border-radius:var(--radius-lg);border-color:var(--color-border-light);box-shadow:var(--shadow-sm)!important}.el-card__header{font-weight:600;letter-spacing:var(--font-tracking-tight);border-bottom-color:var(--color-border-light)}.el-table{--el-table-header-bg-color: var(--color-bg-subtle);--el-table-row-hover-bg-color: var(--color-bg-hover);--el-table-border-color: var(--color-border-light);font-size:var(--font-size-secondary)}.el-table th.el-table__cell{color:var(--color-text-secondary);font-weight:600}.el-dialog,.el-message-box{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)!important}.el-tag{border-radius:var(--radius-sm)}.el-pagination{--el-pagination-hover-color: var(--brand-primary)}@media (max-width: 768px){body{font-size:13px;-webkit-tap-highlight-color:transparent}.el-button:not(.is-text):not(.is-link):not(.is-circle):hover{transform:none;box-shadow:none}.el-row{display:block!important}.el-col{width:100%!important;max-width:100%!important;flex:none!important;padding-left:0!important;padding-right:0!important}.el-dialog{width:92vw!important;max-width:92vw!important;margin:6vh auto!important}.el-message-box{width:86vw!important;max-width:86vw!important}.el-card__body{padding:12px 14px}.el-pagination{flex-wrap:wrap;row-gap:6px}}@media (max-width: 768px){.page-container{padding:10px 12px 24px}.page-header__title{font-size:17px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
