:root{--font-sans: Inter, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-caption: 11px;--font-size-secondary: 12px;--font-size-body: 13px;--font-size-section-title: 16px;--font-size-page-title: 20px;--font-size-metric: 22px;--line-height-caption: 16px;--line-height-secondary: 18px;--line-height-body: 20px;--line-height-section-title: 24px;--line-height-page-title: 28px;--line-height-metric: 30px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--color-primary-50: #eef6ff;--color-primary-100: #d9eafb;--color-primary-200: #b8d6f3;--color-primary-300: #8db9e4;--color-primary-400: #5f97ce;--color-primary-500: #3478b8;--color-primary-600: #1f5e9d;--color-primary-700: #184d82;--color-primary-800: #153f69;--color-primary-900: #102f4f;--color-bg-page: #f5f7fa;--color-bg-surface: #ffffff;--color-bg-subtle: #f8fafc;--color-bg-muted: #f1f5f9;--color-border-subtle: #e6ebf1;--color-border-default: #d8e0ea;--color-border-strong: #cbd5e1;--color-text-primary: #18212f;--color-text-secondary: #4b5b6d;--color-text-tertiary: #7a8797;--color-text-disabled: #a8b3c1;--color-text-inverse: #ffffff;--color-action: #2563eb;--color-action-hover: #1d4ed8;--color-approval: #6d5bd0;--color-approval-bg: #f1efff;--color-risk: #b45309;--color-risk-bg: #fffaeb;--color-change: #0f766e;--color-change-bg: #ecfdf5;--color-success: #15803d;--color-success-bg: #ecfdf3;--color-success-border: #abefc6;--color-success-text: #067647;--color-warning: #b45309;--color-warning-bg: #fffaeb;--color-warning-border: #fedf89;--color-warning-text: #92400e;--color-error: #b42318;--color-error-bg: #fef3f2;--color-error-border: #fecdca;--color-error-text: #b42318;--color-processing: #1f5e9d;--color-processing-bg: #eef6ff;--color-processing-border: #b8d6f3;--color-processing-text: #184d82;--color-neutral-status: #536174;--color-neutral-status-bg: #f8fafc;--color-neutral-status-border: #e6ebf1;--color-neutral-status-text: #4b5b6d;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 999px;--border-width-default: 1px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .1);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .14);--topbar-height: 56px;--sidebar-width: 232px;--sidebar-collapsed-width: 64px;--page-padding-compact: 20px;--page-padding-default: 24px;--drawer-width-sm: 480px;--drawer-width-md: 560px;--drawer-width-lg: 720px;--button-height-sm: 28px;--button-height-md: 32px;--button-height-lg: 36px;--input-height-md: 32px;--sidebar-item-height: 40px;--table-row-height-compact: 40px;--table-row-height-default: 48px;--table-header-height: 40px;--drawer-header-height: 56px;--tag-height-sm: 22px;--tag-height-md: 24px;--motion-fast: .12s;--motion-default: .16s;--motion-slow: .22s;--motion-ease: cubic-bezier(.2, 0, 0, 1);--z-sticky: 100;--z-dropdown: 1000;--z-drawer: 1100;--z-modal: 1200;--z-toast: 1300}body{margin:0;background:var(--color-bg-page);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);letter-spacing:0}button,input,select,textarea{font:inherit;letter-spacing:0}.surface{background:var(--color-bg-surface);border:var(--border-width-default) solid var(--color-border-subtle);border-radius:var(--radius-md)}.status-tag{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--tag-height-md);padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--font-size-secondary);line-height:var(--line-height-secondary);font-weight:var(--font-weight-medium);white-space:nowrap}.status-tag-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.status-tag-warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.status-tag-error{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.status-tag-processing{background:var(--color-processing-bg);border-color:var(--color-processing-border);color:var(--color-processing-text)}.status-tag-neutral{background:var(--color-neutral-status-bg);border-color:var(--color-neutral-status-border);color:var(--color-neutral-status-text)}.focus-ring:focus-visible{outline:2px solid var(--color-primary-200);outline-offset:2px}*{box-sizing:border-box}html,body,#root{min-width:1280px;min-height:100vh}.app-shell{min-height:100vh;background:var(--color-bg-page)}.boot-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:var(--space-3);background:var(--color-bg-page);color:var(--color-text-secondary)}.boot-screen strong{color:var(--color-text-primary);font-size:var(--font-size-section-title)}.boot-error{color:var(--color-error-text)}.auth-screen{position:relative;isolation:isolate;overflow:hidden;color:var(--color-text-primary);background:linear-gradient(135deg,#eaf1f6,#f7fafc 42%,#e1ebf2)}.auth-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(42,87,121,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(42,87,121,.075) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(115deg,rgba(0,0,0,.95),rgba(0,0,0,.24));mask-image:linear-gradient(115deg,#000000f2,#0000003d)}.auth-screen>:not(.auth-particles){position:relative;z-index:1}.auth-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none}.auth-layout{width:min(980px,calc(100vw - 112px));display:grid;grid-template-columns:minmax(0,1fr) 392px;align-items:center;gap:var(--space-8)}.auth-identity{max-width:500px;display:grid;gap:var(--space-4);color:var(--color-text-primary)}.auth-brand-row{display:flex;align-items:center;gap:var(--space-3)}.auth-brand-row strong{display:block;font-size:18px;line-height:24px}.auth-brand-row span{display:block;color:var(--color-text-secondary);font-size:var(--font-size-secondary)}.auth-brand-mark{width:38px;height:38px;box-shadow:0 10px 24px #1a56823d}.auth-identity h1{margin:0;color:#123a58;font-size:36px;line-height:46px;font-weight:var(--font-weight-semibold);letter-spacing:0}.auth-identity p{margin:0;max-width:460px;color:#45677d;font-size:15px;line-height:26px}.auth-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);max-width:460px}.auth-signal-grid span{min-height:34px;display:grid;place-items:center;border:1px solid rgba(56,105,139,.18);border-radius:var(--radius-md);background:#ffffff85;color:#2c5874;font-size:12px;font-weight:var(--font-weight-semibold);box-shadow:0 10px 24px #14416212}.auth-form{width:360px;display:grid;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.auth-screen .auth-form{width:392px;padding:var(--space-6);border-color:#3b648233;background:#ffffffd6;box-shadow:0 24px 70px #1236522e,0 1px #fffc inset;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.auth-form-header{display:grid;gap:var(--space-1);padding-bottom:var(--space-2)}.auth-form-header strong{color:var(--color-text-primary);font-size:20px;line-height:28px}.auth-form-header span{color:var(--color-text-tertiary);font-size:var(--font-size-secondary);line-height:var(--line-height-secondary)}.auth-form label{display:grid;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-secondary)}.auth-form input{height:var(--input-height-md);border:1px solid var(--color-border-default);border-radius:var(--radius-md);padding:0 var(--space-3);color:var(--color-text-primary);background:var(--color-bg-surface);outline:none}.auth-form input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #2076ae21}.auth-error{color:var(--color-error-text);font-size:var(--font-size-secondary)}.auth-hint{color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.auth-actions{display:flex;align-items:center;gap:var(--space-2)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--z-sticky);width:var(--sidebar-width);display:flex;flex-direction:column;background:var(--color-bg-surface);border-right:1px solid var(--color-border-subtle)}.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}.brand-block{height:var(--topbar-height);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-primary-600);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.brand-text{display:grid}.brand-text strong{font-size:var(--font-size-body);line-height:var(--line-height-body)}.brand-text span{color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-item span,.sidebar-collapsed .nav-item em{display:none}.nav-list{padding:var(--space-3) var(--space-2);display:grid;gap:var(--space-1)}.sidebar-footer{margin-top:auto;padding:var(--space-3) var(--space-2);border-top:1px solid var(--color-border-subtle);display:grid;gap:var(--space-1)}.nav-item{width:100%;min-height:var(--sidebar-item-height);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-body);text-align:left;cursor:pointer}.nav-item:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.nav-item.is-active{position:relative;background:var(--color-primary-50);color:var(--color-primary-700);font-weight:var(--font-weight-semibold)}.nav-item.is-active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:var(--radius-full);background:var(--color-primary-600)}.nav-item em{margin-left:auto;min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:var(--radius-full);background:var(--color-warning-bg);color:var(--color-warning-text);font-style:normal;font-size:var(--font-size-caption);border:1px solid var(--color-warning-border)}.app-main{margin-left:var(--sidebar-width);min-height:100vh}.sidebar-collapsed .app-main{margin-left:var(--sidebar-collapsed-width)}.topbar{position:sticky;top:0;z-index:var(--z-sticky);height:var(--topbar-height);display:grid;grid-template-columns:auto minmax(360px,560px) auto;align-items:center;gap:var(--space-4);padding:0 var(--page-padding-default);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-subtle)}.workspace-switcher,.global-search,.topbar-actions,.user-chip{display:flex;align-items:center}.workspace-switcher{gap:var(--space-2);color:var(--color-text-secondary);white-space:nowrap}.global-search{position:relative;height:var(--input-height-md);gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.global-search:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-50)}.global-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:var(--z-dropdown);max-height:360px;overflow:auto;padding:var(--space-1);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-md)}.global-search-results button{width:100%;min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--space-2);padding:var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);text-align:left;cursor:pointer}.global-search-results button:hover{background:var(--color-bg-subtle)}.global-search-results strong,.global-search-results small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-results span{color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.global-search-results small{grid-column:1 / -1;color:var(--color-text-secondary)}.global-search-empty{padding:var(--space-3);color:var(--color-text-secondary)}.global-search input,.filter-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--color-text-primary)}.topbar-actions{justify-content:flex-end;gap:var(--space-2)}.user-chip{height:30px;gap:var(--space-1);padding:0 var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary)}.main-content{padding:var(--page-padding-default)}.page-stack{display:grid;gap:var(--space-4)}.page-header{min-height:72px;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6)}.page-title-row{display:flex;align-items:center;gap:var(--space-2)}.page-header h1{margin:0;color:var(--color-text-primary);font-size:var(--font-size-page-title);line-height:var(--line-height-page-title);font-weight:var(--font-weight-semibold)}.page-header p{margin:var(--space-1) 0 0;color:var(--color-text-secondary)}.page-meta{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.page-actions,.section-actions,.row-actions{display:flex;align-items:center;gap:var(--space-2)}.btn,.icon-button{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.btn{height:var(--button-height-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:0 var(--space-3);font-weight:var(--font-weight-medium);white-space:nowrap}.btn-small{height:var(--button-height-sm);padding:0 var(--space-2);font-size:var(--font-size-secondary)}.btn-large{height:var(--button-height-lg);padding:0 var(--space-4)}.btn-primary{border-color:var(--color-primary-600);background:var(--color-primary-600);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-700)}.btn-default:hover,.btn-ghost:hover,.icon-button:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.btn-danger{border-color:var(--color-error-border);background:var(--color-error-bg);color:var(--color-error-text)}.btn-text,.btn-ghost{border-color:transparent;background:transparent}.btn:disabled{cursor:not-allowed;opacity:.55}.icon-button{width:30px;height:30px;display:inline-grid;place-items:center}.icon-button.is-active{background:var(--color-primary-50);color:var(--color-primary-700)}.metric-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.metric-item{min-height:104px;padding:var(--space-4);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.metric-label{color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.metric-value{margin-top:var(--space-2);color:var(--color-text-primary);font-size:var(--font-size-metric);line-height:var(--line-height-metric);font-weight:var(--font-weight-semibold)}.metric-delta,.metric-context{margin-top:var(--space-1);font-size:var(--font-size-secondary)}.metric-good{color:var(--color-success-text)}.metric-bad{color:var(--color-warning-text)}.metric-neutral,.metric-context{color:var(--color-text-tertiary)}.section{padding:var(--space-4)}.section-header{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.section-header h2{margin:0;font-size:var(--font-size-section-title);line-height:var(--line-height-section-title);font-weight:var(--font-weight-semibold)}.section-header p{margin:var(--space-1) 0 0;color:var(--color-text-tertiary)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(320px,.9fr);gap:var(--space-4)}.production-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);gap:var(--space-4)}.readiness-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-4);align-items:start}.readiness-score{min-height:216px;display:grid;align-content:start;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.readiness-score span,.readiness-score small,.readiness-score p{color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.readiness-score strong{color:var(--color-text-primary);font-size:42px;line-height:1;font-weight:var(--font-weight-semibold)}.readiness-score p{margin:var(--space-2) 0 0}.readiness-score .readiness-error{color:var(--color-error-text)}.readiness-bar{height:8px;overflow:hidden;border-radius:var(--radius-full);background:var(--color-border-subtle)}.readiness-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-primary-600);transition:width var(--motion-normal) var(--motion-ease)}.readiness-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.readiness-step{min-height:170px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface)}.readiness-step-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.readiness-step-title strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.readiness-step span,.readiness-step p,.readiness-step small{color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.readiness-step p{margin:var(--space-2) 0}.guided-workflow{display:grid;gap:var(--space-3)}.guided-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface)}.guided-step-index{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-primary-50);color:var(--color-primary-700);font-weight:var(--font-weight-semibold)}.guided-step-main{display:grid;gap:var(--space-2);min-width:0}.guided-step-title{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center}.guided-step-title strong,.guided-step-checks strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.guided-step-title span,.guided-step p,.guided-step-checks span{color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.guided-step p{margin:0}.guided-step-checks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}.guided-step-checks div{display:grid;gap:2px;min-width:0}.guided-step-checks strong{overflow-wrap:anywhere}.guided-step-action{padding-top:1px}.import-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.import-guide-card{min-height:132px;display:grid;align-content:start;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.import-guide-card strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.import-guide-card span{color:var(--color-text-tertiary);font-size:var(--font-size-secondary);overflow-wrap:anywhere}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-4)}.two-column-grid,.settings-grid,.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.section-divider{height:1px;margin:var(--space-4) 0;background:var(--color-border-subtle)}.table-actions{display:flex;justify-content:flex-end;gap:var(--space-1);flex-wrap:wrap}.governance-policy-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:var(--space-4);align-items:start}.governance-policy-form{padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.retention-result{grid-column:1 / -1;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface)}.contract-governance-form{margin-bottom:var(--space-3)}.edit-context-bar{min-height:36px;margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-3);border:1px solid var(--color-approval-bg);border-radius:var(--radius-md);background:var(--color-primary-50);color:var(--color-primary-700);font-weight:var(--font-weight-medium)}.contract-diff-panel{margin-top:var(--space-3);display:grid;gap:var(--space-3)}.filter-bar{min-height:48px;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2)}.filter-chip{height:30px;display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary)}.filter-search{margin-left:auto;min-width:220px;height:30px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-secondary)}.filter-note{height:30px;display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2);color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.data-table{overflow:hidden}.data-table table{width:100%;border-collapse:collapse;table-layout:fixed}.data-table th{height:var(--table-header-height);padding:0 var(--space-3);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--font-size-secondary);font-weight:var(--font-weight-semibold);text-align:left;white-space:nowrap}.data-table td{height:var(--table-row-height-default);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--color-bg-subtle)}.empty-cell{text-align:center;color:var(--color-text-tertiary);height:120px!important}.entity-cell{max-width:100%;display:grid;gap:2px;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.entity-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.entity-subtitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.text-action{border:0;background:transparent;color:var(--color-primary-600);cursor:pointer;font-weight:var(--font-weight-medium)}.text-action:disabled{cursor:not-allowed;opacity:.55}.chevron-link{display:inline-flex;align-items:center}.status-tag,.risk-tag{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--tag-height-md);padding:0 var(--space-2);border-radius:var(--radius-sm);border:1px solid transparent;font-size:var(--font-size-secondary);font-weight:var(--font-weight-medium);white-space:nowrap}.status-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.status-approval{background:var(--color-approval-bg);border-color:#d8d2ff;color:var(--color-approval)}.status-processing{background:var(--color-processing-bg);border-color:var(--color-processing-border);color:var(--color-processing-text)}.status-error{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.status-warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.status-neutral{background:var(--color-neutral-status-bg);border-color:var(--color-neutral-status-border);color:var(--color-neutral-status-text)}.risk-low{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.risk-medium{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning-text)}.risk-high,.risk-blocked{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.permission-pill{display:inline-flex;align-items:center;height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border-subtle)}.tab{height:38px;display:inline-flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-weight:var(--font-weight-medium)}.tab.is-active{color:var(--color-primary-700);border-bottom-color:var(--color-primary-600)}.entity-list,.status-summary,.insight-list{display:grid;gap:var(--space-2)}.entity-list-item,.summary-row{min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface);text-align:left;cursor:pointer}.entity-list-item:hover,.summary-row:hover{background:var(--color-bg-subtle)}.entity-list-item strong,.summary-row strong,.insight-item strong{display:block;color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.entity-list-item span,.summary-row span,.insight-item span,.entity-list-item small{display:block;margin-top:2px;color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-stack{display:grid;gap:2px}.table-stack strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.table-stack span{color:var(--color-text-tertiary);font-size:var(--font-size-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-list-status{display:grid;justify-items:end;gap:var(--space-1)}.empty-inline{min-height:72px;display:grid;place-items:center;color:var(--color-text-tertiary);border:1px dashed var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.key-value-list{margin:0;display:grid;gap:var(--space-3)}.key-value-list div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:var(--space-3)}.key-value-list dt{color:var(--color-text-tertiary)}.key-value-list dd{margin:0;color:var(--color-text-primary)}.timeline{display:grid;gap:var(--space-4)}.timeline-item{display:grid;grid-template-columns:16px minmax(0,1fr);gap:var(--space-3)}.timeline-dot{margin-top:5px;width:10px;height:10px;border-radius:var(--radius-full);background:var(--color-primary-600)}.timeline-dot.success{background:var(--color-success)}.timeline-dot.warning{background:var(--color-warning)}.timeline-dot.error{background:var(--color-error)}.timeline-title{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.timeline-meta,.timeline-detail{color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer);pointer-events:none}.drawer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0f172a2e;pointer-events:auto}.drawer{position:absolute;top:0;right:0;bottom:0;display:grid;grid-template-rows:var(--drawer-header-height) minmax(0,1fr) auto;background:var(--color-bg-surface);border-left:1px solid var(--color-border-default);box-shadow:var(--shadow-md);pointer-events:auto}.drawer-small{width:var(--drawer-width-sm)}.drawer-medium{width:var(--drawer-width-md)}.drawer-large{width:var(--drawer-width-lg)}.drawer-header,.drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.drawer-header h2{margin:0;font-size:var(--font-size-section-title);line-height:var(--line-height-section-title)}.drawer-subtitle{margin-top:2px;display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.drawer-body{min-height:0;overflow:auto;padding:var(--space-4)}.drawer-footer{min-height:56px;justify-content:flex-end;border-top:1px solid var(--color-border-subtle);border-bottom:0}.drawer-stack{display:grid;gap:var(--space-4)}.policy-list,.tool-call-list{display:grid;gap:var(--space-2)}.policy-item,.tool-call,.insight-item{display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.policy-item{grid-template-columns:minmax(0,1fr) auto;align-items:center}.policy-item strong,.tool-call strong{color:var(--color-text-primary)}.policy-item span,.tool-call span{color:var(--color-text-tertiary);font-size:var(--font-size-secondary)}.policy-status{font-size:var(--font-size-secondary);font-weight:var(--font-weight-semibold)}.policy-通过{color:var(--color-success-text)}.policy-需要复核,.policy-未检查{color:var(--color-warning-text)}.policy-阻断{color:var(--color-error-text)}.approval-step-list{display:grid;gap:var(--space-2)}.approval-step{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.approval-step.is-current{border-color:var(--color-primary-300);background:var(--color-primary-50)}.approval-step>span{width:24px;height:24px;display:inline-grid;place-items:center;border-radius:var(--radius-full);background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--font-size-secondary);font-weight:var(--font-weight-semibold)}.approval-step strong{color:var(--color-text-primary)}.approval-step small{display:block;color:var(--color-text-tertiary)}.approval-decision-form{display:grid;gap:var(--space-3)}.approval-decision-form label{display:grid;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-secondary)}.approval-decision-form textarea{min-height:84px;width:100%;resize:vertical;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit}.enterprise-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.enterprise-form label{display:grid;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-secondary)}.enterprise-form .span-2{grid-column:1 / -1}.enterprise-form input,.enterprise-form select,.enterprise-form textarea{width:100%;min-height:var(--input-height-md);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:0 var(--space-3);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit;outline:none}.enterprise-form textarea{min-height:96px;padding:var(--space-3);resize:vertical}.form-note{padding:var(--space-3);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-text-secondary);font-size:var(--font-size-secondary)}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2)}.json-viewer{max-height:360px;overflow:auto;margin:0;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-muted);color:var(--color-text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:var(--font-size-secondary);line-height:1.6;white-space:pre-wrap;word-break:break-word}.enterprise-form input:focus,.enterprise-form select:focus,.enterprise-form textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-50)}.approval-checkbox{grid-template-columns:auto minmax(0,1fr);align-items:center}.approval-checkbox input{width:16px;height:16px}.review-panel{display:grid;gap:var(--space-2);color:var(--color-text-secondary)}.review-panel strong{color:var(--color-text-primary)}.confidence{color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);padding:var(--space-2)}.queue-tabs{display:flex;gap:var(--space-2)}.queue-tab{height:32px;display:inline-flex;align-items:center;padding:0 var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary)}.queue-tab.is-active{background:var(--color-primary-50);border-color:var(--color-primary-200);color:var(--color-primary-700);font-weight:var(--font-weight-semibold)}.queue-tab.high{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.toast-stack{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:var(--z-toast);width:360px;display:grid;gap:var(--space-2)}.toast{display:grid;gap:2px;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:var(--color-bg-surface);box-shadow:var(--shadow-md)}.toast strong{color:var(--color-text-primary)}.toast span{color:var(--color-text-secondary)}.toast-success{border-color:var(--color-success-border)}.toast-warning,.toast-processing{border-color:var(--color-warning-border)}.toast-error{border-color:var(--color-error-border)}.spin-slow{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1360px){.topbar{padding:0 var(--page-padding-compact);grid-template-columns:auto minmax(280px,420px) auto}.main-content{padding:var(--page-padding-compact)}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.production-grid,.readiness-shell,.readiness-steps{grid-template-columns:minmax(0,1fr)}.guided-step{grid-template-columns:34px minmax(0,1fr)}.guided-step-action{grid-column:2}.import-guide-grid{grid-template-columns:minmax(0,1fr)}.drawer-large{width:var(--drawer-width-md)}}
