.tab-bar{display:flex;align-items:center;height:42px;background:#fff;border-bottom:1px solid #e5e7eb;-webkit-user-select:none;user-select:none;position:sticky;top:48px;z-index:1000}.tab-bar-scroll{flex:1;display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent;height:100%}.tab-bar-scroll::-webkit-scrollbar{height:2px}.tab-bar-scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}.tab-bar-scroll:hover::-webkit-scrollbar-thumb{background:#3b82f64d}.tab-item{display:flex;align-items:center;gap:10px;padding:0 18px;height:100%;min-width:100px;max-width:220px;font-size:13px;color:#6b7280;background:transparent;border-right:1px solid #f3f4f6;cursor:pointer;transition:all .2s ease;position:relative;white-space:nowrap;flex-shrink:0}.tab-item:hover{background:#f9fafb;color:#4b5563}.tab-item.active{background:#eff6ff;color:#3b82f6;font-weight:500}.tab-item.active:before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:1px 1px 0 0}.tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.tab-close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;font-size:11px;color:#9ca3af;flex-shrink:0;transition:all .15s ease;margin-left:2px}.tab-close:hover{color:#ef4444;background:#ef44441a}.tab-dirty-dot,.tab-dirty-dot-menu{display:inline-block;width:6px;height:6px;border-radius:50%;background:#f59e0b;flex-shrink:0}.tab-bar-actions{display:flex;align-items:center;padding:0 8px;height:100%;flex-shrink:0;background:#fff;border-left:1px solid #f3f4f6}.tab-action-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;font-size:14px;color:#6b7280;cursor:pointer;transition:all .15s ease}.tab-action-btn:hover{background:#eff6ff;color:#3b82f6}.tab-action-btn:active{transform:scale(.92)}.tab-action-btn--refreshing{animation:tab-refresh-spin .6s ease-in-out}@keyframes tab-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1200px){.tab-item{max-width:140px;padding:0 14px;gap:8px;font-size:12px}.tab-title{max-width:90px}}@media (max-width: 900px){.tab-item{max-width:110px;padding:0 10px;font-size:11px}.tab-title{max-width:65px}}@media (max-width: 768px){.tab-bar{display:none}}:root{--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 28px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-neutral-50: #f9fafb;--color-neutral-100: #f3f4f6;--color-neutral-200: #e5e7eb;--color-neutral-300: #d1d5db;--color-neutral-400: #9ca3af;--color-neutral-500: #6b7280;--color-neutral-600: #4b5563;--color-neutral-700: #374151;--color-neutral-800: #1f2937;--color-neutral-900: #111827;--color-success-50: #f0fdf4;--color-success-500: #10b981;--color-success-600: #059669;--color-warning-50: #fffbeb;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-error-50: #fef2f2;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-info-50: #eff6ff;--color-info-500: #3b82f6;--color-info-600: #2563eb;--bg-page: #f0f2f5;--bg-card: #ffffff;--bg-elevated: #ffffff;--bg-subtle: #f9fafb;--border-default: #e5e7eb;--border-subtle: #f3f4f6;--border-strong: #d1d5db;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-base: 8px;--radius-md: 12px;--radius-lg: 16px}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-neutral-800);background-color:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-layout{height:100vh;background:var(--bg-page)!important}.content-layout{margin-left:200px;transition:margin-left .2s;min-height:calc(100vh - 48px)}.ant-layout-sider{box-shadow:2px 0 8px #0000000f!important;z-index:999!important;background:var(--bg-card)!important;border-right:1px solid var(--border-default)}.ant-layout-sider .ant-menu{border-right:none!important;background:transparent!important}.app-header{background:var(--bg-card)!important;border-bottom:1px solid var(--border-default)!important;box-shadow:var(--shadow-sm)!important}.app-header .ant-typography{color:var(--color-neutral-900)!important;font-weight:var(--font-weight-semibold)!important}.app-header .ant-typography-secondary{color:var(--color-neutral-500)!important}.ant-card{background:var(--bg-card)!important;border:none!important;box-shadow:var(--shadow-base)!important;border-radius:var(--radius-base)!important;transition:box-shadow .2s ease!important}.ant-card:hover{box-shadow:var(--shadow-md)!important}.ant-card .ant-card-head{border-bottom:2px solid var(--color-primary-500)!important;background:var(--bg-subtle)!important;padding:16px 24px!important}.ant-card .ant-card-head-title{color:var(--color-neutral-900)!important;font-size:var(--font-size-lg)!important;font-weight:var(--font-weight-semibold)!important}.ant-card .ant-card-body{color:var(--color-neutral-700)!important;padding:24px!important}.ant-table{background:transparent!important;color:var(--color-neutral-800)!important;font-size:var(--font-size-base)!important}.ant-table-thead>tr>th{background:var(--bg-subtle)!important;color:var(--color-neutral-700)!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-semibold)!important;text-transform:uppercase!important;letter-spacing:.05em!important;border-bottom:2px solid var(--border-default)!important;padding:12px 16px!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--border-subtle)!important;color:var(--color-neutral-700)!important;padding:16px!important}.ant-table-tbody>tr:hover>td{background:var(--color-neutral-50)!important}.ant-table-tbody>tr.ant-table-row-selected>td{background:var(--color-primary-50)!important}.ant-form-item-label>label{color:var(--color-neutral-700)!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-medium)!important}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-input-number-input,.ant-picker,.ant-select-selector{background:var(--bg-card)!important;border:1px solid var(--border-strong)!important;color:var(--color-neutral-800)!important;font-size:var(--font-size-base)!important;border-radius:var(--radius-base)!important}.ant-input::placeholder,.ant-input-number-input::placeholder{color:var(--color-neutral-400)!important}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-input-number:hover,.ant-select:not(.ant-select-focused) .ant-select-selector:hover{border-color:var(--color-primary-500)!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused,.ant-input-number:focus,.ant-input-number-focused,.ant-select-focused .ant-select-selector{border-color:var(--color-primary-500)!important;box-shadow:0 0 0 3px #3b82f61a!important}.ant-btn{font-size:var(--font-size-base)!important;font-weight:var(--font-weight-medium)!important;border-radius:var(--radius-base)!important}.ant-btn-default{background:var(--bg-card)!important;border:1px solid var(--border-strong)!important;color:var(--color-neutral-700)!important}.ant-btn-default:hover{border-color:var(--color-primary-500)!important;color:var(--color-primary-600)!important;background:var(--color-primary-50)!important}.ant-btn-primary{background:var(--color-primary-600)!important;border:none!important;box-shadow:var(--shadow-sm)!important}.ant-btn-primary:hover{background:var(--color-primary-700)!important;box-shadow:var(--shadow-base)!important}.ant-btn-link{color:var(--color-primary-600)!important}.ant-modal-content{background:var(--bg-card)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.ant-modal-header{background:var(--bg-subtle)!important;border-bottom:2px solid var(--color-primary-500)!important;border-radius:var(--radius-md) var(--radius-md) 0 0!important}.ant-modal-title{color:var(--color-neutral-900)!important;font-size:var(--font-size-xl)!important;font-weight:var(--font-weight-semibold)!important}.ant-modal-body{color:var(--color-neutral-700)!important;font-size:var(--font-size-base)!important}.ant-tag{font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-medium)!important;border-radius:var(--radius-sm)!important;padding:2px 8px!important}.ant-tabs-tab{color:var(--color-neutral-500)!important;font-size:var(--font-size-base)!important;font-weight:var(--font-weight-medium)!important}.ant-tabs-tab:hover{color:var(--color-primary-600)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--color-primary-600)!important;font-weight:var(--font-weight-semibold)!important}.ant-tabs-ink-bar{background:var(--color-primary-600)!important;height:3px!important}.ant-statistic-title{color:var(--color-neutral-500)!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-medium)!important;text-transform:uppercase!important;letter-spacing:.05em!important}.ant-statistic-content{color:var(--color-neutral-900)!important;font-size:var(--font-size-3xl)!important;font-weight:var(--font-weight-bold)!important}.ant-pagination-item{background:var(--bg-card)!important;border:1px solid var(--border-strong)!important;border-radius:var(--radius-base)!important}.ant-pagination-item a{color:var(--color-neutral-700)!important;font-size:var(--font-size-base)!important}.ant-pagination-item-active{background:var(--color-primary-600)!important;border-color:var(--color-primary-600)!important}.ant-pagination-item-active a{color:#fff!important;font-weight:var(--font-weight-semibold)!important}.ant-drawer-content{background:var(--bg-card)!important}.ant-drawer-header{border-bottom:2px solid var(--color-primary-500)!important;background:var(--bg-subtle)!important}.ant-drawer-title{color:var(--color-neutral-900)!important;font-size:var(--font-size-xl)!important;font-weight:var(--font-weight-semibold)!important}.status-success{color:var(--color-success-600)!important;font-weight:var(--font-weight-medium)!important}.status-warning{color:var(--color-warning-600)!important;font-weight:var(--font-weight-medium)!important}.status-error{color:var(--color-error-600)!important;font-weight:var(--font-weight-medium)!important}.status-info{color:var(--color-info-600)!important;font-weight:var(--font-weight-medium)!important}::-webkit-scrollbar-track{background:var(--color-neutral-100)}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5;color:#1f2937;font-size:14px;line-height:1.5}#root{height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f3f4f6}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.app-layout{height:100vh}.content-layout{margin-left:200px;transition:margin-left .2s}.app-content{margin:0;padding:24px;background:transparent;min-height:calc(100vh - 48px);overflow-y:auto}@media (max-width: 768px){.content-layout{margin-left:0}.app-content{padding:16px}}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media print{.no-print{display:none!important}.app-content{margin:0;padding:0}.ant-table{page-break-inside:avoid}}
