    :root { --sales:#b42318; --stock:#175cd3; --price:#b54708; --store:#6941c6; --order:#067647; --base:#344054; --bg:#fbf5ea; --bg-soft:#fffaf1; --card:#fffdf8; --card-2:#fff7e8; --line:#ead9bd; --line-soft:#f2e4ce; --text:#3c2c1c; --muted:#8b7355; --muted-2:#a98d68; --primary:#a86412; --primary-dark:#7a4108; --primary-soft:#f5d8a7; --amber:#d89425; --green:#5d8b3b; --green-soft:#eaf3df; --red:#d76045; --red-soft:#fae7e0; --shadow:0 18px 40px rgba(103,66,22,.08); --radius-lg:18px; --radius-md:12px; --radius-sm:8px; --sidebar-w:240px; --sidebar-w-collapsed:64px; }
    body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #17202a; background: #f6f7f9; }
    .app-sidebar { position: fixed; left: 0; top: 0; bottom: 0; width: 238px; background:#101828; color:#fff; z-index: 10; display:flex; flex-direction:column; border-right:1px solid #344054; transition:width .18s ease; }
    .sidebar-head { padding:14px 12px 12px; border-bottom:1px solid #344054; display:flex; gap:10px; align-items:flex-start; }
    .sidebar-brand { min-width:0; flex:1; }
    .sidebar-toggle { width:32px; min-width:32px; height:32px; padding:0; border:1px solid #344054; background:#1d2939; color:#f9fafb; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }
    .sidebar-toggle:hover { background:#344054; color:#fff; }
    .sidebar-title { font-weight:800; font-size:16px; }
    .sidebar-sub { color:#98a2b3; font-size:12px; margin-top:4px; line-height:1.45; }
    .sidebar-nav { padding:10px 8px; overflow:auto; display:flex; flex-direction:column; gap:4px; }
    .sidebar-section-title { padding:10px 10px 4px; color:#98a2b3; font-size:11px; font-weight:800; letter-spacing:.08em; }
    .sidebar-nav a { color:#d0d5dd; text-decoration:none; padding:9px 10px; border-radius:6px; font-size:13px; display:flex; align-items:center; justify-content:space-between; gap:8px; white-space:nowrap; }
    .sidebar-nav a:hover { background:#1d2939; color:#fff; }
    .sidebar-nav a.current { background:#067647; color:#fff; }
    .sidebar-link-text { overflow:hidden; text-overflow:ellipsis; }
    .sidebar-link-index { min-width:18px; text-align:center; color:inherit; opacity:.85; }
    .sidebar-foot { padding:10px 14px; border-top:1px solid #344054; color:#98a2b3; font-size:12px; line-height:1.45; }
    .sidebar-custom-links { display:flex; flex-direction:column; gap:4px; }
    .sidebar-custom-item { display:grid; grid-template-columns:minmax(0, 1fr) 28px; gap:4px; align-items:center; }
    .sidebar-custom-item a { min-width:0; }
    .sidebar-custom-delete { width:28px; height:32px; min-width:28px; padding:0; border:1px solid #344054; border-radius:8px; background:#1d2939; color:#d0d5dd; font-size:16px; font-weight:800; line-height:1; cursor:pointer; }
    .sidebar-custom-delete:hover { border-color:#fecdca; background:#3b1f22; color:#fecdca; }
    .sidebar-add-module { width:100%; height:34px; border:1px solid #344054; border-radius:8px; background:#1d2939; color:#f9fafb; display:flex; align-items:center; justify-content:center; gap:6px; font-size:13px; font-weight:800; cursor:pointer; }
    .sidebar-add-module:hover { background:#344054; }
    .sidebar-status-text { display:block; margin-top:8px; }
    body.sidebar-collapsed .app-sidebar { width:54px; }
    body.sidebar-collapsed .sidebar-head { padding:10px; justify-content:center; }
    body.sidebar-collapsed .sidebar-brand,
    body.sidebar-collapsed .sidebar-foot,
    body.sidebar-collapsed .sidebar-section-title,
    body.sidebar-collapsed .sidebar-link-text { display:none; }
    body.sidebar-collapsed .sidebar-nav { padding:8px 6px; align-items:center; }
    body.sidebar-collapsed .sidebar-nav a { width:36px; height:36px; padding:0; justify-content:center; }
    body.sidebar-collapsed .sidebar-link-index { min-width:0; font-size:13px; font-weight:800; }
    body.sidebar-collapsed .sidebar-foot { display:flex; padding:8px 6px; justify-content:center; }
    body.sidebar-collapsed .sidebar-status-text,
    body.sidebar-collapsed .sidebar-add-module-text { display:none; }
    body.sidebar-collapsed .sidebar-custom-item { display:block; }
    body.sidebar-collapsed .sidebar-custom-delete { display:none; }
    body.sidebar-collapsed .sidebar-add-module { width:42px; height:42px; padding:0; border-radius:12px; font-size:20px; }
    .custom-module-page { min-height:calc(100vh - 82px); }
    .custom-module-empty { min-height:calc(100vh - 120px); display:flex; align-items:flex-start; justify-content:flex-start; padding:28px 32px; }
    .custom-module-empty-inner { width:100%; min-height:420px; border:1px dashed #d0d5dd; border-radius:10px; background:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; color:#667085; }
    .custom-module-empty-inner h2 { margin:0 0 8px; color:#101828; font-size:22px; }
    .custom-module-empty-inner p { margin:0; max-width:520px; line-height:1.7; font-size:13px; }
    .custom-module-actions { display:flex; gap:8px; margin-top:18px; }
    .custom-module-delete { height:32px; padding:0 12px; border:1px solid #fecdca; border-radius:8px; background:#fff5f4; color:#b42318; font-size:12px; font-weight:800; cursor:pointer; }
    .custom-module-delete:hover { background:#fef3f2; border-color:#fda29b; }
    .cashier-page { min-height:calc(100vh - 118px); background:#f6f7f9; padding:18px; color:#101828; }
    .cashier-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:14px; margin-bottom:12px; }
    .cashier-hero h2 { margin:0; padding:0; border:0; font-size:22px; }
    .cashier-hero p { margin:6px 0 0; color:#667085; font-size:13px; line-height:1.55; }
    .cashier-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
    .cashier-actions button, .cashier-form button { font-weight:800; }
    .cashier-primary { background:#101828; color:#fff; border-color:#101828; }
    .cashier-primary:hover { background:#344054; }
    .cashier-kpis { display:grid; grid-template-columns:repeat(6, minmax(120px, 1fr)); gap:10px; margin-bottom:12px; }
    .cashier-kpi { border:1px solid #e4e7ec; border-radius:8px; background:#fff; padding:11px 12px; min-height:78px; }
    .cashier-kpi span { display:block; color:#667085; font-size:12px; }
    .cashier-kpi b { display:block; margin-top:6px; font-size:22px; line-height:1.1; font-variant-numeric:tabular-nums; }
    .cashier-kpi small { display:block; margin-top:6px; color:#98a2b3; font-size:11px; }
    .cashier-kpi.good b { color:#067647; }
    .cashier-kpi.warn b { color:#b42318; }
    .cashier-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.72fr); gap:12px; margin-bottom:12px; }
    .cashier-panel { border:1px solid #e4e7ec; border-radius:8px; background:#fff; overflow:hidden; }
    .cashier-panel h3 { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0; padding:10px 12px; border-bottom:1px solid #edf0f3; background:#f8fafc; color:#101828; font-size:13px; }
    .cashier-panel h3 small { color:#667085; font-weight:500; }
    .cashier-form { display:grid; grid-template-columns:repeat(4, minmax(120px, 1fr)); gap:10px; padding:12px; }
    .cashier-form.compact { grid-template-columns:repeat(2, minmax(140px, 1fr)); }
    .cashier-field { display:flex; flex-direction:column; gap:5px; min-width:0; }
    .cashier-field label { color:#667085; font-size:12px; font-weight:700; }
    .cashier-field input, .cashier-field select { width:100%; height:34px; }
    .cashier-field.wide { grid-column:span 2; }
    .cashier-field.full { grid-column:1 / -1; }
    .cashier-table-wrap { max-height:360px; overflow:auto; }
    .cashier-table { width:100%; border-collapse:collapse; font-size:12px; }
    .cashier-table th, .cashier-table td { padding:8px 10px; border-bottom:1px solid #edf0f3; text-align:left; white-space:nowrap; }
    .cashier-table th { position:sticky; top:0; z-index:1; background:#f8fafc; color:#344054; font-size:11px; }
    .cashier-table td.num, .cashier-table th.num { text-align:right; font-variant-numeric:tabular-nums; }
    .cashier-table input { width:108px; height:28px; text-align:right; }
    .cashier-tag { display:inline-flex; align-items:center; min-height:22px; padding:0 8px; border-radius:999px; font-size:11px; font-weight:800; }
    .cashier-tag.income { background:#dcfae6; color:#067647; }
    .cashier-tag.expense { background:#fee4e2; color:#b42318; }
    .cashier-tag.ok { background:#dcfae6; color:#067647; }
    .cashier-tag.diff { background:#fff1d6; color:#b54708; }
    .cashier-danger { color:#b42318; border-color:#fecdca; background:#fff5f4; }
    .cashier-empty { min-height:120px; display:flex; align-items:center; justify-content:center; color:#667085; text-align:center; }
    @media (max-width: 1200px) {
      .cashier-kpis { grid-template-columns:repeat(3, minmax(140px,1fr)); }
      .cashier-grid { grid-template-columns:1fr; }
      .cashier-form, .cashier-form.compact { grid-template-columns:repeat(2, minmax(140px, 1fr)); }
    }
    .finance-page { min-height:calc(100vh - 118px); background:#f6f7f9; padding:18px; color:#101828; }
    .finance-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:12px; }
    .finance-hero h2 { margin:0; padding:0; border:0; font-size:22px; }
    .finance-hero p { margin:6px 0 0; color:#667085; font-size:13px; line-height:1.55; max-width:760px; }
    .finance-map { display:grid; grid-template-columns:repeat(6, minmax(126px, 1fr)); gap:10px; margin-bottom:12px; }
    .finance-flow-card { min-height:118px; border:1px solid #d0d5dd; border-radius:8px; background:#fff; padding:12px; text-align:left; cursor:pointer; }
    .finance-flow-card:hover { border-color:#84caff; box-shadow:0 0 0 2px #eff8ff; }
    .finance-flow-card.active { border-color:#1570ef; box-shadow:0 0 0 2px #d1e9ff; }
    .finance-flow-icon { width:42px; height:42px; border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:10px; background:#101828; color:#fff; font-size:17px; font-weight:900; }
    .finance-flow-card b { display:block; color:#101828; font-size:14px; }
    .finance-flow-card span { display:block; margin-top:6px; color:#667085; font-size:12px; line-height:1.35; }
    .finance-kpis { display:grid; grid-template-columns:repeat(6, minmax(120px, 1fr)); gap:10px; margin-bottom:12px; }
    .finance-kpi { border:1px solid #e4e7ec; border-radius:8px; background:#fff; padding:11px 12px; min-height:78px; }
    .finance-kpi span { display:block; color:#667085; font-size:12px; }
    .finance-kpi b { display:block; margin-top:6px; font-size:21px; line-height:1.1; font-variant-numeric:tabular-nums; }
    .finance-kpi small { display:block; margin-top:6px; color:#98a2b3; font-size:11px; }
    .finance-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.86fr); gap:12px; margin-bottom:12px; }
    .finance-panel { border:1px solid #e4e7ec; border-radius:8px; background:#fff; overflow:hidden; }
    .finance-panel h3 { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0; padding:10px 12px; border-bottom:1px solid #edf0f3; background:#f8fafc; color:#101828; font-size:13px; }
    .finance-panel h3 small { color:#667085; font-weight:500; }
    .finance-form { display:grid; grid-template-columns:repeat(4, minmax(120px, 1fr)); gap:10px; padding:12px; }
    .finance-field { display:flex; flex-direction:column; gap:5px; min-width:0; }
    .finance-field label { color:#667085; font-size:12px; font-weight:700; }
    .finance-field input, .finance-field select { width:100%; height:34px; }
    .finance-field.wide { grid-column:span 2; }
    .finance-field.full { grid-column:1 / -1; }
    .finance-primary { background:#101828; border-color:#101828; color:#fff; font-weight:900; }
    .finance-primary:hover { background:#344054; }
    .finance-table-wrap { max-height:370px; overflow:auto; }
    .finance-table { width:100%; border-collapse:collapse; font-size:12px; }
    .finance-table th, .finance-table td { padding:8px 10px; border-bottom:1px solid #edf0f3; text-align:left; white-space:nowrap; }
    .finance-table th { position:sticky; top:0; z-index:1; background:#f8fafc; color:#344054; font-size:11px; }
    .finance-table td.num, .finance-table th.num { text-align:right; font-variant-numeric:tabular-nums; }
    .finance-tag { display:inline-flex; align-items:center; min-height:22px; padding:0 8px; border-radius:999px; background:#eff8ff; color:#175cd3; font-size:11px; font-weight:800; }
    .finance-entry { display:grid; grid-template-columns:1fr 1fr 92px; gap:8px; align-items:center; padding:7px 10px; border-bottom:1px solid #edf0f3; font-size:12px; }
    .finance-entry b { color:#101828; }
    .finance-entry span { color:#667085; }
    .finance-entry .num { text-align:right; font-variant-numeric:tabular-nums; color:#101828; }
    .finance-report-grid { display:grid; grid-template-columns:repeat(4, minmax(150px,1fr)); gap:10px; padding:12px; }
    .finance-report-card { border:1px solid #e4e7ec; border-radius:8px; padding:10px; background:#fff; }
    .finance-report-card span { color:#667085; font-size:12px; }
    .finance-report-card b { display:block; margin-top:6px; font-size:18px; font-variant-numeric:tabular-nums; }
    .finance-danger { color:#b42318; border-color:#fecdca; background:#fff5f4; }
    .finance-empty { min-height:120px; display:flex; align-items:center; justify-content:center; color:#667085; text-align:center; }
	    @media (max-width: 1260px) {
	      .finance-map, .finance-kpis { grid-template-columns:repeat(3, minmax(140px,1fr)); }
	      .finance-grid { grid-template-columns:1fr; }
	      .finance-form { grid-template-columns:repeat(2, minmax(140px,1fr)); }
	    }
	    header { padding: 16px 24px; background: #ffffff; border-bottom: 1px solid #dfe3e8; position: sticky; top: 0; z-index: 3; margin-left:238px; transition:margin-left .18s ease; }
    header h1 { display:flex; align-items:center; gap:14px; margin: 0 0 6px; font-size: 22px; }
    header h1::before { content:""; width:56px; height:56px; flex:0 0 auto; background:url('/tudou-logo.png') center/contain no-repeat; }
    h1 { margin: 0 0 6px; font-size: 22px; }
    .sub { color: #667085; font-size: 13px; }
    main { padding: 18px 24px 40px; margin-left:238px; transition:margin-left .18s ease; }
    body.sidebar-collapsed header,
    body.sidebar-collapsed main { margin-left:54px; }
    .kpis { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 12px; margin-bottom: 18px; }
    .kpi { background: #fff; border: 1px solid #dfe3e8; border-radius: 8px; padding: 12px; }
    .kpi b { display: block; font-size: 20px; margin-top: 4px; }
    .kpi.wide b { font-size: 13px; line-height: 1.35; word-break: break-all; }
    .kpi small { display:block; margin-top:5px; color:#667085; font-size:11px; line-height:1.35; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    body.planning-original-active header { display:none; }
    body.planning-original-active main { padding:0; }
    .embedded-original-page { background:transparent; border:0; border-radius:0; margin:0; overflow:visible; }
    .embedded-system-frame { display:block; width:100%; height:100vh; min-height:100vh; border:0; border-radius:0; background:#fbf5ea; box-shadow:none; }
    .tag-native-page { min-height:100vh; background:radial-gradient(circle at top left, rgba(222,170,82,.16), transparent 34%), linear-gradient(135deg,#fffaf2 0%,#fbf5ea 48%,#fff8ea 100%); border:0; border-radius:0; overflow:visible; padding:22px; box-sizing:border-box; color:#3c2c1c; }
    .tag-native-page > h2 { min-height:76px; padding:0 18px; background:rgba(255,250,241,.92); border:1px solid #f2e4ce; border-radius:18px; margin:0 0 16px; box-shadow:0 18px 40px rgba(103,66,22,.08); color:#3c2c1c; font-size:18px; font-weight:800; }
    .tag-native-page > h2::before { width:44px; height:44px; }
    .tag-native-toolbar { min-height:50px; background:#fffdf8; border:1px solid #f2e4ce; border-radius:18px; margin-bottom:12px; padding:9px 12px; box-shadow:0 8px 22px rgba(103,66,22,.05); }
    .tag-native-toolbar button { height:34px; border-radius:8px; border-color:#ead9bd; background:#fffdf8; color:#3c2c1c; font-size:12px; font-weight:800; }
    .tag-native-toolbar button:hover { border-color:#f5d8a7; background:#fff7e8; color:#7a4108; }
    .tag-native-toolbar .tag-native-link { display:inline-flex; align-items:center; height:34px; padding:0 12px; border:1px solid #ead9bd; border-radius:8px; background:#fffdf8; color:#3c2c1c; text-decoration:none; font-size:12px; font-weight:800; }
    .tag-native-toolbar .tag-native-link:hover { border-color:#f5d8a7; background:#fff7e8; color:#7a4108; }
    .tag-native-kpis { margin:0 0 12px; grid-template-columns:repeat(6, minmax(120px, 1fr)); gap:12px; }
    .tag-native-kpis .kpi { border-color:#f2e4ce; border-radius:12px; background:#fffaf1; box-shadow:0 8px 22px rgba(103,66,22,.05); }
    .tag-native-kpis .kpi span { color:#8b7355; font-size:12px; }
    .tag-native-kpis .kpi b { color:#3c2c1c; font-size:24px; font-weight:900; }
    .tag-native-note { margin:0 0 12px; padding:10px 12px; border:1px solid #eadfc9; border-left:3px solid #8ecab2; border-radius:12px; background:#fffaf1; color:#8b7355; font-size:12px; line-height:1.55; }
    .tag-native-block { margin-bottom:16px; border:1px solid #f2e4ce; border-radius:18px; background:#fffdf8; overflow:hidden; box-shadow:0 18px 40px rgba(103,66,22,.08); }
    .tag-native-block .toolbar { margin:0; border:0; border-bottom:1px solid #f2e4ce; border-radius:0; background:rgba(255,250,241,.72); }
    .tag-native-block .toolbar b { color:#3c2c1c; font-size:14px; font-weight:900; }
    .tag-native-block table th { background:#eef5ef; color:#405046; font-size:12px; font-weight:900; }
    .tag-native-block table td { color:#3c2c1c; border-color:#edf0ed; background:#fffdfa; }
    .tag-native-review-wrap { max-height:calc(100vh - 330px); min-height:420px; }
    .tag-native-map-wrap { max-height:360px; }
    .tag-native-sim-wrap { max-height:360px; }
    .tag-native-thumb-cell { width:100%; height:92px; display:flex; align-items:center; justify-content:center; background:#fffaf1; border-radius:10px; }
    .tag-native-thumb { max-width:100%; max-height:88px; object-fit:contain; border:1px solid #ead9bd; border-radius:8px; background:#fffdf8; }
    #tagCleanupReviewTable td { height:104px; vertical-align:middle; }
    #tagCleanupReviewTable td.text-cell { white-space:normal; line-height:1.4; }
    .tag-native-status { display:inline-flex; align-items:center; min-height:22px; padding:0 8px; border-radius:999px; font-size:11px; font-weight:800; border:1px solid #d0d5dd; background:#fff; color:#475467; }
    .tag-native-status.in_review { color:#175cd3; border-color:#b2ddff; background:#eff8ff; }
    .tag-native-status.ai_ready { color:#067647; border-color:#abefc6; background:#ecfdf3; }
    .tag-native-status.approved { color:#067647; border-color:#75e0a7; background:#dcfae6; }
    .tag-native-status.failed { color:#b42318; border-color:#fecdca; background:#fff5f4; }
    @media (max-width: 1200px) {
      .tag-native-kpis { grid-template-columns:repeat(3, minmax(130px, 1fr)); }
      .tag-native-review-wrap { max-height:620px; }
    }
    section { background: #fff; border: 1px solid #dfe3e8; border-radius: 8px; margin-bottom: 18px; overflow: hidden; }
    section.focus-flash { box-shadow:0 0 0 3px #b2ddff; border-color:#84caff; transition:box-shadow .2s ease, border-color .2s ease; }
    h2 { font-size: 16px; margin: 0; padding: 12px 14px; border-bottom: 1px solid #e6e9ee; }
    section > h2 { display:flex; align-items:center; gap:10px; }
    section > h2::before { content:""; width:36px; height:36px; flex:0 0 auto; background:url('/tudou-logo.png') center/contain no-repeat; }
    .diagnosis-header h1,
    .final-board-lede h1 { display:flex; align-items:center; gap:10px; }
    .diagnosis-header h1::before,
    .final-board-lede h1::before { content:""; width:44px; height:44px; flex:0 0 auto; background:url('/tudou-logo.png') center/contain no-repeat; }
    .toolbar { padding: 10px 14px; border-bottom: 1px solid #e6e9ee; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
    input, select, button { height: 32px; border: 1px solid #cfd6df; border-radius: 6px; padding: 0 9px; background: #fff; }
    button { cursor:pointer; color:#344054; }
    button:hover { background:#f3f5f7; }
    .workbench-controls { display:flex; gap:10px; align-items:center; flex-wrap:wrap; background:#fff; border:1px solid #dfe3e8; border-radius:8px; padding:10px 12px; margin-bottom:14px; }
    .workbench-controls input[type="search"] { min-width: 240px; }
    .decision-workflow-shell { background:#fff; border:1px solid #dfe3e8; border-radius:8px; margin-bottom:18px; overflow:hidden; }
    .workflow-snapshot { display:flex; flex-wrap:wrap; gap:8px; padding:10px 14px; border-bottom:1px solid #e6e9ee; background:#fbfcfd; }
    .workflow-progress { display:none; height:34px; padding:8px 14px; border-bottom:1px solid #e6e9ee; background:#fff; align-items:center; gap:10px; }
    .workflow-progress.active { display:flex; }
    .workflow-progress-track { position:relative; height:7px; flex:1; overflow:hidden; border-radius:999px; background:#e4e7ec; }
    .workflow-progress-bar { position:absolute; left:0; top:0; bottom:0; width:0%; background:#12b76a; border-radius:999px; transition:width .18s ease; }
    .workflow-progress.active.indeterminate .workflow-progress-bar { width:38%; animation:progressSlide 1s infinite ease-in-out; }
    .workflow-progress-label { min-width:180px; color:#475467; font-size:12px; text-align:right; }
    @keyframes progressSlide { 0% { left:-38%; } 50% { left:45%; } 100% { left:100%; } }
    .workflow-step-grid { display:grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap:10px; padding:12px 14px; border-bottom:1px solid #e6e9ee; background:#fff; }
    .workflow-step-card { border:1px solid #d0d5dd; border-radius:8px; padding:10px; background:#fff; min-height:86px; cursor:pointer; }
    .workflow-step-card:hover { border-color:#84caff; box-shadow:0 0 0 2px #eff8ff; }
    .workflow-step-card.active { border-color:#12b76a; box-shadow:0 0 0 2px #dcfae6; }
    .workflow-step-card.completed { border-color:#abefc6; background:#f6fef9; }
    .workflow-step-card.locked { background:#f8fafc; color:#667085; }
    .workflow-step-head { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
    .workflow-step-icon { width:28px; height:28px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; background:#eff8ff; border:1px solid #b2ddff; color:#175cd3; font-size:14px; font-weight:900; flex:0 0 auto; }
    .workflow-step-card.active .workflow-step-icon { background:#dcfae6; border-color:#75e0a7; color:#067647; }
    .workflow-step-card b { display:block; font-size:14px; color:#101828; margin:0; }
    .workflow-step-card .workflow-counts span { display:block; color:#667085; font-size:12px; line-height:1.45; }
    .workflow-step-card .workflow-counts { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:4px 8px; margin-top:8px; color:#475467; font-size:11px; }
    .workflow-loss-metric { margin-top:8px; padding:7px 8px; border-radius:8px; background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; font-size:12px; font-weight:800; }
    .workflow-loss-metric b { display:inline; margin:0; color:#c2410c; font-size:13px; }
    .workflow-panel { border-top:1px solid #eef2f6; }
    .workflow-step-titlebar { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid #e6e9ee; background:#fbfcfd; }
    .workflow-step-titlebar b { display:block; color:#101828; font-size:15px; margin-bottom:3px; }
    .workflow-step-titlebar span { color:#667085; font-size:12px; line-height:1.45; }
    .workflow-step-titlebar-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
    .workflow-filter-toggle { height:30px; border-radius:6px; font-size:12px; font-weight:700; background:#fff; }
    .workflow-subpanel.hidden { display:none; }
    .workflow-subpanel.filters-collapsed .workflow-toolbar,
    .workflow-subpanel.filters-collapsed .workflow-table-nav { display:none; }
    .workflow-toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
    .workflow-toolbar input, .workflow-toolbar select { width:auto; min-width:130px; box-sizing:border-box; }
    .workflow-toolbar #workflowSearch { min-width:240px; flex:1 1 260px; }
    .workflow-toolbar #workflowBulkNote { min-width:180px; flex:1 1 220px; }
    .workflow-table-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
    .workflow-table-nav-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
    .workflow-table-nav select { height:30px; min-width:86px; }
    .workflow-step-table-tools { position:sticky; left:0; top:0; z-index:13; display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:6px 8px; background:#fff; border-bottom:1px solid #eef2f6; box-shadow:0 1px 2px rgba(16,24,40,.04); }
    .workflow-step-table-tools select, .workflow-step-table-tools input { height:30px; min-width:118px; width:auto; }
    .workflow-step-table-tools button { height:30px; white-space:nowrap; }
    .workflow-step-table-tools .table-column-button { position:static; height:30px; margin:0; box-shadow:none; }
    .workflow-step-table-tools .table-count { margin-left:auto; }
    .workflow-date-input { cursor:pointer; background:#fff; }
    .workflow-date-popover { position:fixed; z-index:2147483500; width:278px; padding:10px; border:1px solid #d0d5dd; border-radius:8px; background:#fff; box-shadow:0 18px 42px rgba(16,24,40,.18); color:#344054; }
    .workflow-date-head { display:grid; grid-template-columns:32px 1fr 32px; gap:6px; align-items:center; margin-bottom:8px; }
    .workflow-date-head button, .workflow-date-actions button { height:28px; padding:0 8px; border-radius:7px; background:#fff; color:#344054; border-color:#d0d5dd; }
    .workflow-date-title { text-align:center; font-weight:800; color:#101828; }
    .workflow-date-week, .workflow-date-grid { display:grid; grid-template-columns:repeat(7, 1fr); gap:4px; }
    .workflow-date-week span { text-align:center; color:#667085; font-size:11px; font-weight:700; line-height:22px; }
    .workflow-date-day { height:30px; padding:0; border:1px solid transparent; border-radius:7px; background:#fff; color:#344054; font-size:12px; }
    .workflow-date-day:hover { border-color:#84caff; background:#eff8ff; color:#175cd3; }
    .workflow-date-day.muted { color:#98a2b3; }
    .workflow-date-day.today { border-color:#fdb022; background:#fffaeb; color:#b54708; }
    .workflow-date-day.selected { border-color:#1570ef; background:#eff8ff; color:#175cd3; font-weight:800; }
    .workflow-date-actions { display:flex; justify-content:flex-end; gap:6px; margin-top:9px; }
    #workflowLifecyclePanel .table-wrap { max-height:calc(100vh - 250px); min-height:640px; }
    #workflowLifecyclePanel.filters-collapsed .table-wrap { max-height:calc(100vh - 165px); min-height:720px; }
    #workflowStepResultPanel .table-wrap { max-height:calc(100vh - 220px); min-height:680px; }
    .workflow-actions { display:flex; gap:4px; align-items:center; flex-wrap:nowrap; }
    .workflow-actions select { width:92px; height:28px; padding:0 5px; font-size:12px; }
    .workflow-qty-input { width:54px; height:28px; border:1px solid var(--line); border-radius:6px; padding:0 6px; font-size:12px; text-align:left; }
    .workflow-actions button { height:28px; padding:0; font-size:13px; white-space:nowrap; }
    .workflow-bulk-head { display:flex; flex-direction:column; gap:5px; align-items:flex-start; padding-right:0; }
    .workflow-bulk-head.with-filter { padding-right:22px; }
    .workflow-bulk-actions { gap:5px; }
    .workflow-bulk-actions select { width:118px; height:27px; font-weight:600; background:#fff; }
    .workflow-bulk-actions .workflow-icon-button { width:27px; min-width:27px; height:27px; }
    .workflow-icon-button { width:28px; min-width:28px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; line-height:1; }
    .workflow-icon-button.detail { color:#175cd3; border-color:#b2ddff; background:#eff8ff; }
    .workflow-icon-button.accept { color:#067647; border-color:#abefc6; background:#ecfdf3; }
    .workflow-icon-button.save { color:#344054; border-color:#d0d5dd; background:#fff; }
    .workflow-icon-button.reject { color:#b42318; border-color:#fecdca; background:#fff5f4; }
    .workflow-icon-button:hover { filter:brightness(.98); box-shadow:0 0 0 2px rgba(16,24,40,.05); }
    .workflow-lifecycle-select { width:100%; max-width:120px; height:26px; border:0; background:transparent; padding:0 18px 0 0; color:inherit; font:inherit; font-weight:800; outline:none; cursor:pointer; }
    .workflow-lifecycle-select:hover, .workflow-lifecycle-select:focus { color:#175cd3; text-decoration:underline; text-underline-offset:2px; }
    .workflow-confirm-cell { display:flex; align-items:center; gap:4px; min-width:0; }
    .workflow-confirm-cell .workflow-icon-button { width:24px; min-width:24px; height:24px; border-radius:999px; font-size:12px; opacity:.74; }
    .workflow-confirm-cell .workflow-icon-button.active { opacity:1; box-shadow:0 0 0 2px rgba(16,24,40,.05); }
    .workflow-confirm-cell .status-tag { margin-left:2px; padding:2px 6px; }
    .advanced-decision-tools { background:#fff; border:1px solid #dfe3e8; border-radius:8px; margin-bottom:18px; overflow:hidden; }
    .advanced-decision-tools summary { cursor:pointer; padding:11px 14px; color:#344054; font-size:13px; font-weight:800; border-bottom:1px solid #e6e9ee; background:#fbfcfd; }
    .decision-detail-drawer { position:fixed; right:0; top:0; bottom:0; width:min(1180px, calc(100vw - 16px)); min-width:min(720px, calc(100vw - 16px)); max-width:calc(100vw - 16px); background:#fff; border-left:1px solid #d0d5dd; box-shadow:-18px 0 42px rgba(16,24,40,.18); z-index:2147482000; display:flex; flex-direction:column; }
    .decision-detail-drawer.hidden { display:none; }
    .decision-detail-resize { position:absolute; left:-5px; top:0; bottom:0; width:10px; cursor:ew-resize; z-index:2; }
    .decision-detail-resize::after { content:''; position:absolute; left:4px; top:0; bottom:0; width:1px; background:transparent; }
    .decision-detail-resize:hover::after { background:#175cd3; }
    .decision-detail-head { padding:12px 14px; border-bottom:1px solid #e4e7ec; display:flex; justify-content:space-between; gap:12px; align-items:flex-start; background:#fbfcfd; }
    .decision-detail-title { font-weight:800; color:#101828; line-height:1.35; }
    .decision-detail-sub { color:#667085; font-size:12px; margin-top:3px; }
    .decision-detail-close { width:30px; height:30px; border-radius:50%; padding:0; background:#f2f4f7; border:0; }
    .decision-detail-body { overflow:auto; padding:12px 14px 24px; }
    .decision-summary-grid { display:grid; grid-template-columns:repeat(4, minmax(120px, 1fr)); gap:8px; margin-bottom:12px; }
    .decision-summary-item { border:1px solid #e4e7ec; border-radius:8px; padding:8px 10px; background:#fff; }
    .decision-summary-item span { display:block; color:#667085; font-size:12px; }
    .decision-summary-item b { display:block; margin-top:3px; color:#101828; font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .detail-section { border:1px solid #e4e7ec; border-radius:8px; margin-bottom:12px; overflow:hidden; background:#fff; }
    .detail-section h3 { margin:0; padding:9px 11px; font-size:13px; border-bottom:1px solid #edf0f3; background:#f8fafc; }
    .detail-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:8px 11px; border-bottom:1px solid #edf0f3; background:#fff; }
    .detail-toolbar input[type="range"] { width:120px; padding:0; }
    .production-detail-panel { border-color:#c7d7fe; }
    .production-detail-panel h3 { background:#eef4ff; color:#1849a9; }
    .production-detail-toolbar .production-field { display:flex; align-items:center; gap:6px; color:#344054; font-size:12px; font-weight:800; }
    .production-detail-toolbar .manual-input { width:116px; }
    .production-note-input { width:min(260px, 100%); }
    .production-agent-box { margin:0 11px 10px; padding:9px 10px; border:1px solid #e4e7ec; border-radius:8px; background:#fbfcfd; color:#344054; font-size:12px; line-height:1.5; }
    .production-agent-box b { color:#101828; }
    .production-agent-box .status-tag { margin-right:4px; }
    .production-subsection { margin:0; border-width:1px 0 0; border-radius:0; }
    .production-subsection > summary { cursor:pointer; padding:9px 11px; font-size:13px; font-weight:800; color:#344054; background:#fff; border-bottom:1px solid #edf0f3; }
    .detail-advanced .detail-section .table-wrap { max-height:none; }
    .detail-advanced { border:1px solid #e4e7ec; border-radius:8px; margin-bottom:12px; overflow:hidden; background:#fff; }
    .detail-advanced > summary { cursor:pointer; padding:10px 12px; font-size:13px; font-weight:800; color:#344054; background:#fbfcfd; border-bottom:1px solid #edf0f3; }
    .detail-advanced[open] > summary { border-bottom-color:#e4e7ec; }
    .detail-advanced .detail-section { margin:0; border:0; border-bottom:1px solid #e4e7ec; border-radius:0; }
    .detail-advanced .detail-section > summary { cursor:pointer; padding:10px 12px; font-size:13px; font-weight:800; color:#344054; background:#fbfcfd; border-bottom:1px solid #edf0f3; }
    .detail-advanced .detail-section:last-child { border-bottom:0; }
    .detail-advanced .detail-section[data-detail-advanced-key="buffer"] .table-wrap { max-height:calc(100vh - 220px); min-height:min(620px, calc(100vh - 280px)); overflow:auto; overscroll-behavior:contain; }
    .detail-advanced .detail-section[data-detail-advanced-key="buffer"] .table-wrap thead { position:sticky; top:0; z-index:35; }
    .detail-advanced .detail-section[data-detail-advanced-key="buffer"] .table-wrap thead th { z-index:36; }
    .size-matrix-wrap { overflow:visible; max-height:none; }
    .size-matrix-wrap.hidden, .detail-table-wrap.hidden { display:none; }
    .detail-size-matrix-block { margin-bottom:12px; }
    .detail-size-matrix-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border:1px solid #e4e7ec; border-bottom:0; border-radius:8px 8px 0 0; background:#f8fafc; color:#344054; font-size:12px; }
    .detail-size-matrix-title { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:800; }
    .detail-size-matrix-pager { display:flex; align-items:center; gap:6px; color:#667085; white-space:nowrap; }
    .detail-size-matrix-pager button { height:24px; min-width:28px; padding:0 8px; border:1px solid #d0d5dd; border-radius:999px; background:#fff; color:#175cd3; font-weight:800; cursor:pointer; }
    .detail-size-matrix-pager button:disabled { cursor:not-allowed; color:#98a2b3; background:#f2f4f7; }
    .detail-size-matrix-block .table-wrap { border:1px solid #e4e7ec; border-radius:0 0 8px 8px; max-height:calc(100vh - 260px) !important; min-height:min(620px, calc(100vh - 320px)); overflow:auto; overscroll-behavior:contain; isolation:isolate; }
    .detail-size-matrix-block .table-wrap thead { position:sticky; top:0; z-index:40; }
    .detail-size-matrix-block .table-wrap thead th { z-index:41; }
    .detail-size-matrix-block .table-wrap thead th.sticky-col { z-index:45 !important; }
    .detail-inline-progress { display:none; align-items:center; gap:8px; width:100%; padding:8px 11px; border-top:1px solid #edf0f3; background:#fbfcfd; color:#475467; font-size:12px; }
    .detail-inline-progress.active { display:flex; }
    .detail-inline-progress-track { position:relative; height:7px; flex:1; overflow:hidden; border-radius:999px; background:#e4e7ec; }
    .detail-inline-progress-bar { position:absolute; left:0; top:0; bottom:0; width:0%; border-radius:999px; background:#12b76a; transition:width .18s ease; }
    .size-matrix { border-collapse:separate; border-spacing:0; width:max-content; min-width:100%; font-size:12px; }
    .size-matrix th, .size-matrix td { border-bottom:1px solid #edf0f3; border-right:1px solid #edf0f3; padding:6px 7px; text-align:center; white-space:normal; vertical-align:middle; }
    .size-matrix th { position:sticky; top:0; z-index:2; background:#f8fafc; color:#344054; }
    .size-matrix .matrix-row-head { position:sticky; left:0; z-index:3; min-width:120px; text-align:left; background:#fff; box-shadow:1px 0 0 #e4e7ec; }
    .size-matrix th.matrix-row-head { z-index:4; background:#eef2f6; }
    .size-cell { min-width:var(--size-cell-width, 96px); border-radius:6px; padding:4px 5px; line-height:1.35; color:#101828; background:#f8fafc; }
    .size-cell b { display:block; font-size:12px; }
    .size-cell span { display:block; font-size:11px; color:#475467; }
    .size-cell.burst { background:#dcfae6; border:1px solid #75e0a7; }
    .size-cell.fast { background:#fef7c3; border:1px solid #fde272; }
    .size-cell.normal { background:#f2f4f7; border:1px solid #d0d5dd; }
    .size-cell.slow { background:#fee4e2; border:1px solid #fda29b; }
	    .size-cell.empty { color:#98a2b3; background:#fcfcfd; border:1px dashed #e4e7ec; }
    .nature-pill { display:inline-flex; align-items:center; min-height:22px; border-radius:999px; padding:1px 9px; font-weight:800; font-size:12px; white-space:nowrap; border:1px solid #d0d5dd; background:#f8fafc; color:#344054; }
    .nature-pill.burst { color:#067647; background:#dcfae6; border-color:#75e0a7; }
    .nature-pill.fast { color:#854a0e; background:#fef7c3; border-color:#fde272; }
    .nature-pill.normal { color:#344054; background:#f2f4f7; border-color:#d0d5dd; }
    .nature-pill.slow { color:#b42318; background:#fee4e2; border-color:#fda29b; }
    .nature-pill.observe { color:#175cd3; background:#eff8ff; border-color:#84caff; }
	    td.matrix-nature { text-align:left; font-variant-numeric:tabular-nums; }
    td.matrix-plan-cell { cursor:text; }
    td.matrix-plan-cell.dirty { box-shadow:inset 0 0 0 2px #f79009; }
    td.dirty { box-shadow:inset 0 0 0 2px #f79009; }
    .matrix-plan-list { display:flex; flex-direction:column; gap:0; align-items:stretch; min-height:20px; }
    .matrix-plan-item { display:flex; align-items:center; min-width:0; width:100%; min-height:20px; }
    .matrix-plan-value { display:block; width:100%; min-height:20px; font-weight:700; color:inherit; text-align:left; }
    .matrix-plan-input { display:none; width:100%; min-width:0; height:22px; padding:0; border:0; border-radius:0; font:inherit; font-weight:700; background:transparent; color:inherit; text-align:left; outline:none; box-shadow:none; }
    td.matrix-plan-cell.editing .matrix-plan-value { display:none; }
    td.matrix-plan-cell.editing .matrix-plan-input { display:block; }
    .matrix-plan-input:focus { outline:2px solid #2e90fa; outline-offset:-2px; background:rgba(255,255,255,0.45); }
    .matrix-plan-input::-webkit-outer-spin-button, .matrix-plan-input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
    .matrix-plan-input[type=number] { -moz-appearance:textfield; appearance:textfield; }
	    td.buffer-display-cell { cursor:cell; }
	    .detail-display-value { display:block; width:100%; min-height:24px; font-weight:700; color:inherit; text-align:left; }
	    .detail-display-input { width:100%; min-width:36px; height:24px; padding:0 4px; border:0; border-radius:0; background:transparent; font:inherit; font-weight:700; color:inherit; text-align:left; outline:none; }
	    td.buffer-display-cell .detail-display-input { display:none; }
	    td.buffer-display-cell.editing .detail-display-value { display:none; }
	    td.buffer-display-cell.editing .detail-display-input { display:block; }
	    .detail-display-input:focus { outline:2px solid #2e90fa; outline-offset:-2px; background:rgba(255,255,255,0.65); }
    table.virtualized-table tbody tr:not(.virtual-spacer-row) td { height:38px; }
    .matrix-display-input { background:transparent; }
    .matrix-plan-peer { font-size:10px; color:#175cd3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .matrix-row-check { width:16px; height:16px; }
    tr.matrix-warehouse-row { --matrix-warehouse-bottom:0px; }
    tr.matrix-warehouse-row .matrix-plan-input { background:transparent; color:inherit; }
    tr.matrix-warehouse-row .matrix-plan-peer { color:#fff; }
	    td.matrix-nature.burst { background:#dcfae6; }
    td.matrix-nature.fast { background:#fef7c3; }
    td.matrix-nature.normal { background:#f2f4f7; }
    td.matrix-nature.slow { background:#fee4e2; }
    td.matrix-nature.empty { background:#fff; }
    th.matrix-group-start, td.matrix-group-start { border-left:4px solid #667085 !important; }
    .column-group-head-cell.matrix-group-head { border-left:4px solid #667085 !important; }
    tr.matrix-style-start-row td { border-top:4px solid #344054 !important; }
    tr.matrix-style-start-row:first-child td { border-top-width:1px !important; }
    tr.matrix-summary-row td { background:#f2f4f7 !important; color:#344054; font-weight:700; }
    tr.matrix-summary-row td.matrix-nature { background:#f2f4f7 !important; }
    th.matrix-total-col,
    td.matrix-total-col,
    tr.matrix-summary-row td.matrix-total-col { background:#cbd5e1 !important; color:#101828 !important; font-weight:800; }
    tr.matrix-warehouse-row td, tr.matrix-warehouse-row td.matrix-nature, tr.matrix-warehouse-row .matrix-row-head { background:#475467 !important; color:#fff !important; font-weight:700; }
    .detail-size-matrix-block .table-wrap tbody tr.matrix-warehouse-row > td { position:sticky !important; bottom:var(--matrix-warehouse-bottom); z-index:32 !important; box-shadow:0 -2px 0 #344054, inset 0 1px 0 rgba(255,255,255,.16); }
    .detail-size-matrix-block .table-wrap tbody tr.matrix-warehouse-row > td.sticky-col { z-index:36 !important; }
    tr.matrix-warehouse-row .sku-link { color:#fff !important; text-decoration:underline; text-underline-offset:2px; }
    .size-matrix-legend { display:flex; gap:6px; flex-wrap:wrap; color:#667085; font-size:11px; }
    .size-matrix-legend span { border:1px solid #d0d5dd; border-radius:999px; padding:2px 7px; background:#fff; }
    table td.table-copy-selected, table th.table-copy-selected { outline:2px solid #1570ef; outline-offset:-2px; background:#d1e9ff !important; color:#101828 !important; }
    table td.table-copy-anchor, table th.table-copy-anchor { outline:2px solid #175cd3; outline-offset:-2px; }
    .status-tag { border-radius:999px; padding:2px 7px; display:inline-block; font-weight:700; }
    .status-tag.pending { color:#b54708; background:#fffaeb; }
    .status-tag.confirmed { color:#067647; background:#ecfdf3; }
    .status-tag.rejected { color:#b42318; background:#fff1f0; }
    .status-tag.unchanged { color:#475467; background:#f2f4f7; }
    .status-tag.partial { color:#175cd3; background:#eff8ff; }
    .status-tag.closed { color:#475467; background:#f2f4f7; }
    .status-tag.todo { color:#175cd3; background:#eff8ff; }
    .status-tag.doing { color:#b54708; background:#fffaeb; }
    .status-tag.done { color:#067647; background:#ecfdf3; }
    .status-tag.blocked { color:#b42318; background:#fff1f0; }
    .status-tag.cancelled { color:#475467; background:#f2f4f7; }
    .新款试销 { background:#fff4e5; color:#b54708; }
    .正常补货 { background:#dcfae6; color:#05603a; }
    .清理库存 { background:#fee4e2; color:#b42318; }
    .order-entry { border:2px solid #12b76a; background:#f6fef9; }
    .order-entry h2 { border-bottom-color:#abefc6; }
    .order-entry .toolbar { border-bottom-color:#abefc6; gap:10px; }
    .entry-label { font-weight:700; color:#075e45; font-size:13px; }
    .primary-input { width:140px; height:36px; font-size:16px; font-weight:700; border-color:#12b76a; background:#fff; }
    .primary-button { height:36px; background:#067647; border-color:#067647; color:#fff; font-weight:700; }
    .primary-button:hover { background:#05603a; }
    .secondary-button { height:36px; }
    .entry-status { color:#067647; font-size:13px; font-weight:600; }
    .check { display:inline-flex; gap:6px; align-items:center; color:#475467; font-size:12px; height:32px; }
    .check input { height:auto; }
    .manual-input { width: 96px; text-align: right; }
    .manual-text-input { width: 180px; text-align:left; }
    .manual-action-select { width: 108px; padding:0 6px; }
    .save-mini { height:28px; padding:0 8px; border-color:#98a2b3; font-size:12px; }
    .save-mini.saved { border-color:#12b76a; color:#067647; background:#ecfdf3; }
    .save-status { color:#475467; font-size:12px; margin-left:auto; }
    .store-cap-grid { display:grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap:8px; padding:10px 14px; border-bottom:1px solid #e6e9ee; background:#fbfcfd; }
    .store-cap-field { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; color:#475467; }
    .store-cap-field input { width:86px; }
    .hint { color: #667085; font-size: 12px; }
    .table-count { color:#475467; font-size:12px; margin-left:auto; }
    .legend { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
    .legend span { font-size:12px; border:1px solid #d0d5dd; border-radius:999px; padding:4px 9px; background:#fff; }
    .legend .sales { color:var(--sales); border-color:#fecdca; background:#fff5f4; }
    .legend .stock { color:var(--stock); border-color:#b2ddff; background:#eff8ff; }
    .legend .price { color:var(--price); border-color:#fedf89; background:#fffaeb; }
    .legend .store { color:var(--store); border-color:#d9d6fe; background:#f4f3ff; }
    .legend .order { color:var(--order); border-color:#abefc6; background:#ecfdf3; }
    .findings { display:grid; grid-template-columns: repeat(4, minmax(180px,1fr)); gap:10px; margin-bottom:18px; }
    .finding { border:1px solid #dfe3e8; border-radius:8px; padding:10px 12px; background:#fff; }
    .finding[data-severity="high"] { border-left:4px solid #d92d20; }
    .finding[data-severity="medium"] { border-left:4px solid #dc6803; }
    .finding[data-severity="info"] { border-left:4px solid #1570ef; }
    .finding b { display:block; font-size:13px; margin-bottom:4px; }
    .finding p { margin:0; color:#475467; font-size:12px; line-height:1.45; }
    #finalBoardPage > section:not(.final-board-v2-root), #finalBoardLegacy { display:none !important; }
    .diagnosis-report { background:#f0f2f5; color:#333; padding:20px; border:0; box-shadow:none; }
    .diagnosis-header { text-align:center; margin-bottom:24px; }
    .diagnosis-header h1 { font-size:24px; color:#1a1a2e; margin:0; line-height:1.25; }
    .diagnosis-header p { color:#666; margin:4px 0 8px; font-size:13px; }
    .diagnosis-header .final-board-status { display:none; }
    .diagnosis-kpi-row { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-bottom:20px; }
    .diagnosis-kpi { background:#fff; border-radius:10px; padding:16px; text-align:center; box-shadow:0 1px 3px rgba(0,0,0,.08); min-height:88px; }
    .diagnosis-kpi .value { font-size:28px; font-weight:700; color:#1a1a2e; line-height:1.1; font-variant-numeric:tabular-nums; }
    .diagnosis-kpi .label { font-size:12px; color:#888; margin-top:4px; }
    .diagnosis-kpi.danger .value { color:#e74c3c; }
    .diagnosis-kpi.warning .value { color:#f39c12; }
    .diagnosis-kpi.success .value { color:#27ae60; }
    .diagnosis-section { background:#fff; border-radius:10px; padding:20px; margin-bottom:16px; box-shadow:0 1px 3px rgba(0,0,0,.08); }
    .diagnosis-section h2 { font-size:16px; color:#1a1a2e; margin:0 0 12px; border-left:3px solid #3498db; padding-left:10px; }
    .diagnosis-charts-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
    .diagnosis-chart-box { background:#fff; border-radius:10px; padding:16px; box-shadow:0 1px 3px rgba(0,0,0,.08); min-width:0; }
    .diagnosis-chart-box h3 { font-size:14px; color:#555; margin:0 0 8px; }
    .diagnosis-chart { min-height:280px; }
    .diagnosis-insight { background:#fff8e1; border-left:3px solid #ffc107; padding:10px 14px; margin:8px 0; border-radius:0 6px 6px 0; font-size:13px; line-height:1.6; }
    .diagnosis-insight strong { color:#e65100; }
    .diagnosis-finding-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; margin-top:6px; }
    .diagnosis-finding-card { border:1px solid #e4e7ec; border-radius:8px; background:#fff; padding:13px; box-shadow:0 1px 3px rgba(16,24,40,.06); }
    .diagnosis-finding-card.high { border-color:#fecdca; background:#fffafa; }
    .diagnosis-finding-card.medium { border-color:#fedf89; background:#fffdf6; }
    .diagnosis-finding-card.low { border-color:#d0d5dd; background:#fff; }
    .diagnosis-finding-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
    .diagnosis-finding-title { font-weight:800; color:#101828; line-height:1.35; }
    .diagnosis-finding-body { color:#475467; font-size:12px; line-height:1.55; }
    .diagnosis-finding-action { margin-top:8px; color:#175cd3; font-size:12px; line-height:1.5; }
    .diagnosis-finding-foot { display:flex; gap:8px; margin-top:10px; flex-wrap:wrap; }
    .diagnosis-link-button { border:1px solid #cfd6df; border-radius:6px; background:#fff; color:#344054; height:26px; padding:0 9px; font-size:12px; font-weight:700; }
    .diagnosis-link-button.primary { border-color:#84caff; background:#eff8ff; color:#175cd3; }
    .diagnosis-opportunity-strip { margin-top:14px; padding-top:12px; border-top:1px solid #edf0f3; }
    .diagnosis-opportunity-strip h3 { margin:0 0 8px; font-size:14px; color:#344054; }
    .diagnosis-opportunity-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; }
    .diagnosis-opportunity-card { border:1px solid #d1fadf; background:#f6fef9; border-radius:8px; padding:10px 11px; color:#344054; }
    .diagnosis-opportunity-card b { display:block; color:#067647; font-size:13px; margin-bottom:6px; line-height:1.35; }
    .diagnosis-opportunity-card span { display:block; color:#475467; font-size:12px; line-height:1.45; }
    .diagnosis-table-wrap { overflow:auto; }
    .diagnosis-page-table, .diagnosis-table { width:100% !important; min-width:0 !important; max-width:none !important; border-collapse:collapse; table-layout:auto !important; font-size:13px; }
    .diagnosis-table th, .diagnosis-table td { width:auto !important; min-width:0 !important; max-width:none !important; padding:7px 10px; border-bottom:1px solid #eee; text-align:left; white-space:normal; overflow:visible; text-overflow:clip; }
    .diagnosis-table th { position:static; background:#f8f9fa; border-bottom:2px solid #dee2e6; font-weight:600; color:#333; cursor:default; }
    .diagnosis-table tr:hover { background:#f8f9fa; }
    .diagnosis-tag { display:inline-block; padding:2px 8px; border-radius:4px; font-size:11px; font-weight:600; white-space:nowrap; }
    .diagnosis-tag-danger { background:#ffeaea; color:#e74c3c; }
    .diagnosis-tag-warning { background:#fff3e0; color:#e67e22; }
    .diagnosis-tag-success { background:#e8f5e9; color:#27ae60; }
    .diagnosis-tag-info { background:#e3f2fd; color:#1976d2; }
    .diagnosis-tag-neutral { background:#f2f4f7; color:#475467; }
    .diagnosis-bar-chart { display:flex; flex-direction:column; gap:8px; padding-top:4px; }
    .diagnosis-pair-row { display:grid; grid-template-columns:minmax(92px,1fr) minmax(0,2fr) 42px minmax(0,2fr) 42px; gap:8px; align-items:center; font-size:12px; color:#344054; }
    .diagnosis-horizontal-row { display:grid; grid-template-columns:minmax(112px,1.2fr) minmax(0,4fr) 54px; gap:8px; align-items:center; font-size:12px; color:#344054; }
    .diagnosis-chart-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .diagnosis-track { height:10px; border-radius:999px; background:#edf0f3; overflow:hidden; }
    .diagnosis-fill { height:100%; border-radius:999px; background:#3498db; min-width:2px; }
    .diagnosis-fill.red { background:#e74c3c; }
    .diagnosis-fill.blue { background:#3498db; }
    .diagnosis-fill.green { background:#27ae60; }
    .diagnosis-fill.orange { background:#e67e22; }
    .diagnosis-fill.purple { background:#9b59b6; }
    .diagnosis-chart-value { color:#667085; font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
    .diagnosis-mini-legend { display:flex; gap:10px; align-items:center; color:#667085; font-size:12px; margin-bottom:8px; }
    .diagnosis-mini-legend span::before { content:''; display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:4px; vertical-align:-1px; background:#3498db; }
    .diagnosis-mini-legend .red::before { background:#e74c3c; }
    .diagnosis-mini-legend .blue::before { background:#3498db; }
    .diagnosis-mini-legend .purple::before { background:#9b59b6; }
    .diagnosis-mini-legend .green::before { background:#27ae60; }
    .diagnosis-hidden-tools { display:none !important; }
    @media(max-width:980px){ .diagnosis-kpi-row{grid-template-columns:repeat(2,1fr);} .diagnosis-charts-row{grid-template-columns:1fr;} }
    .final-board-lede { padding:12px 14px; border-bottom:1px solid #e6e9ee; background:#fbfcfd; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr); gap:12px; }
    .final-board-lede h3 { margin:0 0 6px; font-size:15px; color:#101828; }
    .final-board-lede p { margin:0; color:#475467; font-size:12px; line-height:1.55; }
    .final-board-status { display:flex; flex-wrap:wrap; gap:6px; align-content:flex-start; justify-content:flex-end; }
    .final-board-command-nav { position:sticky; top:0; z-index:30; display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:10px 14px; border-bottom:1px solid #e6e9ee; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); }
    .final-board-command-nav b { color:#101828; font-size:13px; margin-right:4px; }
    .final-board-command-nav button { height:28px; border:1px solid #d0d5dd; border-radius:999px; background:#fff; color:#344054; padding:0 10px; font-size:12px; font-weight:700; }
    .final-board-command-nav button:hover { border-color:#175cd3; color:#175cd3; background:#eff8ff; }
    .final-board-command-nav .danger { border-color:#fecdca; color:#b42318; background:#fff5f4; }
    .final-board-command-nav .growth { border-color:#abefc6; color:#067647; background:#ecfdf3; }
    .final-board-command-nav .method { border-color:#b2ddff; color:#175cd3; background:#eff8ff; }
    .final-board-section-flash { outline:2px solid #84caff; outline-offset:-2px; transition:outline-color .2s ease; }
    .final-board-grid { display:grid; grid-template-columns:repeat(4, minmax(150px,1fr)); gap:10px; padding:12px 14px; border-bottom:1px solid #e6e9ee; }
    .final-board-card { border:1px solid #e4e7ec; border-radius:8px; padding:10px 12px; background:#fff; min-height:76px; }
    .final-board-card span { display:block; color:#667085; font-size:12px; line-height:1.35; }
    .final-board-card b { display:block; margin:4px 0 3px; color:#101828; font-size:22px; line-height:1.1; font-variant-numeric:tabular-nums; }
    .final-board-card.urgent { border-left:4px solid #d92d20; }
    .final-board-card.growth { border-left:4px solid #12b76a; }
    .final-board-card.risk { border-left:4px solid #dc6803; }
    .final-board-card.method { border-left:4px solid #175cd3; }
    .final-board-two-col { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:12px; padding:12px 14px; }
    .final-board-panel { border:1px solid #e4e7ec; border-radius:8px; background:#fff; overflow:hidden; }
    .final-board-panel h3 { margin:0; padding:9px 11px; font-size:13px; color:#101828; background:#f8fafc; border-bottom:1px solid #edf0f3; }
    .final-board-panel-body { padding:10px 11px; }
    .final-board-list { display:flex; flex-direction:column; gap:8px; }
    .final-board-list-item { border:1px solid #edf0f3; border-radius:8px; padding:8px 9px; background:#fff; font-size:12px; line-height:1.45; }
    .final-board-list-item b { display:block; color:#101828; margin-bottom:3px; }
    .final-board-list-item span { color:#475467; }
    .final-board-priority { display:inline-flex; align-items:center; height:20px; padding:0 7px; border-radius:999px; font-size:11px; font-weight:800; margin-right:6px; }
    .final-board-priority.high { color:#b42318; background:#fff1f0; border:1px solid #fecdca; }
    .final-board-priority.medium { color:#b54708; background:#fffaeb; border:1px solid #fedf89; }
    .final-board-priority.low { color:#175cd3; background:#eff8ff; border:1px solid #b2ddff; }
    .final-chart { display:flex; flex-direction:column; gap:7px; }
    .final-chart-row { display:grid; grid-template-columns:minmax(92px,.85fr) minmax(0,1.2fr) auto minmax(0,1.2fr) auto; gap:8px; align-items:center; font-size:12px; color:#344054; }
    .final-chart-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .final-chart-track { height:10px; border-radius:999px; background:#edf0f3; overflow:hidden; }
    .final-chart-bar { height:100%; border-radius:999px; background:#175cd3; }
    .final-chart-bar.gap { background:#d92d20; }
    .final-chart-bar.risk { background:#dc6803; }
    .final-chart-bar.growth { background:#12b76a; }
    .final-chart-value { color:#667085; font-variant-numeric:tabular-nums; white-space:nowrap; }
    .final-expert-note { border:1px solid #b2ddff; border-left:4px solid #175cd3; background:#eff8ff; border-radius:8px; padding:10px 12px; color:#1849a9; font-size:12px; line-height:1.55; }
    .final-expert-note b { color:#175cd3; display:block; margin-bottom:4px; }
    .final-board-table-section .toolbar { justify-content:space-between; }
    .final-board-filter-bar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:flex-end; }
    .final-board-filter-bar select { width:auto; min-width:112px; height:30px; padding:4px 8px; font-size:12px; }
    .final-board-brief-list { display:flex; flex-direction:column; gap:7px; }
    .final-board-brief-item { border:1px solid #edf0f3; border-radius:8px; padding:8px 9px; background:#fff; font-size:12px; line-height:1.45; }
    .final-board-brief-item b { display:block; color:#101828; margin-bottom:3px; }
    .final-board-brief-item span { color:#475467; }
    .final-board-daily-brief { margin:0; padding:12px 14px; min-height:180px; max-height:420px; overflow:auto; border:1px solid #e4e7ec; border-radius:8px; background:#101828; color:#f9fafb; white-space:pre-wrap; font:12px/1.72 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "PingFang SC", "Microsoft YaHei", monospace; }
    .final-board-copy-status { color:#067647; font-size:12px; }
    .final-board-decision-card-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:10px; padding:0 14px 12px; }
    .final-board-decision-card { border:1px solid #e4e7ec; border-radius:8px; background:#fff; padding:10px 11px; min-height:142px; display:flex; flex-direction:column; gap:7px; }
    .final-board-decision-card.high { border-left:4px solid #d92d20; }
    .final-board-decision-card.medium { border-left:4px solid #dc6803; }
    .final-board-decision-card.low { border-left:4px solid #175cd3; }
    .final-board-decision-card[data-final-workflow-closure-step] { cursor:pointer; }
    .final-board-decision-card.selected { box-shadow:0 0 0 2px #84caff; border-color:#84caff; }
    .final-board-decision-card h4 { margin:0; color:#101828; font-size:13px; line-height:1.35; }
    .final-board-decision-card p { margin:0; color:#475467; font-size:12px; line-height:1.45; }
    .final-board-decision-meta { display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
    .final-board-decision-meta span { display:inline-flex; align-items:center; height:20px; border:1px solid #d0d5dd; border-radius:999px; padding:0 7px; color:#475467; background:#f8fafc; font-size:11px; font-weight:700; }
    .final-board-decision-meta span.owner { color:#175cd3; border-color:#b2ddff; background:#eff8ff; }
    .final-board-decision-meta span.qty { color:#067647; border-color:#abefc6; background:#ecfdf3; }
    .final-board-decision-foot { margin-top:auto; padding-top:7px; border-top:1px solid #edf0f3; color:#667085; font-size:11px; line-height:1.45; }
    .final-board-quadrant-grid { display:grid; grid-template-columns:repeat(2, minmax(260px, 1fr)); gap:10px; padding:0 14px 12px; }
    .final-board-quadrant { border:1px solid #e4e7ec; border-radius:8px; background:#fff; overflow:hidden; min-height:190px; }
    .final-board-quadrant.growth { border-top:4px solid #12b76a; }
    .final-board-quadrant.optimize { border-top:4px solid #175cd3; }
    .final-board-quadrant.clear { border-top:4px solid #d92d20; }
    .final-board-quadrant.observe { border-top:4px solid #98a2b3; }
    .final-board-quadrant-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; padding:10px 11px; border-bottom:1px solid #edf0f3; background:#fbfcfd; }
    .final-board-quadrant-head b { display:block; color:#101828; font-size:13px; }
    .final-board-quadrant-head span { color:#667085; font-size:11px; line-height:1.4; }
    .final-board-quadrant-count { min-width:34px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:#f2f4f7; color:#344054; font-weight:800; font-variant-numeric:tabular-nums; }
    .final-board-quadrant-list { display:flex; flex-direction:column; gap:7px; padding:10px 11px; }
    .final-board-quadrant-item { border:1px solid #edf0f3; border-radius:7px; padding:7px 8px; background:#fff; font-size:12px; line-height:1.45; }
    .final-board-quadrant-item b { display:flex; justify-content:space-between; gap:10px; color:#101828; margin-bottom:3px; }
    .final-board-quadrant-item span { display:block; color:#475467; }
    .final-board-quadrant-item em { color:#667085; font-style:normal; font-weight:700; white-space:nowrap; }
    .final-board-heatmap { padding:0 14px 12px; overflow:auto; }
    .final-board-heatmap-grid { display:grid; gap:1px; min-width:920px; background:#e4e7ec; border:1px solid #e4e7ec; border-radius:8px; overflow:hidden; }
    .final-board-heatmap-cell { min-height:42px; padding:7px 8px; background:#fff; color:#344054; font-size:12px; line-height:1.35; display:flex; flex-direction:column; justify-content:center; gap:2px; }
    .final-board-heatmap-cell.header { min-height:34px; background:#f3f5f7; color:#101828; font-weight:800; }
    .final-board-heatmap-cell.category { position:sticky; left:0; z-index:1; background:#fbfcfd; font-weight:800; }
    .final-board-heatmap-cell.category.header { z-index:2; background:#eef2f6; }
    .final-board-heatmap-cell b { color:#101828; font-size:13px; font-variant-numeric:tabular-nums; }
    .final-board-heatmap-cell span { color:#667085; font-size:11px; }
    .final-board-heatmap-cell.level-0 { background:#fff; }
    .final-board-heatmap-cell.level-1 { background:#eff8ff; }
    .final-board-heatmap-cell.level-2 { background:#fffaeb; }
    .final-board-heatmap-cell.level-3 { background:#fff1f0; }
    .final-board-heatmap-cell.level-4 { background:#fee4e2; box-shadow:inset 0 0 0 1px #fda29b; }
    .data-browser { display:grid; grid-template-columns: 280px minmax(0, 1fr); min-height:430px; }
    .dataset-list { border-right:1px solid #e6e9ee; background:#fbfcfd; max-height:620px; overflow:auto; padding:8px; }
    .dataset-button { display:block; width:100%; height:auto; min-height:42px; text-align:left; border:1px solid transparent; background:transparent; border-radius:6px; padding:7px 9px; margin-bottom:4px; color:#344054; }
    .dataset-button:hover { background:#f2f4f7; }
    .dataset-button.active { border-color:#12b76a; background:#ecfdf3; color:#075e45; }
    .dataset-button b { display:block; font-size:12px; }
    .dataset-button span { display:block; font-size:11px; color:#667085; margin-top:2px; }
    .upload-list-row { position:relative; }
    .upload-delete { position:absolute; right:6px; top:7px; width:24px; height:24px; padding:0; border-color:#fecdca; color:#b42318; background:#fff5f4; font-weight:800; }
    .upload-delete:hover { background:#fee4e2; }
    .ai-review-card { margin:10px 12px; border:1px solid #b2ddff; border-left:4px solid #1570ef; border-radius:8px; padding:9px 10px; background:#eff8ff; color:#1849a9; font-size:12px; line-height:1.5; }
    .ai-review-card b { color:#175cd3; display:block; margin-bottom:4px; }
    .ai-review-card code { display:inline-block; margin:4px 4px 0 0; padding:2px 5px; border-radius:5px; background:#fff; color:#344054; }
    .ai-review-card.failed { border-color:#fecdca; border-left-color:#d92d20; background:#fff5f4; color:#912018; }
    .ai-review-sections { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:8px; margin-top:8px; }
    .ai-review-section { border:1px solid #d0d5dd; border-radius:7px; padding:7px; background:#fff; color:#344054; }
    .ai-review-section b { color:#101828; margin-bottom:4px; }
    .hidden-customer-control { display:none !important; }
    .readiness-panel { margin:10px 12px; border:1px solid #d0d5dd; border-radius:8px; background:#fff; overflow:hidden; }
    .readiness-head { display:flex; justify-content:space-between; gap:10px; padding:10px 12px; border-bottom:1px solid #edf0f3; background:#f8fafc; align-items:center; }
    .readiness-title { font-weight:800; color:#101828; font-size:13px; }
    .readiness-score { font-weight:800; color:#067647; }
    .readiness-meta { color:#667085; font-size:12px; margin-top:3px; }
    .readiness-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:8px; padding:10px 12px; }
    .readiness-item { border:1px solid #edf0f3; border-radius:7px; padding:8px; font-size:12px; line-height:1.45; }
    .readiness-item[data-status="complete"] { border-left:4px solid #12b76a; background:#f6fef9; }
    .readiness-item[data-status="partial"] { border-left:4px solid #dc6803; background:#fffcf5; }
    .readiness-item[data-status="missing"] { border-left:4px solid #d92d20; background:#fffafa; }
    .readiness-item b { display:block; color:#101828; margin-bottom:3px; }
    .readiness-item span { display:block; color:#667085; }
    .readiness-item code { display:inline-block; margin:4px 4px 0 0; padding:2px 5px; border-radius:5px; background:#f2f4f7; color:#344054; font-size:11px; }
    .business-goal-list { display:grid; gap:8px; padding:10px 12px; }
    .business-goal-card { border:1px solid #edf0f3; border-radius:8px; background:#fff; overflow:hidden; }
    .business-goal-card[data-status="complete"] { border-left:4px solid #12b76a; }
    .business-goal-card[data-status="partial"], .business-goal-card[data-status="stale"] { border-left:4px solid #dc6803; }
    .business-goal-card[data-status="missing"] { border-left:4px solid #d92d20; }
    .business-goal-summary { display:grid; grid-template-columns: minmax(150px, 1.2fr) minmax(180px, 2fr) minmax(130px, .8fr); gap:10px; align-items:start; padding:9px 10px; cursor:pointer; }
    .business-goal-summary::-webkit-details-marker { display:none; }
    .business-goal-summary b { display:block; color:#101828; font-size:13px; margin-bottom:3px; }
    .business-goal-summary span, .business-goal-detail { color:#667085; font-size:12px; line-height:1.45; }
    .business-goal-detail { border-top:1px solid #edf0f3; padding:9px 10px; background:#fbfcfd; }
    .business-goal-detail-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:8px; }
    .business-goal-detail-block { border:1px solid #edf0f3; border-radius:7px; padding:8px; background:#fff; }
    .business-goal-detail-block b { display:block; color:#344054; margin-bottom:4px; }
    .business-goal-detail code { display:inline-block; margin:2px 3px 0 0; padding:2px 5px; border-radius:5px; background:#f2f4f7; color:#344054; font-size:11px; }
    .sheet-summary { display:flex; gap:6px; flex-wrap:wrap; padding:0 12px 10px; }
    .sheet-chip { border:1px solid #d0d5dd; border-radius:999px; padding:4px 8px; font-size:11px; color:#344054; background:#fff; }
    .readiness-table { width:100%; border-collapse:separate; border-spacing:0; font-size:12px; }
    .readiness-table th, .readiness-table td { border-bottom:1px solid #edf0f3; padding:7px 8px; text-align:left; vertical-align:top; }
    .readiness-table th { background:#f8fafc; color:#344054; position:sticky; top:0; z-index:1; }
    .readiness-table code { display:inline-block; margin:2px 3px 0 0; padding:2px 5px; border-radius:5px; background:#f2f4f7; color:#344054; font-size:11px; }
    .metric-agent-action { margin-top:5px; height:24px; padding:0 7px; border-radius:6px; font-size:11px; border:1px solid #b2ddff; color:#175cd3; background:#eff8ff; }
    .status-badge { display:inline-flex; align-items:center; height:22px; padding:0 7px; border-radius:999px; font-size:11px; font-weight:800; border:1px solid #d0d5dd; background:#fff; white-space:nowrap; }
    .status-badge.complete { color:#067647; border-color:#abefc6; background:#ecfdf3; }
    .status-badge.partial, .status-badge.stale { color:#b54708; border-color:#fedf89; background:#fffaeb; }
    .status-badge.missing { color:#b42318; border-color:#fecdca; background:#fff5f4; }
    .customer-action-panel { margin:10px 12px; border:1px solid #d0d5dd; border-radius:8px; background:#fff; overflow:hidden; }
    .customer-action-head { display:flex; justify-content:space-between; gap:10px; padding:10px 12px; border-bottom:1px solid #edf0f3; background:#fffdf7; align-items:flex-start; }
    .customer-action-title { font-weight:800; color:#101828; font-size:13px; }
    .customer-action-meta { color:#667085; font-size:12px; margin-top:3px; }
    .customer-action-table { width:100%; border-collapse:separate; border-spacing:0; font-size:12px; }
    .customer-action-table th, .customer-action-table td { border-bottom:1px solid #edf0f3; padding:7px 8px; text-align:left; vertical-align:top; }
    .customer-action-table th { background:#f8fafc; color:#344054; position:sticky; top:0; z-index:1; }
    .customer-action-table code { display:inline-block; margin:2px 3px 0 0; padding:2px 5px; border-radius:5px; background:#f2f4f7; color:#344054; font-size:11px; }
    .mapping-review-panel { margin:10px 12px; border:1px solid #d0d5dd; border-radius:8px; background:#fff; overflow:hidden; }
    .mapping-review-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:9px 11px; border-bottom:1px solid #edf0f3; background:#f8fafc; }
    .mapping-review-title { font-weight:800; color:#101828; font-size:13px; margin-bottom:3px; }
    .mapping-review-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
    .mapping-review-subtitle { padding:8px 10px 5px; font-size:12px; font-weight:800; color:#344054; background:#fff; border-top:1px solid #f2f4f7; }
    .mapping-review-subtitle:first-of-type { border-top:0; }
    .data-intake-advanced { margin:10px 12px 12px; border:1px solid #d0d5dd; border-radius:8px; background:#fff; overflow:hidden; }
    .data-intake-advanced > summary { cursor:pointer; padding:9px 11px; font-size:12px; font-weight:800; color:#344054; background:#f8fafc; border-bottom:1px solid #edf0f3; }
    .data-panel { min-width:0; }
    .data-panel-note { padding:8px 12px; border-bottom:1px solid #e6e9ee; color:#475467; font-size:12px; line-height:1.45; background:#fff; }
    .data-intake-panel { border-bottom:1px solid #e6e9ee; background:#fff; }
    .data-intake-head { display:flex; justify-content:space-between; gap:14px; padding:12px 14px 8px; align-items:flex-start; }
    .data-intake-title { font-size:14px; font-weight:800; color:#101828; }
    .data-intake-grid { display:grid; grid-template-columns:280px minmax(0, 1fr); border-top:1px solid #edf0f3; min-height:300px; }
    .data-intake-upload { padding:0 14px 12px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
    .data-intake-upload label { display:flex; flex-direction:column; gap:4px; min-width:220px; color:#344054; font-size:12px; font-weight:700; }
    .data-intake-upload label input, .data-intake-upload label textarea { width:100%; font-weight:500; }
    .data-intake-upload input[type="file"] { height:auto; min-height:32px; padding:5px 8px; max-width:320px; }
    .data-intake-upload select.hidden-customer-control, .upload-actions.hidden-customer-control { display:none; }
    .data-intake-status { color:#475467; font-size:12px; margin-left:auto; }
    .decision-source-panel { background:#fff; }
    .decision-source-panel .data-intake-head { align-items:center; padding-bottom:10px; }
    .decision-source-panel .hint { max-width:920px; line-height:1.45; }
    .decision-source-status { flex:0 0 auto; border:1px solid #d0d5dd; border-radius:999px; padding:5px 10px; background:#fff; }
    .decision-source-status.ok { color:#067647; border-color:#abefc6; background:#ecfdf3; }
    .decision-source-status.warn { color:#b42318; border-color:#fecdca; background:#fffbfa; }
    .decision-source-form { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:10px 12px; align-items:end; padding:12px 14px; border-top:1px solid #f0e3d1; background:#fffaf2; }
    .decision-source-form label { display:flex; flex-direction:column; gap:5px; min-width:0; margin:0; color:#6f4e25; font-size:12px; font-weight:800; }
    .decision-source-form input, .decision-source-form textarea { width:100%; box-sizing:border-box; border:1px solid #e3cda8; background:#fff; border-radius:8px; color:#344054; font-size:13px; font-weight:600; line-height:1.35; }
    .decision-source-form input { height:36px; padding:7px 10px; }
    .decision-source-form textarea { min-height:36px; max-height:88px; padding:7px 10px; resize:vertical; }
    .decision-source-excluded-row { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:10px; align-items:end; grid-column:1 / -1; }
    .decision-source-excluded-row button { white-space:nowrap; min-height:36px; align-self:end; }
    .decision-source-summary { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:8px; padding:10px 14px 12px; border-top:1px solid #f0e3d1; border-bottom:1px solid #e6e9ee; background:#fff; }
    .decision-source-summary .status-pill { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .decision-source-summary .decision-source-warning { grid-column:1 / -1; border-radius:8px; white-space:normal; line-height:1.45; }
    @media (max-width: 1180px) {
      .decision-source-form { grid-template-columns:1fr; }
      .decision-source-excluded-row { grid-template-columns:1fr; }
      .decision-source-excluded-row button { justify-self:start; }
      .decision-source-summary { grid-template-columns:1fr 1fr; }
    }
    @media (max-width: 760px) {
      .decision-source-panel .data-intake-head { align-items:flex-start; flex-direction:column; }
      .decision-source-form, .decision-source-summary { grid-template-columns:1fr; }
    }
    .upload-summary { padding:10px 12px; border-bottom:1px solid #edf0f3; background:#fbfcfd; color:#344054; font-size:12px; line-height:1.55; }
    .upload-summary b { color:#101828; }
    .upload-actions { display:flex; flex-wrap:wrap; gap:7px; padding:9px 12px; border-bottom:1px solid #edf0f3; align-items:center; }
    .upload-actions select { min-width:150px; }
    .mapping-table { width:100%; border-collapse:separate; border-spacing:0; font-size:12px; }
    .mapping-table th, .mapping-table td { border-bottom:1px solid #edf0f3; padding:7px 8px; text-align:left; vertical-align:top; }
    .mapping-table th { position:sticky; top:0; background:#f8fafc; color:#344054; z-index:1; }
    .mapping-table select { width:100%; min-width:130px; }
    .mapping-table small { color:#667085; display:block; margin-top:2px; line-height:1.35; }
    .field-dictionary-tools { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px; border-bottom:1px solid #edf0f3; background:#fbfcfd; }
    .field-dictionary-table { width:100%; border-collapse:separate; border-spacing:0; font-size:12px; }
    .field-dictionary-table th, .field-dictionary-table td { border-bottom:1px solid #edf0f3; padding:6px 7px; text-align:left; vertical-align:top; }
    .field-dictionary-table th { position:sticky; top:0; background:#f8fafc; color:#344054; z-index:1; }
    .field-dictionary-table input[type="text"], .field-dictionary-table select { width:100%; min-width:90px; height:28px; }
    .field-dictionary-table .field-layer-standard { color:#067647; font-weight:800; }
    .field-dictionary-table .field-layer-extension { color:#175cd3; font-weight:800; }
    .quality-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:8px; padding:10px 12px; border-bottom:1px solid #edf0f3; background:#fcfcfd; }
    .quality-card { border:1px solid #e4e7ec; border-radius:8px; background:#fff; padding:8px 9px; font-size:12px; line-height:1.45; }
    .quality-card[data-severity="error"] { border-left:4px solid #d92d20; }
    .quality-card[data-severity="warning"] { border-left:4px solid #dc6803; }
    .quality-card[data-severity="info"] { border-left:4px solid #1570ef; }
    .quality-card b { display:block; color:#101828; margin-bottom:3px; }
    .quality-card span { color:#667085; }
    .quality-card em { display:block; margin-top:6px; color:#344054; font-style:normal; font-weight:700; }
    .quality-card code { display:inline-block; margin:5px 5px 0 0; padding:2px 5px; border-radius:5px; background:#f2f4f7; color:#344054; font-size:11px; white-space:nowrap; }
    .clean-preview-title { padding:8px 12px; border-bottom:1px solid #edf0f3; color:#344054; font-size:12px; font-weight:800; background:#fbfcfd; }
    .workbench-page { display:none; }
    .workbench-page.active { display:block; }
    .metric-subtabs { display:flex; gap:8px; padding:10px 14px; border-bottom:1px solid #e6e9ee; background:#fbfcfd; }
    .metric-subtab { height:30px; border:1px solid #d0d5dd; border-radius:6px; background:#fff; color:#344054; font-size:12px; }
    .metric-subtab.active { background:#067647; border-color:#067647; color:#fff; font-weight:700; }
    .metric-pane { display:none; }
    .metric-pane.active { display:block; }
    .advanced-metric-tools { border-bottom:1px solid #e6e9ee; background:#fff; }
    .advanced-metric-tools summary { cursor:pointer; padding:9px 14px; color:#475467; font-size:12px; font-weight:700; }
    .business-metric-detail { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:10px; padding:12px 14px; border-bottom:1px solid #e6e9ee; background:#fbfcfd; }
    .business-metric-card { border:1px solid #e4e7ec; border-radius:8px; background:#fff; padding:10px 12px; font-size:12px; color:#344054; line-height:1.55; }
    .business-metric-card b { color:#101828; }
    .business-metric-card .metric-title { font-size:15px; font-weight:800; color:#101828; margin-bottom:5px; }
    .business-metric-card .metric-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
    .business-metric-card .metric-meta span { border:1px solid #d0d5dd; border-radius:999px; padding:2px 7px; color:#475467; background:#fff; }
    .business-metric-controls { display:grid; grid-template-columns: minmax(190px,.9fr) minmax(180px,1fr) minmax(140px,.7fr) minmax(110px,.45fr) auto auto; gap:8px; align-items:center; }
    .business-metric-controls input, .business-metric-controls select { width:100%; min-width:0; box-sizing:border-box; }
    .metric-editor-grid { display:grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap:10px; padding:12px 14px; border-bottom:1px solid #e6e9ee; background:#fff; }
    .metric-editor-grid label, .agent-draft-box label { display:flex; flex-direction:column; gap:5px; color:#344054; font-size:12px; font-weight:600; }
    .metric-editor-grid label.wide { grid-column:1 / -1; }
    .metric-editor-grid textarea, .agent-draft-box textarea { border:1px solid #cfd6df; border-radius:6px; padding:8px 9px; resize:vertical; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:12px; line-height:1.45; }
    .metric-editor-grid input, .metric-editor-grid select { width:100%; box-sizing:border-box; }
    .agent-draft-box { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:end; gap:10px; padding:12px 14px; border-bottom:1px solid #e6e9ee; background:#fbfcfd; }
    .rule-agent-grid { display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(360px, .9fr); gap:12px; padding:12px 14px; border-bottom:1px solid #e6e9ee; background:#fbfcfd; }
    .rule-agent-grid label { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:600; color:#344054; }
    .rule-agent-grid textarea { min-height:118px; border:1px solid #cfd6df; border-radius:6px; padding:9px 10px; resize:vertical; font:12px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
    .rule-agent-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
    .rule-agent-result { border:1px solid #e4e7ec; border-radius:8px; background:#fff; padding:10px 12px; min-height:118px; font-size:12px; line-height:1.55; color:#344054; white-space:pre-wrap; overflow:auto; }
    .rule-agent-result b { color:#101828; }
    .rule-agent-danger { color:#b42318; }
    .rule-agent-ok { color:#067647; }
    .rule-param-toolbar { display:grid; grid-template-columns:minmax(240px, 1.4fr) minmax(210px, 1.1fr) minmax(190px, 1fr) auto auto minmax(260px, 2fr) auto; gap:6px; align-items:center; }
    .rule-param-toolbar select, .rule-param-toolbar input, .rule-param-toolbar textarea { width:100%; min-width:0; box-sizing:border-box; }
    .rule-param-toolbar textarea { min-height:34px; max-height:96px; padding:7px 9px; resize:vertical; border:1px solid #cfd6df; border-radius:6px; font:12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
    .rule-param-toolbar .hint { line-height:1.35; }
    #ruleParameterPane .table-wrap { max-height:690px; }
    #ruleParameterTable { font-size:11.5px; }
    #ruleParameterTable th, #ruleParameterTable td { padding:5px 7px; }
    #ruleParameterTable .th-content { gap:4px; }
    #ruleParameterTable td.param-value-cell, #ruleParameterTable td.param-description-cell { white-space:normal; word-break:break-word; overflow-wrap:anywhere; line-height:1.45; text-align:left; }
    #ruleParameterTable td.param-value-cell { min-width:180px; max-width:300px; }
    #ruleParameterTable td.param-description-cell { min-width:220px; max-width:340px; color:#475467; }
    .status-strip { display:flex; gap:8px; flex-wrap:wrap; padding:10px 14px; border-bottom:1px solid #e6e9ee; background:#fbfcfd; }
    .status-pill { border:1px solid #d0d5dd; border-radius:999px; padding:4px 9px; background:#fff; color:#475467; font-size:12px; }
    .status-pill.ok { color:#067647; border-color:#abefc6; background:#ecfdf3; }
    .status-pill.warn { color:#b54708; border-color:#fedf89; background:#fffaeb; }
    .scenario-grid { display:grid; grid-template-columns: repeat(5, minmax(130px,1fr)); gap:10px; padding:12px 14px; }
    .scenario-item { border:1px solid #e4e7ec; border-radius:8px; padding:10px; background:#fff; }
    .scenario-item span { display:block; color:#667085; font-size:12px; }
    .scenario-item b { display:block; margin-top:4px; font-size:18px; }
    .scenario-item.warning { border-color:#fdb022; background:#fffcf5; }
    .scenario-item.ok { border-color:#abefc6; background:#f6fef9; }
    .table-wrap { overflow: auto; max-height: 620px; }
    .table-scroll-end-spacer { display:block; height:1px; width:calc(var(--table-scroll-content-width, 0px) + var(--table-scroll-end-space, 0px)); pointer-events:none; }
    .table-scroll-end-spacer[hidden] { display:none; }
    .virtual-spacer-cell { padding:0 !important; border:0 !important; background:transparent !important; }
    table { border-collapse: collapse; width: max-content; min-width: 0; max-width:none; table-layout: fixed; font-size: 12px; }
    th, td { box-sizing:border-box; padding: 7px 8px; border-bottom: 1px solid #edf0f3; white-space: nowrap; text-align: left; overflow:hidden; text-overflow:ellipsis; }
    th { position: sticky; top: 0; background: #f3f5f7; z-index: 2; color: #344054; cursor:pointer; user-select:none; overflow:hidden; min-width:32px; padding: 5px 8px 6px 6px; white-space:normal; text-overflow:clip; vertical-align:top; }
    th[draggable="true"] { cursor:grab; }
    th.dragging { opacity:.55; }
    .column-drop-indicator { position:fixed; left:0; top:0; width:3px; height:0; display:none; pointer-events:none; z-index:2147483400; background:#1570ef; border-radius:3px; box-shadow:0 0 0 1px rgba(21,112,239,.18), 0 0 0 4px rgba(21,112,239,.10); }
    .column-drop-indicator.active { display:block; }
    .column-drop-indicator::before { content:""; position:absolute; top:-5px; left:-4px; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:0; border-bottom:6px solid #1570ef; }
    .col-resizer { position:absolute; top:0; right:0; width:8px; height:100%; cursor:col-resize; z-index:8; }
    .col-resizer::after { content:""; position:absolute; top:5px; bottom:5px; right:2px; width:2px; border-radius:2px; background:transparent; }
    th:hover .col-resizer::after { background:#98a2b3; }
    body.column-resizing { cursor:col-resize; user-select:none; }
    th.sort-asc::after { content:" ↑"; }
    th.sort-desc::after { content:" ↓"; }
    thead.has-column-groups tr.column-group-row th { top:0; height:27px; padding:3px 4px; background:#eaf0f7; z-index:6; border-bottom:1px solid #d0d5dd; text-align:center; vertical-align:middle; }
    thead.has-column-groups tr.column-label-row th { top:27px; }
    .column-group-head-cell { cursor:default; color:#475467; }
    .column-group-head-cell[data-colgroup-drag] { cursor:move; }
    .column-group-head-cell.empty { background:#f3f5f7; }
    .column-group-toggle { display:inline-flex; align-items:center; justify-content:center; gap:4px; max-width:100%; height:20px; border:1px solid #cfd6df; border-radius:999px; padding:0 7px; background:#fff; color:#175cd3; font-size:11px; font-weight:700; cursor:pointer; }
    .column-group-toggle span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .column-group-head-cell.collapsed { overflow:visible; padding:0; background:linear-gradient(90deg, transparent 0 4px, #175cd3 4px 6px, transparent 6px); }
    .column-group-toggle.collapsed { position:relative; left:-5px; width:18px; min-width:18px; height:18px; padding:0; border-color:#175cd3; font-size:12px; line-height:16px; box-shadow:0 1px 3px rgba(16,24,40,.14); }
    th.column-group-marker-head { cursor:default; background:#fff; text-align:center; padding:0; border-left:2px solid #175cd3; border-right:0; }
    td.column-group-marker-cell { background:#fff; border-left:2px solid #d0d5dd; border-right:0; padding:0; color:transparent; }
    .column-group-head-cell.collapsed, th.column-group-marker-head, td.column-group-marker-cell { width:8px !important; min-width:8px !important; max-width:8px !important; }
    td:first-child, th:first-child, td:nth-child(2), th:nth-child(2), td:nth-child(3), th:nth-child(3) { text-align: left; }
    th.sticky-col, td.sticky-col { position: sticky; background:#fff; z-index:3; box-shadow:inset -1px 0 0 #e4e7ec; text-align:left; }
    th.sticky-col { background:#eef2f6; z-index:5; }
    .th-content { display:block; min-width:0; padding-right:10px; line-height:1.12; }
    th.sticky-col .th-content, th.text-cell .th-content { text-align:left; }
    .th-label { display:block; overflow:hidden; white-space:normal; word-break:break-all; overflow-wrap:anywhere; text-overflow:clip; font-size:var(--th-font-size, 12px); line-height:1.12; max-height:5.6em; }
    .ai-decision-header-label { display:inline; vertical-align:baseline; }
    .ai-decision-icon { width:.92em; height:1em; display:inline-block; margin-right:.16em; background-image:url("agent_pet/spritesheet.webp"); background-size:800% 900%; background-position:0 0; background-repeat:no-repeat; filter:drop-shadow(0 .05em .08em rgba(120,53,15,.28)); vertical-align:-.12em; }
    .filter-button { position:absolute; top:1px; right:5px; width:18px; min-width:18px; height:18px; padding:0; border:1px solid transparent; border-radius:4px; background:rgba(255,255,255,.72); color:#667085; line-height:16px; font-size:10px; opacity:.68; }
    .filter-button:hover { border-color:#cfd6df; background:#fff; }
    .filter-button.active { color:#067647; border-color:#abefc6; background:#ecfdf3; font-weight:700; }
    td.sticky-col.metric-sales, th.sticky-col.metric-sales { background:#fff7f6; }
    td.sticky-col.metric-stock, th.sticky-col.metric-stock { background:#f5fbff; }
    td.sticky-col.metric-price, th.sticky-col.metric-price { background:#fff9ed; }
    td.sticky-col.metric-store, th.sticky-col.metric-store { background:#f7f5ff; }
    td.sticky-col.metric-order, th.sticky-col.metric-order { background:#f3fff7; }
    th.metric-sales, td.metric-sales { background:#fff7f6; color:var(--sales); }
    th.metric-stock, td.metric-stock { background:#f5fbff; color:var(--stock); }
    th.metric-price, td.metric-price { background:#fff9ed; color:var(--price); }
    th.metric-store, td.metric-store { background:#f7f5ff; color:var(--store); }
    th.metric-order, td.metric-order { background:#f3fff7; color:var(--order); }
    td.text-cell { color:#344054; background:#fff; }
    .sku-link { border:0; background:transparent; color:#175cd3; padding:0; height:auto; font:inherit; font-weight:700; text-decoration:underline; text-underline-offset:2px; cursor:default; }
    tr.product-image-row td { cursor:default; }
    tr.product-image-row:hover td { box-shadow:inset 0 9999px rgba(23,92,211,.035); }
    tr.product-image-row td:has(button), tr.product-image-row td:has(input), tr.product-image-row td:has(select), tr.product-image-row td:has(textarea) { cursor:default; }
    .image-popover { position:fixed; right:24px; top:88px; width:480px; height:min(332px, calc(100vh - 112px)); min-width:320px; min-height:220px; max-width:calc(100vw - 16px); max-height:calc(100vh - 16px); display:flex; flex-direction:column; background:#fff; border:1px solid #d0d5dd; border-radius:8px; box-shadow:0 20px 48px rgba(16,24,40,.18); z-index:2147483000; overflow:hidden; }
    .image-popover.hidden { display:none; }
    .image-popover-head { display:flex; align-items:flex-start; justify-content:space-between; gap:6px; padding:6px 8px; border-bottom:1px solid #e4e7ec; cursor:move; user-select:none; }
    .image-popover-title { font-weight:850; color:#101828; line-height:1.16; font-size:15px; }
    .image-popover-meta { color:#667085; font-size:10.5px; margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:360px; }
    .image-popover-stats { display:grid; grid-template-columns:1fr; gap:4px; width:70px; align-self:stretch; align-content:start; }
    .image-popover-stat { min-width:0; padding:5px 6px; border:1px solid #edf0f3; background:#f8fafc; border-radius:6px; line-height:1.05; box-shadow:inset 2px 0 0 transparent; }
    .image-popover-stat b { display:block; color:#101828; font-size:14px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:0; }
    .image-popover-stat span { display:block; margin-top:1px; color:#667085; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .image-popover-stat.stat-sales { border-color:#fecaca; background:#fff5f5; box-shadow:inset 2px 0 0 #ef4444; }
    .image-popover-stat.stat-sales b, .image-popover-stat.stat-sales span { color:#b42318; }
    .image-popover-stat.stat-stock { border-color:#bfdbfe; background:#eff6ff; box-shadow:inset 2px 0 0 #2563eb; }
    .image-popover-stat.stat-stock b, .image-popover-stat.stat-stock span { color:#175cd3; }
    .image-popover-stat.stat-purchase { background:#fbfcfd; }
    .image-popover-stat.stat-coverage { background:#f6fef9; border-color:#d1fadf; }
    .image-popover-close { border:0; background:#f2f4f7; width:24px; height:24px; border-radius:50%; padding:0; line-height:1; cursor:pointer; flex:0 0 auto; }
    .image-popover-body { padding:6px; flex:1; min-height:0; overflow:hidden; display:grid; grid-template-columns:minmax(0, 1fr) 70px; gap:6px; align-items:stretch; }
    .image-popover-media { min-width:0; min-height:0; overflow:hidden; display:flex; align-items:center; justify-content:center; }
    .image-popover img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; background:#f8fafc; border:1px solid #edf0f3; border-radius:6px; }
    .image-empty { color:#667085; background:#f8fafc; border:1px dashed #cfd6df; border-radius:6px; padding:22px 12px; text-align:center; line-height:1.55; }
    .image-popover-resize { position:absolute; right:0; bottom:0; width:18px; height:18px; cursor:nwse-resize; background:linear-gradient(135deg, transparent 0 42%, #98a2b3 43% 50%, transparent 51% 62%, #98a2b3 63% 70%, transparent 71%); opacity:.8; }
    @media (max-width: 460px) {
      .image-popover-body { grid-template-columns:1fr; grid-template-rows:minmax(0,1fr) auto; }
      .image-popover-stats { width:auto; grid-template-columns:repeat(4, minmax(0,1fr)); }
      .image-popover-stat { padding:4px 5px; }
      .image-popover-stat b { font-size:13px; }
      .image-popover-stat span { font-size:10px; }
    }
    #tudouAgentTopLayer { position:fixed !important; inset:0 !important; z-index:2147483647 !important; pointer-events:none !important; isolation:isolate !important; overflow:visible !important; }
    html body #tudouAgentPanel, html body .tudou-agent-panel { position:fixed !important; right:16px !important; bottom:16px !important; top:auto !important; left:auto !important; width:460px; height:min(720px, calc(100vh - 32px)); min-width:340px; max-width:calc(100vw - 32px); display:flex; flex-direction:column; background:#fff; border:1px solid #d0d5dd; border-radius:10px; box-shadow:0 18px 50px rgba(16,24,40,.18); z-index:2147483647 !important; overflow:hidden; isolation:isolate; pointer-events:auto; transform:none !important; transition:width .18s ease, height .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease; }
    html body #tudouAgentPanel.tudou-agent-top-layer { z-index:2147483647 !important; }
    #tudouAgentPanel, .tudou-agent-panel { --tudou-pet-cell-w:96px; --tudou-pet-cell-h:104px; --tudou-pet-shell-w:138px; --tudou-pet-shell-h:150px; }
    #tudouAgentPanel.collapsed, .tudou-agent-panel.collapsed { width:var(--tudou-pet-shell-w); height:var(--tudou-pet-shell-h); min-width:var(--tudou-pet-shell-w); max-width:var(--tudou-pet-shell-w); background:transparent; border-color:transparent; box-shadow:none; border-radius:0; overflow:visible; }
    #tudouAgentPanel.collapsed .tudou-agent-body, #tudouAgentPanel.collapsed .tudou-agent-input, #tudouAgentPanel.collapsed .tudou-agent-sub, #tudouAgentPanel.collapsed .tudou-agent-tools, #tudouAgentPanel.collapsed .tudou-agent-title-wrap, #tudouAgentPanel.collapsed .tudou-agent-actions, .tudou-agent-panel.collapsed .tudou-agent-body, .tudou-agent-panel.collapsed .tudou-agent-input, .tudou-agent-panel.collapsed .tudou-agent-sub, .tudou-agent-panel.collapsed .tudou-agent-tools, .tudou-agent-panel.collapsed .tudou-agent-title-wrap, .tudou-agent-panel.collapsed .tudou-agent-actions { display:none; }
    #tudouAgentPanel.collapsed .tudou-agent-head, .tudou-agent-panel.collapsed .tudou-agent-head { width:var(--tudou-pet-shell-w); height:var(--tudou-pet-shell-h); padding:0; border-bottom:0; background:transparent; cursor:pointer; justify-content:center; overflow:visible; }
    #tudouAgentPanel.collapsed .tudou-agent-head-main, .tudou-agent-panel.collapsed .tudou-agent-head-main { position:relative; width:100%; height:100%; justify-content:center; }
    .tudou-agent-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border-bottom:1px solid #e4e7ec; background:#fbfcfd; }
    .tudou-agent-head-main { display:flex; align-items:center; gap:8px; min-width:0; }
    .tudou-agent-title { font-weight:800; color:#101828; line-height:1.25; }
    .tudou-agent-sub { color:#667085; font-size:12px; margin-top:2px; }
    .tudou-agent-actions { display:flex; align-items:center; gap:6px; }
    .tudou-agent-icon-button { width:28px; height:28px; padding:0; border-radius:50%; border:1px solid #d0d5dd; background:#fff; color:#344054; font-weight:800; }
    .tudou-agent-pet-button { --pet-cell-w:42px; --pet-cell-h:45.5px; --pet-row:0; appearance:none; -webkit-appearance:none; position:relative; width:48px; height:50px; flex:0 0 auto; padding:0; border:0; border-radius:0; background:transparent !important; color:transparent; cursor:grab; display:flex; align-items:center; justify-content:center; overflow:visible; box-shadow:none !important; outline:none !important; touch-action:none; user-select:none; -webkit-user-select:none; }
    .tudou-agent-pet-button:hover, .tudou-agent-pet-button:active, .tudou-agent-pet-button:focus, .tudou-agent-pet-button:focus-visible { background:transparent !important; border-color:transparent !important; box-shadow:none !important; outline:none !important; }
    .tudou-agent-panel.pet-dragging .tudou-agent-pet-button { cursor:grabbing; }
    .tudou-agent-pet-canvas { position:relative; z-index:2; display:block; width:var(--pet-cell-w); height:var(--pet-cell-h); background:transparent; image-rendering:auto; filter:drop-shadow(0 8px 12px rgba(16,24,40,.22)); }
    .tudou-agent-pet-shadow { display:none; }
    #tudouAgentPanel.collapsed .tudou-agent-pet-button, .tudou-agent-panel.collapsed .tudou-agent-pet-button { --pet-cell-w:var(--tudou-pet-cell-w); --pet-cell-h:var(--tudou-pet-cell-h); width:calc(var(--tudou-pet-cell-w) + 28px); height:calc(var(--tudou-pet-cell-h) + 22px); margin:0 auto; }
    .tudou-agent-pet-resize { display:none; position:absolute; right:8px; bottom:13px; width:28px; height:28px; border-radius:9px; border:1px solid rgba(208,213,221,.92); background:rgba(16,24,40,.72); color:#fff; box-shadow:0 8px 18px rgba(16,24,40,.24); align-items:center; justify-content:center; cursor:nwse-resize; z-index:5; opacity:0; transform:translate(3px, 3px) scale(.96); transition:opacity .12s ease, transform .12s ease, background .12s ease; pointer-events:auto; touch-action:none; user-select:none; -webkit-user-select:none; }
    .tudou-agent-pet-resize::before { content:""; width:13px; height:13px; background:linear-gradient(45deg, transparent 0 34%, currentColor 35% 45%, transparent 46% 64%, currentColor 65% 75%, transparent 76%), linear-gradient(135deg, transparent 0 44%, currentColor 45% 56%, transparent 57%); opacity:.95; }
    #tudouAgentPanel.collapsed .tudou-agent-pet-resize, .tudou-agent-panel.collapsed .tudou-agent-pet-resize { display:flex; }
    #tudouAgentPanel.collapsed:hover .tudou-agent-pet-resize, #tudouAgentPanel.pet-resizing .tudou-agent-pet-resize, .tudou-agent-panel.collapsed:hover .tudou-agent-pet-resize, .tudou-agent-panel.pet-resizing .tudou-agent-pet-resize { opacity:1; transform:translate(0, 0) scale(1); }
    #tudouAgentPanel.pet-resizing .tudou-agent-pet-button, .tudou-agent-panel.pet-resizing .tudou-agent-pet-button { cursor:nwse-resize; }
    .tudou-agent-panel.pet-state-idle .tudou-agent-pet-button { --pet-row:0; }
    .tudou-agent-panel.pet-state-running-right .tudou-agent-pet-button { --pet-row:1; }
    .tudou-agent-panel.pet-state-running-left .tudou-agent-pet-button { --pet-row:2; }
    .tudou-agent-panel.pet-state-waving .tudou-agent-pet-button { --pet-row:3; }
    .tudou-agent-panel.pet-state-jumping .tudou-agent-pet-button { --pet-row:4; }
    .tudou-agent-panel.pet-state-failed .tudou-agent-pet-button { --pet-row:5; }
    .tudou-agent-panel.pet-state-waiting .tudou-agent-pet-button { --pet-row:6; }
    .tudou-agent-panel.pet-state-running .tudou-agent-pet-button { --pet-row:7; }
    .tudou-agent-panel.pet-state-review .tudou-agent-pet-button { --pet-row:8; }
    .tudou-agent-body { flex:1; min-height:0; overflow:auto; padding:10px 12px; background:#fcfcfd; }
    .tudou-agent-tools { display:flex; align-items:center; gap:7px; padding:8px 12px; border-top:1px solid #edf0f3; background:#fff; font-size:12px; color:#475467; }
    .tudou-agent-status { color:#667085; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; flex:1; }
    .tudou-agent-status.has-mini-status { display:flex; align-items:center; overflow:visible; text-overflow:clip; }
    .tudou-agent-stop { height:26px; padding:0 8px; border-radius:6px; border:1px solid #d0d5dd; background:#fff; color:#344054; font-size:12px; }
    .tudou-agent-stop.hidden { display:none; }
    .tudou-agent-control-icon { width:32px; height:32px; padding:0; border-radius:9px; border:1px solid #d0d5dd; background:#fff; color:#344054; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; transition:background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease; }
    .tudou-agent-control-icon:hover { border-color:#84caff; background:#eff8ff; color:#175cd3; }
    .tudou-agent-control-icon:focus-visible { outline:2px solid rgba(21,112,239,.24); outline-offset:2px; }
    .tudou-agent-icon-svg { width:16px; height:16px; display:block; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
    .tudou-agent-speech-toggle { width:30px; height:26px; border-radius:8px; }
    .tudou-agent-speech-toggle.enabled { border-color:#86efac; background:#ecfdf3; color:#067647; }
    .tudou-agent-speech-toggle.speaking { border-color:#fedf89; background:#fffaeb; color:#b54708; }
    .tudou-agent-message { margin-bottom:12px; display:flex; }
    .tudou-agent-bubble { max-width:100%; border:1px solid #e4e7ec; border-radius:9px; padding:8px 10px; background:#fff; color:#344054; font-size:12px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
    .tudou-agent-message.user { justify-content:flex-end; }
    .tudou-agent-message.user .tudou-agent-bubble { max-width:86%; background:#ecfdf3; border-color:#abefc6; color:#075e45; }
    .tudou-agent-message.agent { justify-content:flex-start; }
    .tudou-agent-message.agent .tudou-agent-bubble { width:100%; border-color:transparent; background:transparent; padding:0; color:#1d2939; white-space:normal; }
    .tudou-agent-message.thinking .tudou-agent-bubble, .tudou-agent-message.error .tudou-agent-bubble { border-color:transparent; background:transparent; }
    .tudou-agent-run-card { width:100%; border-top:1px solid #e4e7ec; padding-top:10px; }
    .tudou-agent-run-meta { color:#667085; font-size:12px; margin:0 0 10px; display:flex; align-items:center; gap:8px; min-height:32px; }
    .tudou-agent-run-meta .status-dot { width:7px; height:7px; border-radius:999px; background:#1570ef; animation:tudouAgentPulse 1s ease-in-out infinite; }
    .tudou-agent-message.error .status-dot { background:#f04438; animation:none; }
    .tudou-agent-mini-status { display:inline-flex; align-items:center; gap:7px; min-width:0; max-width:100%; padding:3px 9px 3px 4px; border:1px solid #fedf89; background:#fffaeb; color:#92400e; border-radius:999px; box-shadow:0 5px 14px rgba(181,71,8,.09); }
    .tudou-agent-mini-pet { width:28px; height:30px; flex:0 0 auto; background:transparent; filter:drop-shadow(0 3px 5px rgba(120,53,15,.22)); }
    .tudou-agent-cute-verb { font-weight:800; white-space:nowrap; color:#b54708; letter-spacing:.01em; }
    .tudou-agent-cute-meta { color:#667085; white-space:nowrap; }
    .tudou-agent-message.done .tudou-agent-mini-status { background:#ecfdf3; border-color:#abefc6; color:#067647; }
    .tudou-agent-message.done .tudou-agent-cute-verb { color:#067647; }
    .tudou-agent-message.error .tudou-agent-mini-status { background:#fef3f2; border-color:#fecdca; color:#b42318; }
    .tudou-agent-message.error .tudou-agent-cute-verb { color:#b42318; }
    .tudou-agent-status.status-done .tudou-agent-mini-status { background:#ecfdf3; border-color:#abefc6; color:#067647; }
    .tudou-agent-status.status-done .tudou-agent-cute-verb { color:#067647; }
    .tudou-agent-status.status-error .tudou-agent-mini-status { background:#fef3f2; border-color:#fecdca; color:#b42318; }
    .tudou-agent-status.status-error .tudou-agent-cute-verb { color:#b42318; }
    .tudou-agent-thinking-inline { margin:10px 0 2px; white-space:normal; }
    .tudou-agent-final { color:#1d2939; font-size:13px; line-height:1.68; margin:8px 0 0; white-space:normal; display:flex; flex-direction:column; gap:7px; }
    .tudou-agent-final-wrap { position:relative; }
    .tudou-agent-speak-button { float:right; width:30px; height:30px; margin:2px 0 6px 8px; padding:0; border:1px solid #d0d5dd; background:#fff; color:#475467; border-radius:9px; font-size:13px; line-height:1; display:inline-flex; align-items:center; justify-content:center; }
    .tudou-agent-speak-button:hover { border-color:#84caff; background:#eff8ff; color:#175cd3; }
    .tudou-agent-speak-button.speaking { border-color:#fedf89; background:#fffaeb; color:#b54708; animation:tudouAgentSoftGlow 1.5s ease-in-out infinite; }
    .tudou-agent-final p { margin:0; }
    .tudou-agent-final strong { font-weight:800; color:#101828; }
    .tudou-agent-final h4 { margin:4px 0 0; color:#101828; font-size:13px; line-height:1.45; font-weight:800; }
    .tudou-agent-final pre { margin:0; padding:8px 10px; border-radius:7px; background:#101828; color:#f9fafb; overflow:auto; white-space:pre; font:11px/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
    .tudou-agent-final ul, .tudou-agent-final ol { margin:0 0 0 20px; padding:0; }
    .tudou-agent-final li { margin:5px 0; padding-left:2px; display:list-item; }
    .tudou-agent-final a { color:#175cd3; text-decoration:none; border-bottom:1px solid rgba(21,112,239,.25); }
    .tudou-agent-final a:hover { border-bottom-color:#175cd3; }
    .tudou-agent-final code { display:inline-block; max-width:100%; padding:1px 5px; border-radius:5px; background:#f2f4f7; color:#344054; font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size:.95em; vertical-align:baseline; overflow-wrap:anywhere; }
    .tudou-agent-timeline { display:flex; flex-direction:column; gap:9px; margin:10px 0; white-space:normal; }
    .tudou-agent-talk-step { color:#101828; font-size:13px; line-height:1.72; margin:5px 0 7px; }
    .tudou-agent-talk-step .tudou-agent-final { margin:0; gap:6px; }
    .tudou-agent-op-group { margin:2px 0; color:#667085; }
    .tudou-agent-op-group summary { list-style:none; cursor:pointer; user-select:none; display:flex; align-items:center; gap:8px; min-height:24px; color:#667085; font-size:12px; line-height:1.45; }
    .tudou-agent-op-group summary::-webkit-details-marker { display:none; }
    .tudou-agent-op-icon { width:18px; height:18px; border-radius:5px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; border:1px solid #d0d5dd; color:#667085; background:#fff; font-size:11px; }
    .tudou-agent-op-text { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .tudou-agent-op-chevron { color:#98a2b3; transition:transform .15s ease; margin-left:2px; }
    .tudou-agent-op-group[open] .tudou-agent-op-chevron { transform:rotate(90deg); }
    .tudou-agent-op-group.current summary { color:#475467; }
    .tudou-agent-op-group.current .tudou-agent-op-icon { border-color:#fedf89; background:#fffaeb; color:#b54708; }
    .tudou-agent-op-group.current .tudou-agent-op-text { animation:tudouAgentSoftGlow 1.4s ease-in-out infinite; }
    .tudou-agent-op-details { margin:6px 0 0 26px; padding:7px 9px; border-left:2px solid #e4e7ec; color:#667085; display:flex; flex-direction:column; gap:5px; }
    .tudou-agent-op-detail-line { font-size:12px; line-height:1.45; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .tudou-agent-op-detail-line.mono { font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size:11px; }
    .tudou-agent-step { color:#667085; font-size:12px; line-height:1.45; }
    .tudou-agent-step-main { display:flex; align-items:flex-start; gap:8px; }
    .tudou-agent-step-icon { width:18px; height:18px; border-radius:5px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; border:1px solid #d0d5dd; color:#667085; font-size:11px; background:#fff; }
    .tudou-agent-step.current .tudou-agent-step-icon { border-color:#84caff; color:#175cd3; background:#eff8ff; }
    .tudou-agent-step.current .tudou-agent-step-text { color:#344054; font-weight:650; }
    .tudou-agent-step-details { margin:5px 0 0 26px; }
    .tudou-agent-step-details summary { cursor:pointer; user-select:none; color:#667085; }
    .tudou-agent-step-items { margin:5px 0 0; padding:6px 8px; border-radius:7px; background:#f8fafc; border:1px solid #edf0f3; color:#667085; max-height:150px; overflow:auto; }
    .tudou-agent-step-items div { font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .tudou-agent-activity { display:flex; align-items:center; gap:7px; color:#475467; font-size:12px; margin-bottom:6px; }
    .tudou-agent-dot { width:7px; height:7px; border-radius:50%; background:#1570ef; animation:tudouAgentPulse 1s ease-in-out infinite; flex:0 0 auto; }
    .tudou-agent-message.error .tudou-agent-dot { background:#f04438; animation:none; }
    .tudou-agent-activity small { color:#667085; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
    .tudou-agent-trace { margin-top:7px; border-top:1px solid #e4e7ec; padding-top:6px; color:#667085; }
    .tudou-agent-trace summary { cursor:pointer; font-size:12px; color:#475467; }
    .tudou-agent-trace span { display:block; margin-top:4px; line-height:1.45; }
    .tudou-agent-trace span.current { color:#175cd3; }
    @keyframes tudouAgentPulse { 0%,100%{opacity:.45; transform:scale(.9);} 50%{opacity:1; transform:scale(1.15);} }
    @keyframes tudouAgentSoftGlow { 0%,100%{opacity:.58; text-shadow:none;} 50%{opacity:1; text-shadow:0 0 12px rgba(245,158,11,.35);} }
    .tudou-agent-input { display:flex; flex-direction:column; gap:8px; padding:10px 12px; border-top:1px solid #e4e7ec; background:#fff; }
    .tudou-agent-input-row { display:grid; grid-template-columns:auto minmax(0, 1fr) auto auto; gap:8px; align-items:end; }
    .tudou-agent-input textarea { min-height:54px; max-height:150px; resize:vertical; border:1px solid #cfd6df; border-radius:10px; padding:8px 10px; font:12px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:#fff; }
    .tudou-agent-input textarea:focus { outline:2px solid rgba(21,112,239,.16); border-color:#84caff; }
    .tudou-agent-input button { align-self:end; height:34px; font-weight:700; }
    .tudou-agent-input .tudou-agent-attach-button, .tudou-agent-input .tudou-agent-voice-button { width:34px; padding:0; background:#fff; color:#344054; border-color:#cfd6df; font-size:18px; line-height:1; }
    .tudou-agent-input .tudou-agent-attach-button:hover, .tudou-agent-input .tudou-agent-voice-button:hover { border-color:#84caff; background:#eff8ff; color:#175cd3; }
    .tudou-agent-input .tudou-agent-voice-button.recording { background:#fff5f4; color:#b42318; border-color:#fda29b; animation:tudouAgentPulse 1s ease-in-out infinite; }
    .tudou-agent-input #tudouAgentSend { min-width:48px; padding:0 12px; border-radius:9px; background:#067647; color:#fff; border-color:#067647; }
    .tudou-agent-input #tudouAgentSend:hover { background:#05603a; border-color:#05603a; }
    .tudou-agent-input button:disabled { opacity:.55; cursor:not-allowed; }
    .tudou-agent-attachments { display:none; gap:6px; flex-wrap:wrap; }
    .tudou-agent-attachments.has-items { display:flex; }
    .tudou-agent-attachment { display:flex; align-items:center; gap:6px; max-width:100%; border:1px solid #d0d5dd; background:#f8fafc; color:#344054; border-radius:8px; padding:5px 7px; font-size:11px; line-height:1.3; }
    .tudou-agent-attachment b { color:#101828; max-width:170px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .tudou-agent-attachment span { color:#667085; white-space:nowrap; }
    .tudou-agent-attachment button { height:20px; min-width:20px; padding:0; border:none; background:transparent; color:#667085; font-size:14px; }
    .tudou-agent-panel.drag-over .tudou-agent-input { outline:2px dashed #1570ef; outline-offset:-5px; background:#eff8ff; }
    .filter-popover { position:fixed; z-index:2147483200; width:300px; max-width:calc(100vw - 32px); max-height:calc(100vh - 24px); display:flex; flex-direction:column; background:#fff; border:1px solid #d0d5dd; border-radius:8px; box-shadow:0 18px 42px rgba(16,24,40,.18); overflow:hidden; }
    .filter-popover.hidden { display:none; }
    .filter-popover-head { padding:10px 12px; border-bottom:1px solid #e4e7ec; display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
    .filter-popover-title { font-weight:700; color:#101828; line-height:1.35; }
    .filter-popover-meta { color:#667085; font-size:12px; margin-top:2px; }
    .filter-popover-actions { display:flex; gap:6px; padding:8px 10px; border-bottom:1px solid #edf0f3; background:#fbfcfd; }
    .filter-popover-actions button { height:28px; padding:0 8px; font-size:12px; }
    .column-settings-scroll { flex:1 1 auto; min-height:180px; overflow-y:auto; overscroll-behavior:contain; background:#fff; }
    .column-freeze-control { display:flex; align-items:center; gap:8px; padding:8px 10px; border-bottom:1px solid #edf0f3; background:#fff; color:#475467; font-size:12px; }
    .column-freeze-control label { display:flex; align-items:center; gap:7px; min-width:0; flex:1; }
    .column-freeze-control select { min-width:0; width:100%; height:28px; font-size:12px; }
    .column-freeze-control span { white-space:nowrap; color:#98a2b3; }
    .column-group-panel { padding:9px 10px; border-bottom:1px solid #edf0f3; background:#fbfcfd; }
    .column-group-title { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:12px; font-weight:700; color:#344054; margin-bottom:7px; }
    .column-group-title span { color:#98a2b3; font-weight:500; }
    .column-group-create { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
    .column-group-create input, .column-group-create select { width:100%; min-width:0; height:28px; box-sizing:border-box; font-size:12px; }
    .column-group-create input { grid-column:1 / -1; }
    .column-group-create button { grid-column:1 / -1; height:28px; font-size:12px; }
    .column-group-list { display:flex; flex-direction:column; gap:5px; margin-top:8px; max-height:110px; overflow:auto; }
    .column-group-item { display:grid; grid-template-columns:minmax(0, 1fr) auto auto; gap:5px; align-items:center; padding:5px 6px; border:1px solid #e4e7ec; border-radius:6px; background:#fff; font-size:12px; }
    .column-group-item b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#344054; }
    .column-group-item span { color:#98a2b3; font-size:11px; }
    .column-group-item button { height:24px; padding:0 7px; font-size:11px; }
    .filter-popover-list { max-height:260px; min-height:0; overflow:auto; padding:6px 0; }
    .filter-option { display:flex; align-items:center; gap:8px; padding:5px 12px; font-size:12px; color:#344054; }
    .filter-option:hover { background:#f8fafc; }
    .filter-option input { width:14px; height:14px; padding:0; flex:0 0 auto; }
    .filter-option span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .filter-popover-foot { padding:8px 10px; display:flex; justify-content:flex-end; gap:8px; border-top:1px solid #edf0f3; }
    .filter-popover-foot .primary-mini { background:#067647; border-color:#067647; color:#fff; }
    .table-column-button { position:sticky; left:0; top:0; z-index:12; height:26px; margin:4px 0 4px 4px; padding:0 8px; border-color:#98a2b3; background:#fff; font-size:12px; color:#344054; box-shadow:0 1px 3px rgba(16,24,40,.08); }
    .table-column-button.has-hidden { border-color:#fdb022; color:#b54708; background:#fffcf5; font-weight:700; }
    .column-popover-search { padding:8px 10px; border-bottom:1px solid #edf0f3; background:#fff; }
    .column-popover-search input { width:100%; box-sizing:border-box; }
    .column-option { cursor:grab; }
    .column-option.dragging { opacity:.48; background:#ecfdf3; }
    .column-option.matrix-fixed-order { cursor:default; }
    .column-option.matrix-fixed-order .column-drag-handle { color:#cbd5e1; cursor:default; }
    .column-drag-handle { color:#98a2b3; font-size:12px; letter-spacing:-2px; cursor:grab; flex:0 0 auto; }
    .column-option.hidden-col span { color:#b54708; font-weight:700; }
    .matrix-group-order-panel { border:1px solid #d8e0eb; border-radius:8px; padding:10px; background:#f8fafc; margin:10px 0; }
    .matrix-group-order-title { font-weight:900; color:#101828; display:flex; justify-content:space-between; gap:8px; margin-bottom:8px; }
    .matrix-group-order-title span { font-size:11px; color:#667085; font-weight:700; }
    .matrix-group-order-list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:6px; max-height:214px; overflow:auto; padding-right:2px; }
    .matrix-group-option { display:flex; align-items:center; gap:8px; min-width:0; border:1px solid #cbd5e1; border-radius:8px; background:#fff; padding:7px 9px; font-size:12px; font-weight:800; cursor:grab; }
    .matrix-group-option span:last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .matrix-group-option.dragging { opacity:.5; background:#ecfdf3; }
    .matrix-group-hint { color:#667085; font-size:11px; line-height:1.45; margin-top:8px; }
    .global-loading-overlay { position:fixed; inset:0; z-index:80; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(246,247,249,.90); backdrop-filter:blur(3px); }
    .global-loading-overlay.hidden { display:none; }
    .global-loading-card { width:min(480px, calc(100vw - 40px)); background:#fff; border:1px solid #d0d5dd; border-radius:10px; box-shadow:0 22px 64px rgba(16,24,40,.20); padding:16px 18px 15px; }
    .global-loading-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px; }
    .global-loading-title { font-weight:800; color:#101828; font-size:16px; line-height:1.35; }
    .global-loading-percent { color:#067647; font-weight:800; font-variant-numeric:tabular-nums; }
    .global-loading-label { color:#475467; font-size:13px; line-height:1.45; min-height:19px; }
    .global-loading-track { height:8px; border-radius:999px; background:#e4e7ec; overflow:hidden; margin:12px 0 11px; }
    .global-loading-bar { height:100%; width:6%; border-radius:999px; background:#12b76a; transition:width .18s ease; }
    .global-loading-steps { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:6px; }
    .global-loading-step { border:1px solid #e4e7ec; border-radius:999px; padding:4px 7px; color:#667085; background:#fff; font-size:11px; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .global-loading-step.active { border-color:#75e0a7; color:#067647; background:#ecfdf3; font-weight:800; }
    .global-loading-step.done { border-color:#d0d5dd; color:#475467; background:#f8fafc; }
    .global-loading-overlay.error .global-loading-bar { background:#d92d20; }
    .global-loading-overlay.error .global-loading-percent { color:#b42318; }
    .tag { border-radius: 999px; padding: 2px 7px; display: inline-block; font-weight: 600; }
    .补货加铺 { background: #dcfae6; color: #05603a; }
    .继续补货 { background: #e7f8ef; color: #087443; }
    .加铺候选 { background: #eaf2ff; color: #175cd3; }
    .新品试销 { background: #fff4e5; color: #b54708; }
    .停止补货 { background: #f2f4f7; color: #475467; }
    .清理候选 { background: #fee4e2; color: #b42318; }
    .不参与下单 { background: #f2f4f7; color: #667085; }

    /* V2 shell theme alignment.
       Keep table renderers, tree-table internals, and business color classes unchanged. */
    body {
      color:var(--text);
      background:
        radial-gradient(circle at top left, rgba(222,170,82,.16), transparent 34%),
        linear-gradient(135deg, #fffaf2 0%, var(--bg) 48%, #fff8ea 100%);
    }
    .app-sidebar {
      width:var(--sidebar-w);
      color:var(--text);
      background:rgba(255,250,241,.94);
      border-right:1px solid var(--line-soft);
      box-shadow:var(--shadow);
      backdrop-filter:blur(18px);
    }
    .sidebar-head {
      border-bottom:1px solid var(--line-soft);
      background:rgba(255,253,248,.86);
    }
    .sidebar-toggle {
      border-color:var(--line);
      background:var(--card);
      color:var(--primary-dark);
      border-radius:var(--radius-sm);
    }
    .sidebar-toggle:hover {
      background:var(--card-2);
      color:var(--primary-dark);
      border-color:var(--primary-soft);
    }
    .sidebar-title { color:var(--primary-dark); }
    .sidebar-sub,
    .sidebar-section-title,
    .sidebar-foot { color:var(--muted); }
    .sidebar-foot { border-top:1px solid var(--line-soft); }
    .sidebar-nav a {
      color:var(--text);
      border-radius:var(--radius-md);
    }
    .sidebar-nav a:hover {
      background:var(--card-2);
      color:var(--primary-dark);
    }
    .sidebar-nav a.current {
      background:linear-gradient(135deg, var(--primary-soft), #fff2d6);
      color:var(--primary-dark);
      box-shadow:inset 0 0 0 1px rgba(168,100,18,.18);
    }
    .sidebar-add-module {
      border-color:var(--line);
      background:var(--card);
      color:var(--primary-dark);
      box-shadow:inset 0 0 0 1px rgba(168,100,18,.08);
    }
    .sidebar-add-module:hover {
      border-color:var(--primary-soft);
      background:var(--card-2);
      color:var(--primary-dark);
    }
    .sidebar-custom-delete {
      border-color:var(--line);
      background:var(--card);
      color:var(--muted);
    }
    .sidebar-custom-delete:hover {
      border-color:#fda29b;
      background:#fff5f4;
      color:#b42318;
    }
    .sidebar-link-index {
      min-width:24px;
      height:22px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid var(--line);
      border-radius:999px;
      background:var(--card);
      color:inherit;
      opacity:1;
      font-size:11px;
      font-weight:800;
    }
    body.sidebar-collapsed .app-sidebar { width:var(--sidebar-w-collapsed); }
    body.sidebar-collapsed .sidebar-nav a { width:42px; height:42px; }
    body.sidebar-collapsed .sidebar-link-index { min-width:28px; height:28px; }
    header {
      margin-left:var(--sidebar-w);
      background:rgba(255,250,241,.92);
      border-bottom:1px solid var(--line-soft);
      box-shadow:0 12px 34px rgba(103,66,22,.06);
      backdrop-filter:blur(18px);
    }
    h1 { color:var(--primary-dark); }
    .sub,
    .hint,
    .workflow-step-titlebar span,
    .workflow-step-card .workflow-counts span,
    .final-board-card span,
    .final-board-panel h3 + *,
    .final-board-list-item span,
    .finding p { color:var(--muted); }
    main {
      margin-left:var(--sidebar-w);
      background:transparent;
    }
    body.sidebar-collapsed header,
    body.sidebar-collapsed main { margin-left:var(--sidebar-w-collapsed); }
    section,
    .kpi,
    .workbench-controls,
    .decision-workflow-shell,
    .advanced-decision-tools,
    .workflow-step-card,
    .finding,
    .final-board-card,
    .final-board-panel,
    .final-board-list-item,
    .final-board-decision-card,
    .final-board-quadrant,
    .detail-section,
    .detail-advanced,
    .global-loading-card {
      background:var(--card);
      border-color:var(--line-soft);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow);
    }
    section { overflow:hidden; }
    h2,
    .toolbar,
    .workflow-snapshot,
    .workflow-step-titlebar,
    .advanced-decision-tools summary,
    .final-board-lede,
    .final-board-command-nav,
    .final-board-panel h3,
    .final-board-quadrant-head,
    .global-loading-overlay {
      background:rgba(255,250,241,.76);
      border-color:var(--line-soft);
    }
    h2,
    .workflow-step-card b,
    .workflow-step-titlebar b,
    .final-board-card b,
    .final-board-panel h3,
    .final-board-list-item b,
    .finding b { color:var(--text); }
    input,
    select,
    button {
      border-color:var(--line);
      border-radius:var(--radius-sm);
      background:var(--card);
      color:var(--text);
    }
    input:focus,
    select:focus {
      border-color:var(--primary-soft);
      outline:2px solid rgba(168,100,18,.16);
      outline-offset:1px;
    }
    button:hover {
      background:var(--card-2);
      border-color:var(--primary-soft);
      color:var(--primary-dark);
      box-shadow:0 6px 14px rgba(103,66,22,.08);
    }
    button.primary,
    .primary-button {
      background:var(--primary);
      border-color:var(--primary);
      color:#fff;
    }
    button.primary:hover,
    .primary-button:hover {
      background:var(--primary-dark);
      border-color:var(--primary-dark);
      color:#fff;
    }
    .status-pill,
    .tag {
      border-color:var(--line-soft);
      background:var(--card-2);
      color:var(--primary-dark);
    }
    .status-pill.ok,
    .workflow-step-card.completed,
    .workflow-step-card.active {
      border-color:rgba(93,139,59,.28);
      background:var(--green-soft);
    }
    .workflow-step-card.active {
      box-shadow:0 0 0 2px rgba(93,139,59,.18), var(--shadow);
    }
    .workflow-step-icon,
    .workflow-step-card.active .workflow-step-icon {
      background:var(--card-2);
      border-color:var(--primary-soft);
      color:var(--primary-dark);
    }
    .workflow-loss-metric {
      background:#fff4dd;
      border-color:#f0c572;
      color:var(--primary-dark);
    }
    .global-loading-overlay {
      background:rgba(251,245,234,.86);
      backdrop-filter:blur(4px);
    }
    .global-loading-bar,
    .workflow-progress-bar { background:var(--primary); }
    .embedded-system-frame { background:transparent; }
    @media (max-width: 980px) {
      .app-sidebar { position: static; width:auto; }
      body.sidebar-collapsed .app-sidebar { width:auto; }
      body.sidebar-collapsed .sidebar-brand,
      body.sidebar-collapsed .sidebar-foot,
      body.sidebar-collapsed .sidebar-section-title,
      body.sidebar-collapsed .sidebar-link-text { display:block; }
      body.sidebar-collapsed .sidebar-nav { align-items:stretch; }
      body.sidebar-collapsed .sidebar-nav a { width:auto; height:auto; padding:9px 10px; justify-content:space-between; }
      .sidebar-nav { flex-direction:row; overflow:auto; }
      header, main, body.sidebar-collapsed header, body.sidebar-collapsed main { margin-left:0; }
      .data-browser { grid-template-columns: 1fr; }
      .workflow-step-grid { grid-template-columns:1fr; }
      .workflow-toolbar { grid-template-columns:1fr; }
      .decision-summary-grid { grid-template-columns:repeat(2, minmax(120px, 1fr)); }
      .rule-param-toolbar { grid-template-columns:1fr; }
      .findings { grid-template-columns: repeat(2, minmax(160px,1fr)); }
    }
