:root{--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-strong: #3730a3;--color-primary-soft: #eef2ff;--color-primary-soft-hover: #e0e7ff;--color-success: #059669;--color-success-soft: #ecfdf5;--color-warning: #d97706;--color-warning-soft: #fffbeb;--color-danger: #dc2626;--color-danger-soft: #fef2f2;--color-info: #2563eb;--color-info-soft: #eff6ff;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-placeholder: #94a3b8;--color-text-inverse: #ffffff;--color-bg: #f8fafc;--color-card: #ffffff;--color-surface-subtle: #f8fafc;--color-surface-muted: #f1f5f9;--color-border: #e2e8f0;--color-border-subtle: #edf1f5;--radius-xs: 6px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .04);--shadow-md: 0 8px 22px rgba(15, 23, 42, .08);--shadow-lg: 0 18px 48px rgba(15, 23, 42, .12);--focus-ring: 0 0 0 3px rgba(79, 70, 229, .18);--el-color-primary: var(--color-primary);--el-color-primary-light-3: #818cf8;--el-color-primary-light-5: #a5b4fc;--el-color-primary-light-7: #c7d2fe;--el-color-primary-light-8: #e0e7ff;--el-color-primary-light-9: var(--color-primary-soft);--el-color-primary-dark-2: var(--color-primary-hover);--el-color-success: var(--color-success);--el-color-success-light-9: var(--color-success-soft);--el-color-warning: var(--color-warning);--el-color-warning-light-9: var(--color-warning-soft);--el-color-danger: var(--color-danger);--el-color-danger-light-9: var(--color-danger-soft);--el-color-info: var(--color-text-muted);--el-border-color: var(--color-border);--el-border-color-light: var(--color-border-subtle);--el-text-color-primary: var(--color-text-primary);--el-text-color-regular: var(--color-text-secondary);--el-text-color-secondary: var(--color-text-muted);--el-fill-color-light: var(--color-surface-subtle);--el-bg-color-page: var(--color-bg);--el-border-radius-base: var(--radius-sm)}*{box-sizing:border-box}html,body,#app{min-width:320px;height:100%}body{margin:0;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);background:var(--color-bg)}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--focus-ring)}::selection{color:var(--color-text-inverse);background:var(--color-primary)}.page-wrapper,.admin-page{min-height:100%}.page-container,.admin-page__content{min-height:100%;padding:var(--space-6);background:transparent}.admin-card{overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow)}.action-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.empty-tip,.empty-state{color:var(--color-text-muted)}.status-tag{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.35}.el-button{font-weight:600}.el-button:not(.is-link):not(.is-text){min-height:34px}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner,.el-date-editor.el-input__wrapper,.el-date-editor.el-range-editor{border-radius:var(--radius-sm)}.el-table{--el-table-header-bg-color: var(--color-surface-subtle);--el-table-header-text-color: var(--color-text-muted);--el-table-row-hover-bg-color: #f7f8ff;--el-table-border-color: var(--color-border-subtle);--el-table-text-color: var(--color-text-primary)}.el-table th.el-table__cell{font-size:12px;font-weight:700;letter-spacing:.02em}.el-table td.el-table__cell{padding-top:11px;padding-bottom:11px}.el-pagination{--el-pagination-button-bg-color: var(--color-card);--el-pagination-hover-color: var(--color-primary);font-weight:500}@media (max-width: 960px){body{overflow:auto}.page-container,.admin-page__content{padding:var(--space-4)}}@media (max-width: 640px){.page-container,.admin-page__content{padding:var(--space-3)}.el-dialog{width:calc(100vw - 24px)!important;max-width:none!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
