.pill.stale{border-color:#efd9c2;background:#fff7eb;color:#a86b35}
.notice.compact{padding:9px 12px;margin:8px 0 14px}
.platform-logo{display:block;width:31px;height:31px;object-fit:contain}
.platform-inline{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.platform-inline .platform-logo{width:20px;height:20px}
.platform-icon .platform-logo{width:28px;height:28px}
.result-chips{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}
.result-chip{display:inline-flex;align-items:baseline;gap:5px;padding:4px 8px;border:1px solid #e5e9df;border-radius:5px;background:#f9faf6}
.result-chip small{color:var(--muted)}
.result-chip b{font-weight:600;color:#415448}
.job-progress{color:#53645a;line-height:1.6}
.failure-list{display:grid;gap:6px;margin-top:8px}
.failure-list>div{display:flex;gap:10px;padding:7px 9px;background:#fff6f1;border-radius:5px;color:#936052}
.failure-list span{margin-left:auto;text-align:right}
.result-actions{margin-top:10px}
.inline-details,.advanced-json{margin-top:9px;border-top:1px dashed #e2e7dc;padding-top:8px}
.inline-details summary,.advanced-json summary{cursor:pointer;color:#6f8467;font-size:11px;user-select:none}
.advanced-json textarea,.advanced-json pre{margin-top:9px;font-family:Consolas,monospace;font-size:11px;white-space:pre-wrap;word-break:break-word;background:#f6f8f3;border:1px solid #e2e7dc;border-radius:6px;padding:11px;max-height:260px;overflow:auto}
.advanced-json pre{white-space:pre-wrap}
.product-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.product-card{border:1px solid var(--border);background:#fff;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:10px}
.product-card h2{margin:0}
.product-meta{margin:0;color:#66776c}
.tag-row,.tag-choices{display:flex;flex-wrap:wrap;gap:7px}
.tag.strong{background:#dfeee2;color:#36644d;font-weight:600}
.tag.danger-tag{background:#faece7;color:#9f6758}
.business-note{display:grid;grid-template-columns:76px 1fr;gap:8px;font-size:12px;padding:8px 0;border-top:1px solid #eef1ea}
.business-note span{color:var(--muted)}
.business-note b{font-weight:500;color:#45584c;overflow-wrap:anywhere}
.product-card .actions{margin-top:auto;padding-top:8px}
.detail-image{display:block;width:100%;max-height:460px;object-fit:contain;background:#f4f5ef;border-radius:8px;margin-bottom:14px}
.detail-table{border:1px solid #e7ebe3;border-radius:7px;overflow:hidden;background:#fff;margin:12px 0}
.detail-table>div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:9px 11px;border-bottom:1px solid #edf0e9}
.detail-table>div:last-child{border-bottom:0}
.detail-table span{color:#8a958a;font-size:11px}
.detail-table b{font-weight:500;color:#425348;overflow-wrap:anywhere}
.product-detail,.detail-with-media{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.section-label{margin:16px 0 7px;color:#71836d;font-size:11px;font-weight:600;letter-spacing:.5px}
.tag-field{border:0;padding:0;margin:15px 0 0}
.tag-field legend{padding:0;margin-bottom:7px;color:#74806b;font-size:12px}
.tag-choice{display:inline-flex;margin:0;cursor:pointer;position:relative}
.tag-choice input{position:absolute;opacity:0;pointer-events:none}
.tag-choice span{display:inline-flex;border:1px solid #dce4d5;border-radius:20px;padding:5px 10px;background:#fff;color:#65765f;font-size:11px}
.tag-choice input:checked+span{border-color:#56775c;background:#e7f0e2;color:#345c46;box-shadow:none}
.tag-choice input:focus-visible+span{outline:2px solid #9bb991;outline-offset:2px}
.tag-choice.unknown-choice input:checked+span{border-color:#9d865d;background:#f7eedc;color:#705b35}
.tag-choice.legacy-choice input:checked+span{border-color:#8a9fb1;background:#edf3f7;color:#4f687a}
.tag-field legend small{margin-left:5px;color:#8a967f;font-size:10px;font-weight:400}
.tag-help{margin:6px 0 0;color:#8b9685;font-size:10px;line-height:1.55}
.legacy-tags{margin-top:7px}
.legacy-tags summary{cursor:pointer;color:#778b7b;font-size:10px}
.legacy-tags .tag-choices{margin-top:7px}
.legacy-note{margin:7px 0 0;padding:6px 8px;border-radius:5px;background:#f8f5ed;color:#8b795a;font-size:10px}
.dictionary-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 3px;padding:8px 10px;border:1px solid #dce6d8;border-radius:6px;background:#f6f9f3;color:#61745f;font-size:10px}
.dictionary-banner span{color:#879581}
.dictionary-banner b{color:#385a47;font-weight:600}
.dictionary-banner small{flex-basis:100%;color:#83917e;line-height:1.55}
.match-thumb{width:70px;height:70px;object-fit:cover;border-radius:6px;background:#f1f3ed}
.source-detail{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.source-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.source-gallery figure{margin:0;border:1px solid #e4e9df;border-radius:7px;overflow:hidden;background:#fff}
.source-gallery img{display:block;width:100%;height:130px;object-fit:cover;background:#f2f3ed}
.source-gallery figcaption{padding:7px;font-size:10px;color:#748270}

.catalog-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 17px;border:1px solid #dee7d8;border-radius:8px;background:linear-gradient(100deg,#f3f7ed,#fff);margin-bottom:17px}
.catalog-source{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.catalog-source strong{font-size:13px}
.catalog-source small{color:var(--muted)}
.freshness{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#64745f}
.freshness::before{content:"";width:7px;height:7px;border-radius:50%;background:#76a45d}
.freshness.warn::before{background:#d49a45}
.freshness.bad::before{background:#b96e5f}
.catalog-filters{display:grid;grid-template-columns:minmax(230px,1.8fr) repeat(4,minmax(125px,1fr)) repeat(2,minmax(105px,.8fr));gap:9px;align-items:end;margin-bottom:17px}
.catalog-filters label{margin:0;font-size:10px;color:#819078}
.catalog-filters input,.catalog-filters select{width:100%;margin-top:4px}
.catalog-filters .filter-actions{display:flex;gap:7px;justify-content:flex-end;grid-column:1/-1}
.catalog-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px;color:var(--muted);font-size:11px}
.catalog-table td{vertical-align:middle}
.catalog-product{min-width:280px}
.catalog-product b{display:block;color:#344a3e;font-size:13px;font-weight:600}
.catalog-product small{display:block;color:#8c978a;margin-top:3px}
.link-button{border:0;background:none;color:#315e49;padding:0;text-align:left;font-size:13px;font-weight:600;white-space:normal}
.link-button:hover{background:none;color:#173f2e;text-decoration:underline}
.catalog-id{font-family:Consolas,monospace;color:#6f7d70;font-size:11px}
.catalog-oper{display:inline-flex;align-items:center;gap:6px}
.catalog-oper.pending{color:#9c7240}
.catalog-oper.pending::before{content:"!";display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#f8e7ca;font-weight:700;font-size:10px}
.catalog-reason{margin-top:4px;color:#9a825d;font-size:10px;line-height:1.45;max-width:180px}
.catalog-actions{display:flex;gap:5px;flex-wrap:wrap;min-width:190px}
.catalog-actions button{font-size:10px;padding:5px 9px}
.catalog-pagebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:17px}
.catalog-pagebar .pagination{padding:0}
.page-size{font-size:11px;color:var(--muted)}
.catalog-state{padding:54px 24px;text-align:center;border:1px dashed #dce4d6;border-radius:10px;background:#fff}
.catalog-state strong{display:block;font-size:15px;color:#526750}
.catalog-state p{max-width:640px;margin:8px auto 0;color:var(--muted)}
.catalog-loading{display:grid;gap:8px}
.catalog-loading span{height:44px;border-radius:6px;background:linear-gradient(90deg,#f0f3ec,#f8faf5,#f0f3ec);background-size:200% 100%;animation:catalog-pulse 1.4s ease-in-out infinite}
@keyframes catalog-pulse{to{background-position:-200% 0}}
.catalog-error{background:#fff7f2;border-color:#efd8c8}
.catalog-related{display:grid;gap:11px}
.related-group{display:grid;gap:9px}
.related-item{border:1px solid #e3e9df;border-radius:8px;padding:12px;background:#fff;display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,1.6fr) auto;align-items:center;gap:14px}
.related-item h3{margin:0;font-size:13px}
.related-item p{margin:4px 0 0;color:#778474;font-size:11px}
.related-reason{display:flex;gap:5px;flex-wrap:wrap}
.related-reason span{background:#edf3e9;color:#5f795d;border-radius:20px;padding:3px 8px;font-size:10px}
.related-sku{display:inline-flex;align-items:center;gap:7px;max-width:100%;margin-top:8px;padding:4px 8px;border:1px solid #e1e8dd;border-radius:5px;background:#f7f9f4}
.related-sku span{color:#7d8b78;font-size:10px}
.related-sku b{color:#3f5748;font-size:11px;font-weight:500;overflow-wrap:anywhere}
.related-body{margin-top:9px}
.related-body>span{display:block;margin-bottom:4px;color:#6f806d;font-size:10px;font-weight:600;letter-spacing:.4px}
.related-body p{margin:0;padding:9px 11px;border-left:2px solid #d4e2ce;border-radius:0 6px 6px 0;background:#f7f9f4;color:#4c5d51;font-size:11px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}
.related-missing{margin:8px 0 0;color:#9b8060;font-size:10px}
.related-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:5px}
.related-gallery img{display:block;width:100%;height:115px;object-fit:cover;border-radius:5px;background:#f2f3ed}
.related-gap{padding:12px 14px;border-radius:7px;background:#fff7eb;border:1px solid #f0ddbf;color:#946b3e;font-size:12px}
.low-confidence{color:#a57537}
.plan-receipt{margin-bottom:15px;border:1px solid #cbdfc7;background:#f0f7ed;border-radius:8px;padding:13px 15px}
.plan-receipt b{display:block;margin-bottom:3px}
.plan-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.plan-execution-note{border:1px solid #e7dfc7;background:#fff9eb;border-radius:7px;padding:11px 13px;color:#7e6b42;font-size:11px;margin:12px 0}
.catalog-product-context{padding:13px 15px;background:#f4f7ef;border-radius:7px;margin-bottom:14px}
.catalog-product-context h3{margin:0 0 4px}
.catalog-product-context p{margin:0;color:#71806c;font-size:11px}
.catalog-footnote{margin-top:13px;color:#8b9688;font-size:10px}

.library-filters{border:1px solid var(--border);background:#fff;border-radius:10px;padding:16px;margin-bottom:12px}
.filter-topline{display:grid;grid-template-columns:minmax(280px,2fr) minmax(140px,1fr) minmax(140px,1fr) auto;gap:12px;align-items:end}
.filter-topline label{margin:0}
.filter-topline input,.filter-topline select{display:block;width:100%;margin-top:5px}
.filter-topline .untagged-toggle{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 11px;border:1px solid #dce4d6;border-radius:6px;background:#f8faf5;white-space:nowrap}
.filter-topline .untagged-toggle input{width:15px;margin:0;accent-color:var(--green)}
.filter-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:14px;padding-top:13px;border-top:1px solid #edf0e9}
.filter-group{border:0;margin:0;padding:0;min-width:0}
.filter-group legend{padding:0;margin-bottom:6px;color:#647665;font-size:11px;font-weight:600}
.filter-group legend small{font-weight:400;color:#9aa48f;margin-left:5px}
.filter-choices{display:flex;flex-wrap:wrap;gap:5px}
.filter-choice{display:inline-flex;margin:0;cursor:pointer;position:relative}
.filter-choice input{position:absolute;opacity:0;pointer-events:none}
.filter-choice>span{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #e1e7dc;border-radius:5px;background:#fafbf8;color:#66765f;font-size:10px}
.filter-choice>span b{font-size:9px;color:#98a68f;font-weight:500}
.filter-choice input:checked+span{border-color:#5d8064;background:#eaf2e7;color:#345841;box-shadow:none}
.filter-choice input:focus-visible+span{outline:2px solid #9bb991;outline-offset:2px}
.filter-choice.unknown input:checked+span{border-color:#a38b5e;background:#f7eedb;color:#6f5931}
.filter-choice.unmarked span{border-style:dashed;color:#8f978a}
.filter-choice.unmarked input:checked+span{border-color:#9ca496;border-style:solid;background:#f0f1ed;color:#626b61}
.filter-choice.extension span{background:#f7f8f5}
.filter-pending{font-size:10px;color:#9a8870;padding:4px 0}
.filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #edf0e9}
.filter-total{margin-right:auto;color:#7b8877;font-size:11px}
.filter-total b{color:#405849}
.selected-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-height:29px;margin:0 0 18px;font-size:11px}
.selected-filters.empty-conditions{color:#8e998b}
.condition-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #cfdcc9;background:#eef4ea;color:#48654e;border-radius:20px;padding:4px 9px;font-size:10px}
.condition-chip .platform-logo{width:14px;height:14px}
.condition-chip>span:last-child{font-size:13px;line-height:1;color:#7e9679}
.asset-tags{min-height:26px}
.asset-tags .tag{line-height:1.5;padding:2px 6px}
.muted-tag{background:#f4f4f1;color:#999f94}
.file-state{font-size:10px;color:#889483}
.file-state.local{color:#4f825f}
.file-state.remote{color:#9b7b40}
.file-state.bad{color:#a76559}
.asset-photo.image-error{object-fit:contain;padding:28px;background:repeating-linear-gradient(135deg,#f6f7f3,#f6f7f3 8px,#eef0e9 8px,#eef0e9 16px)}
.library-empty{padding-top:4px}
.library-empty>.actions{justify-content:center;margin-top:-10px}

.indexed-filter-panel{display:grid;gap:13px;padding:15px;margin:0 0 10px;border:1px solid #e0e7dc;border-radius:9px;background:#fff}
.indexed-filter-base{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(105px,.55fr) minmax(150px,.85fr) minmax(180px,1.15fr);gap:9px;align-items:end}
.indexed-filter-base.review-filter-base{grid-template-columns:minmax(280px,2fr) minmax(140px,1fr) minmax(140px,1fr)}
.indexed-filter-base label{margin:0;color:#778475;font-size:10px}
.indexed-filter-base input,.indexed-filter-base select{display:block;width:100%;margin-top:5px}
.indexed-index-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px solid #edf0e9}
.indexed-index-heading>div{display:grid;gap:2px}
.indexed-index-heading b{color:#3f5948;font-size:13px}
.indexed-index-heading span{color:#849080;font-size:10px}
.indexed-index-heading .untagged-toggle{margin:0;min-width:0;white-space:normal}
.indexed-index-heading .untagged-toggle span{white-space:normal;overflow-wrap:anywhere}
.indexed-contract-note{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:6px;font-size:10px;line-height:1.55}
.indexed-contract-note.ready{border:1px solid #d6e3d0;background:#f4f8f1;color:#657a62}
.indexed-contract-note.missing{border:1px solid #ead9bd;background:#fff9ed;color:#886f48}
.indexed-contract-note b{flex:none;color:#3f674c}
.indexed-contract-note.missing b{color:#7b633d}
.indexed-contract-note span{color:#71816e}
.indexed-filter-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;align-items:stretch}
.indexed-filter-group{min-width:0;margin:0;padding:11px;border:1px solid #e1e8dc;border-radius:7px;background:#fbfcf9}
.indexed-filter-group.pending{border-style:dashed;background:#faf9f5}
.indexed-filter-group legend{width:100%;padding:0 0 7px;color:#526755;font-size:11px;font-weight:600}
.indexed-filter-group legend small{float:right;color:#939d8d;font-size:8px;font-weight:400}
.indexed-filter-choices{display:flex;gap:5px;flex-wrap:wrap}
.indexed-filter-choice{position:relative;display:inline-flex;align-items:center;gap:6px;max-width:100%;min-height:34px;margin:0;padding:4px 8px;border:1px solid #dfe6da;border-radius:7px;background:#fff;color:#526653;cursor:pointer;isolation:isolate;touch-action:manipulation}
.indexed-filter-choice input{position:static!important;inset:auto!important;z-index:auto!important;display:inline-block!important;flex:0 0 16px;width:16px!important;height:16px;min-width:16px!important;min-height:16px!important;margin:0!important;padding:0;border:0;border-radius:0;box-sizing:border-box;cursor:pointer;opacity:1!important;appearance:auto!important;accent-color:var(--green);pointer-events:auto}
.indexed-filter-choice span{display:inline-flex;align-items:center;justify-content:flex-start;gap:4px;min-width:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:11px;line-height:20px;text-align:left;overflow-wrap:anywhere;pointer-events:none;user-select:none}
.indexed-filter-choice b{color:#87977e;font-size:10px;font-weight:500;pointer-events:none}
.indexed-filter-choice:hover{border-color:#9bb29d;background:#f5f8f3}
.indexed-filter-choice:has(input:checked){border-color:#658563;background:#e8f1e4;color:#355846;box-shadow:inset 0 0 0 1px #658563}
.indexed-filter-choice:has(input:checked):hover{border-color:#527a58;background:#dcebdd}
.indexed-filter-choice input:focus,
.indexed-filter-choice input:focus-visible{outline:none!important;box-shadow:none!important}
.indexed-filter-choice input:focus-visible+span{outline:none!important}
.indexed-filter-choice:has(input:disabled){cursor:not-allowed;opacity:.52}
.indexed-filter-choice.unknown{border-color:#decda9;background:#fff9eb;color:#846d3e}
.indexed-filter-choice.unmarked{border-style:dashed;color:#8d9687}
.indexed-filter-choice.extension{border-color:#cad7df;background:#f4f8fa;color:#5c7280}
.indexed-filter-group>p{margin:7px 0 0;color:#939c8e;font-size:8px;line-height:1.5}
.indexed-filter-pending{display:inline-block;padding:5px 0;color:#97856b;font-size:9px}
.indexed-filter-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding-top:11px;border-top:1px solid #edf0e9}
.indexed-filter-actions>span{margin-right:auto;color:#7b8877;font-size:10px}
.indexed-filter-actions>span b{color:#405849}
.indexed-filter-actions #search-filter-dirty-state,.indexed-filter-actions #review-filter-draft-state{color:#628064}.indexed-filter-actions #search-filter-dirty-state.dirty,.indexed-filter-actions #review-filter-draft-state.dirty{color:#9a6f34}
.indexed-active-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-height:29px;margin:8px 0 18px;font-size:10px;color:#7f8b7c}
.indexed-active-filters.empty{padding-left:2px}
.indexed-condition-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #cfdcc9;background:#eef4ea;color:#48654e;border-radius:20px;padding:4px 9px;font-size:10px}
.indexed-condition-chip .platform-logo{width:14px;height:14px}
.indexed-condition-chip>span:last-child{font-size:13px;line-height:1;color:#7e9679}
.indexed-empty-state .empty{margin-bottom:10px}
.indexed-empty-state .actions{justify-content:center}
.indexed-card-tags{display:flex;gap:4px;flex-wrap:wrap;min-height:43px;padding:7px;border:1px solid #e7ece2;border-radius:6px;background:#fafbf8}
.indexed-tag{display:inline-flex;align-items:center;gap:3px}
.indexed-tag em{color:#879580;font-style:normal;font-size:8px}
.indexed-tag.unknown-tag{border:1px solid #e6d7b8;background:#fff9eb;color:#806a3d}
.indexed-unanalysed{flex-basis:100%;color:#98703d;font-size:9px}
.indexed-origin{padding:2px 6px;border-radius:4px;background:#edf2e9;color:#55705d;font-size:9px}
.indexed-origin.ai{border:1px solid #e6d7b8;background:#fff9eb;color:#806a3d}
.indexed-origin.human{border:1px solid #cfe0c9;background:#f0f7ed;color:#426b50}
.indexed-origin.unmarked{border:1px dashed #d8ded2;background:#f7f8f4;color:#8c9688}
.tag-origin-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;margin:10px 0;padding:10px 12px;border:1px solid #d9e3d4;border-radius:7px;background:#f4f8f1;color:#617463;font-size:10px}
.tag-origin-banner>span{grid-row:1/3;align-self:center;color:#899585}
.tag-origin-banner>b{color:#3f604a;font-size:12px}
.tag-origin-banner small{color:#788778;line-height:1.55}
.tag-origin-banner.ai{border-color:#dfcfaa;background:#fff9ec}.tag-origin-banner.ai>b{color:#765e31}
.tag-origin-banner.human{border-color:#bed5b7;background:#edf6ea}.tag-origin-banner.human>b{color:#376044}
.source-health-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:0 0 18px}
.source-health-grid>div{display:grid;gap:3px;min-width:0;padding:12px 13px;border:1px solid #dfe7da;border-radius:8px;background:#fff}
.source-health-grid span{color:#8c9789;font-size:9px}.source-health-grid b{color:#3d5948;font-size:16px}.source-health-grid small{color:#788777;font-size:9px;line-height:1.5}
.source-gallery figcaption{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.source-gallery figcaption>span{color:#657663;font-size:9px}

.ai-review-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;margin:0 0 14px;padding:15px 17px;border:1px solid #dce5d6;border-radius:9px;background:linear-gradient(105deg,#f6f9f2,#fff)}
.ai-review-panel.loading,.ai-review-panel.unavailable{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.ai-review-panel.loading .catalog-loading{grid-column:1/-1}
.ai-review-copy h2,.ai-review-panel h2{margin:3px 0 4px;font-size:16px}
.ai-review-copy p,.ai-review-panel p{margin:0;color:#748270;font-size:10px;line-height:1.6}
.ai-review-facts{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.ai-review-facts span{padding:2px 7px;border-radius:4px;background:#eef4ea;color:#617460;font-size:9px}
.ai-review-status-counts{display:grid;grid-template-columns:repeat(4,minmax(62px,1fr));gap:6px;align-self:center}
.ai-review-status-counts>div{display:grid;gap:2px;padding:8px;border:1px solid #e1e8dc;border-radius:6px;background:#fff}.ai-review-status-counts span{color:#879382;font-size:8px}.ai-review-status-counts b{color:#3f5c48;font-size:13px}
.ai-review-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.ai-candidate-filter{display:flex;align-items:end;gap:10px;margin:0 0 12px;padding:11px 13px;border:1px solid #dfe7da;border-radius:8px;background:#f7f9f3}
.ai-candidate-filter label{margin:0;min-width:190px}.ai-candidate-filter select{display:block;width:100%;margin-top:4px}.ai-candidate-filter>span{margin-right:auto;color:#7b8878;font-size:10px}
.ai-candidate-list{display:grid;gap:10px}.ai-candidate-card{padding:13px;border:1px solid #dfe6da;border-radius:8px;background:#fff}
.ai-candidate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-candidate-head h3{margin:3px 0 0;color:#3d5546;font-size:13px}
.ai-candidate-keys{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 10px}.ai-candidate-keys span{padding:2px 6px;border-radius:4px;background:#f1f5ee;color:#748270;font-size:9px;overflow-wrap:anywhere}
.ai-candidate-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-candidate-columns section{padding:9px;border:1px solid #e6ebe2;border-radius:6px;background:#fbfcf9}
.ai-candidate-columns h4{margin:0 0 7px;color:#5e715f;font-size:10px}.ai-candidate-columns h4 b{color:#879483;font-weight:500}
.ai-field-list{display:grid;gap:4px;margin:0}.ai-field-list>div{display:grid;grid-template-columns:minmax(70px,.75fr) minmax(0,1fr);gap:6px}.ai-field-list dt{color:#899486;font-size:9px}.ai-field-list dd{margin:0;color:#4e6254;font-size:9px;line-height:1.5;overflow-wrap:anywhere}
.ai-ad-evidence,.ai-candidate-anomaly{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;margin-top:8px;padding:8px 10px;border-radius:6px;font-size:9px}.ai-ad-evidence{border:1px solid #e8ddc7;background:#fffaf0;color:#796845}.ai-ad-evidence b,.ai-candidate-anomaly b{color:#695832}.ai-ad-evidence span{overflow-wrap:anywhere}.ai-ad-evidence small{grid-column:2;color:#94794c}
.ai-candidate-anomaly{border:1px solid #ead6d0;background:#fff6f3;color:#8d6258}.ai-candidate-anomaly b{color:#8d574c}.ai-candidate-ok{margin-top:8px;color:#5b805f;font-size:9px}
.ai-candidate-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;margin-top:9px;padding-top:8px;border-top:1px solid #edf0e9}
.ai-candidate-actions details{position:relative;margin:0}.ai-candidate-actions details[open]{flex-basis:100%}.ai-candidate-actions details pre{max-height:320px}
.task-ingest-block{margin-top:8px;padding-top:8px;border-top:1px dashed #e4e9df}.task-ingest-status{display:grid;grid-template-columns:1fr 1fr;gap:5px}.task-ingest-status>span{display:grid;gap:1px;padding:5px 7px;border-radius:5px;background:#f6f8f3}.task-ingest-status small{color:#929c8e;font-size:8px}.task-ingest-status b{color:#566c5b;font-size:9px}.task-ingest-status b[class*="success"]{color:#4e805e}.task-ingest-status b[class*="partial"],.task-ingest-status b[class*="missing"]{color:#92733d}.task-ingest-status b[class*="failed"]{color:#a45f53}.task-ingest-gaps{margin-top:6px}.task-ingest-gaps>span{color:#8a9588;font-size:9px}

.selection-basket{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 13px;padding:13px 16px;border:1px solid #cfddc9;border-radius:9px;background:linear-gradient(105deg,#eef5ea,#fbfcf8);min-width:0}
.basket-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.basket-summary>b{color:#345645;font-size:15px}
.basket-count{display:inline-flex;padding:3px 8px;border-radius:20px;background:#fff;border:1px solid #dce6d7;color:#64765f;font-size:10px;white-space:nowrap}
.basket-count.production_product{border-color:#bcd2b7;color:#315d46;background:#f2f8ef}
.selection-basket>.actions{flex:none}
.asset.in-basket{border-color:#7f9f77;box-shadow:inset 0 0 0 1px #dce9d7}
.source-reference{margin:6px 0;color:#7f8e7a;font-size:10px;overflow-wrap:anywhere}
.basket-purpose-row{display:grid;gap:4px;margin:10px 0 4px;padding:9px;border-radius:6px;background:#f2f6ef;border:1px solid #dce6d7}
.basket-purpose-row small{color:#7f8b79;font-size:9px;line-height:1.55}
.asset-purpose{display:flex;align-items:center;gap:7px;margin:0;color:#60725f;font-size:10px}
.asset-purpose select{flex:1;min-width:0;margin:0;padding:6px 8px}
.basket-purpose-help{margin:-5px 0 10px;color:#7d8b77;font-size:10px}
.basket-groups{display:grid;gap:14px}
.basket-group{border:1px solid #e0e7dc;border-radius:8px;padding:14px;background:#fbfcf9}
.basket-group .panel-head{margin-bottom:5px}
.basket-group .panel-head h3{margin:0}
.basket-item{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-top:1px solid #e8ece4}
.basket-item:first-of-type{border-top:0}
.basket-item>img{width:70px;height:70px;object-fit:cover;border-radius:6px;background:#eff2eb}
.basket-item-main{min-width:0;display:grid;gap:4px}
.basket-item-main>b{overflow-wrap:anywhere}
.basket-item-main>small{display:flex;align-items:center;gap:5px;color:#7d897a;font-size:10px}
.basket-item-main .platform-logo{width:15px;height:15px}
.basket-item-side{display:grid;justify-items:end;gap:7px}

.production-process{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:15px;color:#6f806c;font-size:10px}
.production-process span{padding:5px 9px;border:1px solid #dce5d7;border-radius:20px;background:#f7f9f3}
.production-process i{font-style:normal;color:#a0aa98}
.production-purpose-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}
.production-purpose-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:166px;padding:17px;border-radius:9px;background:#fff;color:#405447;white-space:normal;text-align:left}
.production-purpose-card:hover,.production-purpose-card.active{border-color:#71916b;background:#f6faf3;box-shadow:inset 0 0 0 1px #dbe8d5}
.production-purpose-card b{font-size:17px}
.production-purpose-card small{min-height:54px;color:#758272;font-size:10px;line-height:1.65}
.purpose-eyebrow{color:#74916b;letter-spacing:1px;font-size:9px}
.purpose-open{margin-top:auto;color:#315e48;font-size:10px;font-weight:600}
.production-editor{scroll-margin-top:18px}
.production-editor .panel-head h2{margin:2px 0 0}
.production-product-field,.production-note,.production-variable{display:grid;gap:6px;margin:0;color:#657561;font-size:11px}
.production-product-field{max-width:620px;margin-bottom:12px}
.production-product-field select{width:100%}
.production-ownership-note{display:grid;grid-template-columns:82px minmax(0,1fr);gap:9px;padding:10px 12px;margin-bottom:14px;border:1px solid #e8dbc2;border-radius:6px;background:#fff9ed;color:#806f50;font-size:10px;line-height:1.65}
.production-ownership-note b{color:#705f42}
.production-asset-section{margin:14px 0;padding:14px;border:1px solid #e2e8de;border-radius:8px;background:#fbfcf9;min-width:0}
.production-asset-section.reference{border-color:#e5ded0;background:#fcfaf5}
.production-material-group{margin:16px 0;padding:13px;border:1px solid #dce6d7;border-radius:9px;background:#f7faf4}
.production-material-group.reference-materials{border-color:#e6dece;background:#fcfaf6}
.production-group-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px}
.production-group-heading span{color:#345e46;font-size:13px;font-weight:600}
.production-group-heading b{color:#7f8c79;font-size:10px;font-weight:500}
.production-asset-section.product_truth{border-color:#cfddc8;background:#f3f8f0}
.production-asset-section.style_only{border-color:#e7decb;background:#fffaf1}
.production-asset-section.evidence{border-color:#d9e0e7;background:#f7f9fb}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:11px}
.section-heading h3{margin:0}
.section-heading p{margin:3px 0 0;color:#7f8b79;font-size:10px}
.section-heading small{display:block;margin-top:3px;color:#929d8d;font-size:9px}
.section-heading>span{color:#6e806b;font-size:10px;white-space:nowrap}
.production-asset-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px}
.production-asset{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:center;min-width:0;padding:7px;margin:0;border:1px solid #dfe6db;border-radius:6px;background:#fff;cursor:pointer}
.production-asset.selected{border-color:#698b64;background:#f1f7ee;box-shadow:inset 0 0 0 1px #d8e7d2}
.production-asset input{position:absolute;top:5px;right:5px;width:14px;height:14px;accent-color:var(--green)}
.production-asset img{width:44px;height:44px;object-fit:cover;border-radius:4px;background:#eef1eb}
.production-asset>span{display:grid;min-width:0;padding-right:12px}
.production-asset b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.production-asset small{color:#849080;font-size:9px;line-height:1.45;overflow-wrap:anywhere}
.production-variables{margin:14px 0;padding:14px;border:1px solid #dfe8da;border-radius:8px;background:#f8faf5}
.production-variable-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.production-variable.wide{grid-column:1/-1}
.production-variable em{margin-left:5px;color:#b66e5e;font-style:normal;font-size:9px}
.production-variable>small{display:block;color:#8c9788;font-size:9px;line-height:1.5;font-weight:400}
.production-variable input,.production-variable select,.production-variable textarea{width:100%;margin:0}
.production-variable textarea{min-height:88px}
.production-variable.multi-value{border:0;padding:0;margin:0;min-width:0}
.production-variable.multi-value>.tag-choices{margin-top:7px}
.production-preview{padding:15px;border:1px solid #cfdfca;border-radius:8px;background:#f4f8f1}
.production-preview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:11px}
.production-preview-summary>div{display:grid;gap:2px;padding:9px 10px;border-radius:6px;background:#fff;border:1px solid #e1e8dd}
.production-preview-summary span{font-size:9px;color:#83907f}
.production-preview-summary b{font-size:12px;color:#405747;overflow-wrap:anywhere}
.production-preview-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:7px;margin:9px 0}
.production-preview-assets figure{margin:0;border:1px solid #dfe6db;border-radius:6px;overflow:hidden;background:#fff}
.production-preview-assets img{display:block;width:100%;height:100px;object-fit:cover;background:#eef1eb}
.production-preview-assets figcaption{padding:5px 7px;color:#758371;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.production-preview .detail-table{background:#fff}
.production-build-state{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:9px 0;padding:8px 10px;border:1px solid #d9e3d4;border-radius:6px;background:#fff}
.production-build-state span{color:#43614e;font-size:11px;font-weight:600}
.production-build-state b{color:#8b7655;font-size:9px;font-weight:500}
.prompt-preview{margin:0;padding:10px 12px;border-left:2px solid #92ad88;border-radius:0 6px 6px 0;background:#f8faf5;color:#526458;font-size:11px;line-height:1.7}
.prompt-details{margin-top:10px;padding-top:9px;border-top:1px dashed #dce5d8}
.prompt-details summary{cursor:pointer;color:#55745b;font-size:10px;font-weight:600}
.prompt-details ul{padding-left:18px;color:#7a8775;font-size:10px}
.production-gaps,.task-gaps{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;margin:9px 0 0;padding:0;list-style:none;color:#946c3f;font-size:10px}
.production-gaps b{margin-right:3px}
.production-gaps span,.task-gaps li{padding:3px 7px;border:1px solid #ead8b8;border-radius:4px;background:#fff8e9}
.production-note{margin-top:14px}
.production-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}
.production-capabilities>div{display:grid;gap:3px;padding:9px 11px;border:1px solid #e2e7dd;border-radius:6px;background:#f9faf7}
.production-capabilities b{font-size:10px;color:#4b604f}
.production-capabilities span{color:#7c8879;font-size:9px;line-height:1.55}
.production-submit-row{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:13px;border-top:1px solid #e5eae1}
.production-submit-row button:disabled{cursor:not-allowed;background:#f2f3ef;border-color:#e0e3db;color:#9aa096}
.production-drafts,.production-backend{margin-top:18px}
.production-drafts .panel-head small,.production-backend .panel-head small{display:block;margin-top:3px;color:#889383}
.production-draft-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #edf0e9}
.production-draft-row>div:first-child{display:grid;min-width:0}
.production-draft-row b{overflow-wrap:anywhere}
.production-draft-row small{color:#879284;font-size:9px}
.production-draft-row>div:last-child{display:flex;gap:4px}

.task-center-summary{display:grid;grid-template-columns:1.4fr repeat(6,minmax(86px,.7fr));gap:9px;margin-bottom:14px}
.task-center-summary>div{display:grid;gap:2px;padding:10px 12px;border:1px solid #e0e7dc;border-radius:7px;background:#fff}
.task-center-summary span{color:#879383;font-size:9px}
.task-center-summary b{color:#405848;font-size:13px;overflow-wrap:anywhere}
.task-center-panel{min-width:0}
.task-center-panel .table-wrap{overflow-x:auto}
.task-center-panel table{min-width:980px}
.task-row>td{vertical-align:top}
.task-kind{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.task-kind .platform-inline{font-size:10px;color:#748174}
.task-category{padding:2px 7px;border-radius:4px;background:#edf2ea;color:#5f775e;font-size:9px}
.task-category.collection{background:#edf3f0;color:#4f7161}
.task-category.analysis{background:#edf0f5;color:#596c83}
.task-category.production{background:#f4f1e8;color:#7b6c4f}
.task-state-line{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.unknown-result{padding:2px 6px;border-radius:4px;background:#f8eae5;color:#a26659;font-size:9px}
.task-stage{margin-top:5px;color:#687a68;font-size:10px;line-height:1.55}
.task-failure-stage{margin-top:3px;color:#997354;font-size:9px}
.service-state{margin-top:4px;color:#8f7a58;font-size:9px}
.service-state.alive{color:#4f805f}
.task-progress-time{color:#495e50;font-size:11px}
.technical-time{display:block;margin-top:3px;color:#9aa297;font-size:9px}
.waiting-reason{margin:6px 0 0;padding:5px 7px;border-radius:5px;background:#fff7e9;color:#8e6b3b;font-size:10px}
.waiting-reason b{display:block;margin-bottom:1px}
.field-missing{color:#a07950!important;font-size:10px}
.task-outcome{min-width:240px}
.task-result{min-width:0}
.task-result-text{max-width:300px;margin:0;color:#56685b;font-size:11px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.task-gap-block{margin-top:8px;padding-top:7px;border-top:1px dashed #e3e8de}
.task-gap-block>span{color:#8c9788;font-size:9px}
.task-gaps{display:grid;margin-top:4px}
.task-gaps li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:6px 8px;border:1px solid #ead8b8;border-radius:5px;background:#fff8e9}
.task-gaps li.advisory{border-color:#dde5d8;background:#f7faf4;color:#667962}
.task-gaps li>span:first-child{overflow-wrap:anywhere}
.task-gaps li>b{font-size:10px;color:#795f39}
.gap-level{padding:1px 5px;border-radius:3px;background:#f7dfc2;color:#996532;font-size:8px;white-space:nowrap}
.task-gaps li.advisory .gap-level{background:#e7eee3;color:#687c64}
.gap-technical{grid-column:1/-1;margin-top:0;border-top-style:solid;padding-top:4px}
.gap-technical summary{font-size:9px}
.task-gap-empty{display:inline-block;margin-top:3px;color:#71846c;font-size:10px}
.task-actions{display:grid;justify-items:stretch;gap:5px;min-width:135px}
.task-actions button{width:100%}

.library-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px;padding:6px;border:1px solid #dfe7da;border-radius:10px;background:#f3f6ee}
.library-view-tabs button{display:grid;gap:2px;justify-items:start;padding:12px 15px;border-color:transparent;background:transparent;text-align:left;white-space:normal}
.library-view-tabs button b{color:#51624f;font-size:13px}
.library-view-tabs button small{color:#899485;font-size:10px}
.library-view-tabs button.active{border-color:#bed0b8;background:#fff;color:#315e48;box-shadow:0 2px 8px #41593c0d}
.library-view-tabs button.active b{color:#315e48}
.search-catalog-banner{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:14px;padding:18px 20px;border:1px solid #d8e4d2;border-radius:10px;background:linear-gradient(105deg,#edf4e9,#fbfcf8)}
.search-catalog-banner h2{margin:3px 0 5px;font-size:20px}
.search-catalog-banner p{margin:0;color:#74836f;font-size:11px}
.search-catalog-counts{display:grid;grid-template-columns:repeat(3,minmax(88px,1fr));gap:8px}
.search-catalog-counts>div{display:grid;gap:2px;min-width:90px;padding:10px 12px;border:1px solid #dfe8da;border-radius:7px;background:#fff}
.search-catalog-counts span{color:#879382;font-size:9px}
.search-catalog-counts b{color:#395744;font-size:17px}
.search-catalog-filters{display:grid;gap:13px;padding:15px;border:1px solid #e0e7dc;border-radius:9px;background:#fff}
.search-catalog-filters label{margin:0;color:#778475;font-size:10px}
.search-catalog-filters input,.search-catalog-filters select{display:block;width:100%;margin-top:5px}
.search-filter-base{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(105px,.55fr) minmax(150px,.85fr) minmax(180px,1.15fr);gap:9px;align-items:end}
.search-index-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px solid #edf0e9}
.search-index-heading>div{display:grid;gap:2px}
.search-index-heading b{color:#3f5948;font-size:13px}
.search-index-heading span{color:#849080;font-size:10px}
.search-index-heading .untagged-toggle{margin:0;white-space:nowrap}
.search-contract-ready,.search-contract-missing{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:6px;font-size:10px;line-height:1.55}
.search-contract-ready{border:1px solid #d6e3d0;background:#f4f8f1;color:#657a62}
.search-contract-ready b{flex:none;color:#3f674c}
.search-contract-ready span{color:#71816e}
.search-contract-missing{border:1px solid #ead9bd;background:#fff9ed;color:#886f48}
.search-filter-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;align-items:stretch}
.search-filter-group{min-width:0;margin:0;padding:11px;border:1px solid #e1e8dc;border-radius:7px;background:#fbfcf9}
.search-filter-group.pending{border-style:dashed;background:#faf9f5}
.search-filter-group legend{width:100%;padding:0 0 7px;color:#526755;font-size:11px;font-weight:600}
.search-filter-group legend small{float:right;color:#939d8d;font-size:8px;font-weight:400}
.search-filter-choices{display:flex;gap:5px;flex-wrap:wrap}
.search-filter-choice{position:relative;display:inline-flex;margin:0;cursor:pointer}
.search-filter-choice input{position:absolute;opacity:0;pointer-events:none}
.search-filter-choice span{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid #dfe6da;border-radius:20px;background:#fff;color:#667662;font-size:9px;line-height:1.45}
.search-filter-choice b{color:#87977e;font-size:8px;font-weight:500}
.search-filter-choice input:checked+span{border-color:#658563;background:#e8f1e4;color:#355846;box-shadow:none}
.search-filter-choice input:focus-visible+span{outline:2px solid #a3bd98;outline-offset:2px}
.search-filter-choice input:disabled+span{cursor:not-allowed;opacity:.52}
.search-filter-choice.unknown span,.search-filter-choice.unknown-choice span,.search-filter-choice.unknown-tag span{border-color:#decda9;background:#fff9eb;color:#846d3e}
.search-filter-choice.unmarked span{border-style:dashed;color:#8d9687}
.search-filter-choice.extension span{border-color:#cad7df;background:#f4f8fa;color:#5c7280}
.search-filter-group>p{margin:7px 0 0;color:#939c8e;font-size:8px;line-height:1.5}
.search-filter-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding-top:11px;border-top:1px solid #edf0e9}
.search-filter-actions>span{margin-right:auto;color:#8a9585;font-size:9px}
.search-active-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-height:28px;margin:9px 0 0;font-size:10px;color:#7f8b7c}
.search-active-filters.empty{padding-left:2px}
.search-catalog-notice{display:flex;gap:10px;align-items:flex-start;margin:12px 0;padding:10px 13px;border:1px solid #e8ddc7;border-radius:7px;background:#fffaef;color:#806f50;font-size:10px;line-height:1.65}
.search-catalog-notice b{flex:none;color:#735e3c}
.search-results-summary{display:flex;justify-content:space-between;gap:16px;margin:12px 0 10px;color:#859080;font-size:10px}
.search-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;min-width:0}
.search-product-grid.catalog-loading{grid-template-columns:repeat(3,minmax(0,1fr))}
.search-product-grid.catalog-loading span{height:300px}
.search-product-card{display:grid;grid-template-rows:174px 1fr;min-width:0;overflow:hidden;border:1px solid #dfe6da;border-radius:10px;background:#fff}
.search-product-media{position:relative;min-width:0;background:#f1f3ed;overflow:hidden}
.search-product-img,.search-detail-img{display:block;width:100%;height:100%;object-fit:cover;background:#f1f3ed}
.search-image-fallback{display:grid;place-content:center;gap:3px;width:100%;height:100%;min-height:120px;padding:20px;text-align:center;color:#7c8977;background:repeating-linear-gradient(135deg,#f5f7f1,#f5f7f1 9px,#eef1e9 9px,#eef1e9 18px)}
.search-image-fallback[hidden]{display:none}
.search-image-fallback b{font-size:12px;font-weight:500}
.search-image-fallback small{color:#929c8d;font-size:9px}
.image-action-frame{position:relative;display:block;width:100%;height:100%;min-width:0;overflow:hidden;background:#f1f3ed}
.image-action-toolbar{position:absolute;top:8px;right:8px;z-index:4;display:flex;gap:5px;align-items:center}
.image-action-button{display:grid;place-items:center;width:30px;height:30px;margin:0;padding:0;border:1px solid #d9e2d5;border-radius:7px;background:#fffefaf2;color:#315d46;box-shadow:0 3px 10px #20332924;cursor:pointer;line-height:1}
.image-action-button:hover{border-color:#8fac91;background:#f3f8ef;color:#204b39}
.image-action-button:focus-visible{outline:2px solid #8baf8d;outline-offset:2px}
.image-action-button:disabled{cursor:wait;opacity:.6}
.image-action-button[aria-busy="true"] svg{animation:image-action-pulse .8s linear infinite alternate}
.image-action-button svg{width:16px;height:16px;pointer-events:none}
.image-action-fallback{display:grid;place-content:center;gap:3px;width:100%;height:100%;min-height:100px;padding:18px;text-align:center;color:#7c8977;background:repeating-linear-gradient(135deg,#f5f7f1,#f5f7f1 9px,#eef1e9 9px,#eef1e9 18px)}
.image-action-fallback[hidden]{display:none}
.image-action-fallback b{font-size:11px;font-weight:500}
.image-action-fallback small{color:#929c8d;font-size:9px}
.image-load-failed .image-action-toolbar{display:none}
.asset-photo-frame{height:200px}
.source-gallery-img-frame{height:130px}
.detail-image-frame{margin-bottom:14px}
.basket-image-frame{width:70px;height:70px;border-radius:6px}
.basket-image{display:block;width:100%;height:100%;object-fit:cover;background:#eff2eb}
.related-gallery .image-action-frame{height:115px;border-radius:5px}
.related-gallery-img{display:block;width:100%;height:100%;object-fit:cover;background:#f2f3ed}
.search-timeline-photo{float:left;width:112px;height:84px;margin:10px 12px 10px 0;overflow:hidden;border:1px solid #dfe6da;border-radius:7px;background:#f3f5ef}
.search-timeline-img{display:block;width:100%;height:100%;object-fit:cover}
.search-timeline-content::after{display:block;clear:both;content:""}
@keyframes image-action-pulse{from{opacity:.42}to{opacity:1}}
.search-rank{position:absolute;top:10px;left:10px;padding:3px 8px;border-radius:20px;background:#294e3be8;color:#fff;font-size:9px;letter-spacing:.3px;box-shadow:0 2px 8px #2033292e}
.search-product-body{display:flex;flex-direction:column;gap:9px;padding:14px;min-width:0}
.search-product-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#7c8979;font-size:9px}
.search-product-kicker>span:first-child{display:inline-flex;align-items:center;gap:5px}
.search-product-kicker .platform-logo{width:17px;height:17px}
.search-product-body h3{display:-webkit-box;min-height:38px;margin:0;overflow:hidden;color:#354a3d;font-size:13px;font-weight:600;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.search-price-line{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;padding:8px 10px;border-radius:6px;background:#f6f8f2}
.search-price-line>span{color:#8a9684;font-size:9px}
.search-price-line>b{color:#a5573f;font-size:18px;font-weight:600}
.search-price-line>small{color:#7f8b78;font-size:9px}
.search-price-line>em{margin-left:auto;color:#738371;font-size:9px;font-style:normal}
.search-business-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin:0}
.search-business-facts>div{min-width:0}
.search-business-facts dt{color:#98a190;font-size:9px}
.search-business-facts dd{margin:1px 0 0;overflow:hidden;color:#56695b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.search-source-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:#7d8977;font-size:9px}
.search-source-meta span{padding:2px 6px;border-radius:4px;background:#f2f5ee}
.search-source-reference{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#8d9888;font-size:9px}
.search-source-reference a{color:#52795c;font-weight:600;text-decoration:none}
.search-card-tags{display:flex;gap:4px;flex-wrap:wrap;min-height:43px;padding:7px;border:1px solid #e7ece2;border-radius:6px;background:#fafbf8}
.search-index-tag{display:inline-flex;align-items:center;gap:3px}
.search-index-tag em{color:#879580;font-style:normal;font-size:8px}
.search-index-tag.unknown-tag{border:1px solid #e6d7b8;background:#fff9eb;color:#806a3d}
.muted-tag{color:#8b9686!important;background:#f1f4ee!important}
.remote-unanalysed{flex-basis:100%;color:#98703d;font-size:9px}
.search-review-state{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#7d897a;font-size:9px}
.search-review-state .badge{flex:none}
.search-card-actions{margin-top:auto;padding-top:2px}
.search-card-actions button{width:100%}
.search-catalog-pagebar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:18px}
.search-catalog-pagebar .pagination{padding:0}
.file-state.local,.file-state.local_file{color:#4f825f}
.file-state.remote,.file-state.url_only{color:#976f36}
.file-state.missing,.file-state.error,.file-state.missing_url,.file-state.missing_local,.file-state.download_failed{color:#a55e52}
.file-state.excluded,.file-state.unknown{color:#8b764d}
dialog.drawer{width:min(760px,96vw);height:100vh;max-height:100vh;margin:0 0 0 auto;padding:24px;border-radius:15px 0 0 15px;animation:drawer-in .2s ease-out}
dialog.drawer .modal-head{position:sticky;top:-24px;z-index:2;margin:-24px -24px 16px;padding:18px 24px;border-bottom:1px solid #e2e8dd;background:#fff}
@keyframes drawer-in{from{transform:translateX(30px);opacity:.5}to{transform:translateX(0);opacity:1}}
.search-detail-head{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start;margin:4px 0 18px}
.search-detail-image{height:240px;overflow:hidden;border:1px solid #e0e7db;border-radius:9px;background:#f3f5ef}
.search-detail-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.search-detail-head h3{margin:8px 0 10px;color:#33493b;font-size:17px;line-height:1.55}
.search-detail-head p{margin:7px 0 12px;color:#697a6d;font-size:11px}
.search-detail-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.search-detail-price b{color:#a5573f;font-size:24px}
.search-detail-price span{color:#7a8875;font-size:11px}
.search-detail-boundary{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;margin:0 0 14px;padding:10px 12px;border:1px solid #e6ddc9;border-radius:7px;background:#fffaef;color:#806f50;font-size:10px;line-height:1.65}
.search-detail-boundary b{color:#735f3c}
.search-source-timeline{position:relative;display:grid;gap:9px}
.search-source-timeline::before{content:"";position:absolute;top:15px;bottom:15px;left:15px;width:1px;background:#d7e2d2}
.search-timeline-item{position:relative;display:grid;grid-template-columns:31px minmax(0,1fr);gap:10px;align-items:start}
.search-timeline-index{position:relative;z-index:1;display:grid;place-items:center;width:31px;height:31px;border:1px solid #bfd0b8;border-radius:50%;background:#f8fbf6;color:#4b704f;font-size:10px}
.search-timeline-content{padding:10px 12px;border:1px solid #e1e7dc;border-radius:7px;background:#fff}
.search-timeline-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.search-timeline-head b{color:#3f5847;font-size:12px}
.search-timeline-head span{color:#899486;font-size:9px}
.search-timeline-facts{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0}
.search-timeline-facts span{padding:2px 6px;border-radius:4px;background:#f4f6f1;color:#68796b;font-size:9px}
.search-timeline-content>.link{display:inline-block;margin-top:3px;font-size:10px}
.search-timeline-review{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:7px;color:#7b8778;font-size:9px}
.search-timeline-review>span{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.search-timeline-review .actions,.search-review-actions{display:flex;gap:5px;flex-wrap:wrap}
.search-review-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;align-items:start}
.search-review-image{display:grid;place-items:center;min-height:220px;max-height:360px;overflow:hidden;border:1px solid #e0e7db;border-radius:9px;background:#f3f5ef}
.search-review-image img{max-height:360px;object-fit:contain}
.search-review-layout textarea{min-height:86px}
.search-review-actions{justify-content:flex-end;padding-top:12px;border-top:1px solid #e7ebe3}
.search-history-media{margin:8px 0 12px;color:#71806e;font-size:10px;overflow-wrap:anywhere}
.search-history-revision{margin-top:10px}
.search-history-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:7px}
.search-history-head b{color:#425d4c;font-size:12px}
.search-history-head>span{display:inline-flex;align-items:center;gap:6px;color:#859083;font-size:9px}

@media(max-width:1250px){
  .catalog-filters{grid-template-columns:repeat(3,minmax(130px,1fr))}
  .catalog-filters .wide{grid-column:span 2}
  .production-purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .task-center-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .indexed-filter-base{grid-template-columns:1fr 1fr}
  .search-filter-base{grid-template-columns:1fr 1fr}
  .search-filter-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ai-review-panel{grid-template-columns:1fr}.ai-review-status-counts{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
  .product-detail,.detail-with-media,.source-detail{grid-template-columns:1fr}
  .catalog-bar{align-items:flex-start;flex-direction:column}
  .catalog-filters{grid-template-columns:repeat(2,minmax(130px,1fr))}
  .related-item{grid-template-columns:1fr}
  .filter-topline{grid-template-columns:1fr 1fr}
  .filter-topline .filter-search{grid-column:1/-1}
  .indexed-filter-base,.indexed-filter-base.review-filter-base{grid-template-columns:1fr 1fr}
  .indexed-filter-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .source-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ai-candidate-columns{grid-template-columns:1fr}.ai-review-status-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .selection-basket{align-items:flex-start;flex-direction:column}
  .selection-basket>.actions{width:100%}
  .production-capabilities,.production-preview-summary{grid-template-columns:1fr 1fr}
  .task-center-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .search-catalog-banner{align-items:flex-start;flex-direction:column}
  .search-catalog-counts{width:100%}
  .search-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .search-detail-head{grid-template-columns:1fr}
  .search-detail-image{height:300px}
  .basket-image-frame{width:58px;height:58px}
  .search-review-layout{grid-template-columns:1fr}
}
@media(max-width:750px){
  .detail-table>div{grid-template-columns:1fr}
  .failure-list>div{display:block}
  .failure-list span{display:block;margin-top:3px;text-align:left}
  .catalog-filters{grid-template-columns:1fr}
  .catalog-filters .wide{grid-column:auto}
  .catalog-pagebar{align-items:flex-start;flex-direction:column}
  .plan-fields{grid-template-columns:1fr}
  .filter-topline,.filter-groups{grid-template-columns:1fr}
  .filter-topline .filter-search{grid-column:auto}
  .filter-actions{align-items:flex-start}
  .filter-total{width:100%;margin-right:0}
  .production-purpose-grid,.production-variable-grid,.production-capabilities,.production-preview-summary,.task-center-summary{grid-template-columns:1fr}
  .production-variable.wide{grid-column:auto}
  .basket-item{grid-template-columns:58px minmax(0,1fr)}
  .basket-item>img{width:58px;height:58px}
  .basket-item-side{grid-column:2;grid-template-columns:auto auto;align-items:center;justify-items:start}
  .production-draft-row{grid-template-columns:1fr auto}
  .production-draft-row>div:last-child{grid-column:1/-1}
  .section-heading{flex-direction:column;gap:4px}
  .production-submit-row{justify-content:stretch}
  .production-submit-row button{flex:1}
  .library-view-tabs,.search-filter-base,.search-filter-groups,.search-product-grid,.search-product-grid.catalog-loading{grid-template-columns:1fr}
  .indexed-filter-base,.indexed-filter-base.review-filter-base,.indexed-filter-groups{grid-template-columns:1fr}
  .indexed-index-heading,.indexed-filter-actions{align-items:flex-start;flex-direction:column}
  .indexed-filter-actions>span{margin-right:0}
  .source-health-grid{grid-template-columns:1fr}
  .ai-review-status-counts{grid-template-columns:1fr 1fr}.ai-candidate-filter{align-items:stretch;flex-direction:column}.ai-candidate-filter label{min-width:0}
  .search-catalog-counts{grid-template-columns:1fr 1fr 1fr}
  .search-results-summary,.search-catalog-pagebar,.search-timeline-head,.search-index-heading,.search-filter-actions{align-items:flex-start;flex-direction:column}
  .search-source-reference{align-items:flex-start;flex-direction:column}
  dialog.drawer{width:100vw;padding:18px;border-radius:0}
  dialog.drawer .modal-head{top:-18px;margin:-18px -18px 14px;padding:15px 18px}
}

/*
 * 采芷工作台视觉层
 * 参考 MIT 许可的 redesign-existing-projects 与 landing-page-design 方法，
 * 按采芷现有原生 HTML/CSS/JavaScript、中文字体、主脉品牌和运营密度适配。
 */

:root {
  --cz-bg: #f2f5f0;
  --cz-surface: #ffffff;
  --cz-surface-muted: #f7f9f5;
  --cz-surface-strong: #edf3ee;
  --cz-ink: #20372d;
  --cz-text: #405448;
  --cz-muted: #718076;
  --cz-line: #dbe4dc;
  --cz-line-strong: #c8d5cb;
  --cz-accent: #2d654f;
  --cz-accent-strong: #214f3e;
  --cz-accent-soft: #e8f1ea;
  --cz-accent-soft-strong: #dceadd;
  --cz-warning-soft: #fff7e8;
  --cz-warning-line: #ead7b5;
  --cz-danger-soft: #fff3ef;
  --cz-danger-line: #efd1c7;
  --cz-radius-sm: 8px;
  --cz-radius-md: 12px;
  --cz-radius-lg: 16px;
  --cz-shadow-float: 0 12px 32px rgba(37, 69, 53, 0.08);
  --cz-shadow-card: 0 1px 2px rgba(37, 69, 53, 0.04);
  --cz-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ink: var(--cz-ink);
  --muted: var(--cz-muted);
  --green: var(--cz-accent);
  --light: var(--cz-surface-strong);
  --border: var(--cz-line);
  --paper: var(--cz-bg);
  --accent: var(--cz-accent-soft-strong);
}

html {
  scroll-behavior: auto;
}

body {
  overflow-x: hidden;
  font-family: "MiSans", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: var(--cz-text);
  background: var(--cz-bg);
  font-variant-numeric: tabular-nums;
}

::selection {
  color: var(--cz-ink);
  background: var(--cz-accent-soft-strong);
}

* {
  scrollbar-color: #aebdb2 transparent;
  scrollbar-width: thin;
}

a {
  color: var(--cz-accent);
}

button,
.button {
  min-height: 38px;
  padding: 8px 12px;
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-sm);
  color: var(--cz-text);
  background: var(--cz-surface);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  transition:
    background-color 300ms var(--cz-ease),
    border-color 300ms var(--cz-ease),
    color 300ms var(--cz-ease),
    box-shadow 300ms var(--cz-ease);
}

button:hover,
.button:hover {
  border-color: #a9bba9;
  background: var(--cz-surface-muted);
  box-shadow: 0 2px 8px rgba(36, 61, 48, 0.08);
}

button:active,
.button:active {
  border-color: var(--cz-line-strong);
  background: var(--cz-accent-soft);
  box-shadow: inset 0 0 0 1px rgba(45, 101, 79, 0.12);
}

button.primary,
.button.primary {
  border-color: var(--cz-accent);
  background: var(--cz-accent);
  color: #ffffff;
}

button.primary:hover,
.button.primary:hover {
  border-color: var(--cz-accent-strong);
  background: var(--cz-accent-strong);
}

button.quiet {
  min-height: 34px;
  padding: 6px 8px;
  color: var(--cz-muted);
  background: transparent;
}

button:disabled,
.button[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.56;
  box-shadow: none;
}

button:focus-visible,
.button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(45, 101, 79, 0.28);
  outline-offset: 2px;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 50%;
  z-index: 100;
  padding: 8px 12px;
  border-radius: var(--cz-radius-sm);
  color: #ffffff;
  background: var(--cz-accent);
  transform: translate(-50%, -160%);
  transition: transform 300ms var(--cz-ease);
}

.skip-link:focus {
  transform: translate(-50%, 0);
}

h1,
h2,
h3,
h4 {
  color: var(--cz-ink);
  font-weight: 600;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

h1 {
  margin: 0 0 4px;
  font-size: 30px;
  line-height: 36px;
}

h2 {
  font-size: 20px;
  line-height: 28px;
}

h3 {
  font-size: 16px;
  line-height: 24px;
}

p,
.muted,
.inline-note {
  text-wrap: pretty;
}

.muted,
.inline-note,
small,
.source-label {
  font-size: 12px;
  line-height: 18px;
}

aside {
  width: 232px;
  padding: 24px 16px;
  border-right: 1px solid var(--cz-line);
  background: #f7f8f3;
}

main {
  margin-left: 232px;
}

.brand {
  gap: 12px;
  padding: 0 8px;
  color: var(--cz-ink);
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0.04em;
}

.brand .brand-icon {
  width: 48px;
  height: 48px;
  flex-basis: 48px;
  border-radius: var(--cz-radius-md);
}

.sub {
  margin-top: 2px;
  color: var(--cz-muted);
  font-size: 12px;
  line-height: 16px;
  letter-spacing: 0;
}

.nav-label {
  margin: 32px 12px 8px;
  color: #8b988f;
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

nav a {
  min-height: 44px;
  margin-bottom: 4px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: var(--cz-radius-sm);
  color: #5d6d62;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  transition:
    background-color 300ms var(--cz-ease),
    border-color 300ms var(--cz-ease),
    color 300ms var(--cz-ease),
    box-shadow 300ms var(--cz-ease);
}

nav a:hover {
  border-color: var(--cz-line);
  background: var(--cz-surface);
  color: var(--cz-ink);
  box-shadow: inset 3px 0 0 var(--cz-accent);
}

nav a.active {
  border-color: var(--cz-accent);
  background: var(--cz-accent);
  color: #ffffff;
  box-shadow: var(--cz-shadow-card);
}

#nav .ico {
  width: 24px;
  height: 24px;
}

#nav .nav-svg {
  width: 20px;
  height: 20px;
}

.aside-foot {
  padding: 16px 8px 0;
  border-color: var(--cz-line);
  color: var(--cz-muted);
  font-size: 12px;
  line-height: 18px;
}

.aside-foot small {
  color: #8a998f;
}

.dot {
  width: 8px;
  height: 8px;
  background: #5e936d;
}

header {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 68px;
  padding: 0 32px;
  border-color: var(--cz-line);
  background: rgba(242, 245, 240, 0.88);
  backdrop-filter: blur(14px);
}

.breadcrumb {
  color: var(--cz-muted);
  font-size: 12px;
}

.breadcrumb b {
  color: var(--cz-ink);
  font-weight: 600;
}

.header-right {
  gap: 12px;
}

.pill {
  padding: 4px 8px;
  border-color: var(--cz-line-strong);
  color: var(--cz-accent);
  background: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0;
}

#content {
  max-width: 1520px;
  min-height: calc(100vh - 116px);
  padding: 32px;
}

#content:focus {
  outline: none;
}

.page-title {
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 24px;
}

.page-title .muted {
  max-width: 760px;
  color: var(--cz-muted);
}

.page-title .actions {
  padding-top: 4px;
}

footer {
  padding: 16px 32px 24px;
  border-color: var(--cz-line);
  color: #8b978f;
  font-size: 12px;
}

.panel,
.stat,
.product-card,
.source-health-grid > div,
.task-center-summary > div,
.search-product-card,
.asset {
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-lg);
  background: var(--cz-surface);
  box-shadow: var(--cz-shadow-card);
}

.panel {
  padding: 20px;
}

.panel-head {
  gap: 16px;
  margin-bottom: 16px;
}

.stats {
  gap: 16px;
  margin-bottom: 24px;
}

.stat {
  padding: 16px;
}

.stat-label {
  color: var(--cz-muted);
  font-size: 12px;
}

.stat strong {
  margin: 4px 0;
  color: var(--cz-ink);
  font-family: inherit;
  font-size: 30px;
  line-height: 36px;
  font-weight: 600;
}

.stat small {
  color: var(--cz-muted);
}

.grid2 {
  gap: 24px;
}

.hero,
.catalog-bar,
.ai-review-panel,
.selection-basket,
.search-catalog-banner {
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-lg);
  color: var(--cz-text);
  background: var(--cz-accent-soft);
  box-shadow: none;
}

.hero {
  padding: 24px;
  margin-bottom: 24px;
}

.hero small {
  color: var(--cz-accent);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.hero h2 {
  margin: 4px 0 8px;
  font-size: 24px;
  line-height: 32px;
}

.hero p {
  color: var(--cz-text);
  font-size: 14px;
}

.steps {
  color: var(--cz-muted);
  font-size: 12px;
}

.steps b {
  width: 36px;
  height: 36px;
  border-color: var(--cz-line-strong);
  background: var(--cz-surface);
  color: var(--cz-accent);
  font-size: 16px;
}

.platforms {
  gap: 16px;
  margin-bottom: 24px;
}

.platform {
  padding: 16px;
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-lg);
  background: var(--cz-surface);
  box-shadow: var(--cz-shadow-card);
}

.platform .platform-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  overflow: hidden;
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-sm);
  background: #ffffff;
}

.platform-icon .platform-logo {
  object-fit: cover;
}

.platform p {
  color: var(--cz-muted);
  font-size: 12px;
}

.line {
  gap: 16px;
  padding: 12px 0;
  border-color: #edf1ed;
}

.line small {
  color: var(--cz-muted);
}

.badge {
  padding: 2px 8px;
  border-radius: 4px;
  color: var(--cz-muted);
  background: var(--cz-surface-strong);
  font-size: 12px;
  line-height: 18px;
}

.badge.good {
  color: #38694d;
  background: #e3f0e7;
}

.badge.warn {
  color: #81652f;
  background: #fbf0d8;
}

.badge.verify {
  color: #1f5f91;
  background: #dceeff;
}

.badge.bad {
  color: #8e4f43;
  background: #fae8e2;
}

.tag {
  padding: 2px 6px;
  border-radius: 4px;
  color: var(--cz-muted);
  background: var(--cz-surface-strong);
  font-size: 12px;
  line-height: 18px;
}

.notice {
  padding: 12px 16px;
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-md);
  color: var(--cz-text);
  background: var(--cz-surface-muted);
  font-size: 14px;
  line-height: 1.65;
}

.notice.compact {
  padding: 10px 12px;
  margin: 12px 0;
  font-size: 12px;
}

input,
select,
textarea {
  min-height: 40px;
  padding: 8px 10px;
  border-color: var(--cz-line-strong);
  border-radius: var(--cz-radius-sm);
  color: var(--cz-text);
  background: var(--cz-surface);
  font-size: 14px;
  line-height: 20px;
  transition:
    border-color 300ms var(--cz-ease),
    box-shadow 300ms var(--cz-ease),
    background-color 300ms var(--cz-ease);
}

input[type="search"] {
  min-width: 0;
}

input:hover,
select:hover,
textarea:hover {
  border-color: #aebdb1;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--cz-accent);
  box-shadow: 0 0 0 3px rgba(45, 101, 79, 0.12);
}

label {
  color: var(--cz-muted);
  font-size: 12px;
  line-height: 18px;
}

table {
  color: var(--cz-text);
  font-size: 14px;
}

th {
  padding: 10px 12px;
  color: var(--cz-muted);
  background: var(--cz-surface-muted);
  font-size: 12px;
  font-weight: 600;
}

td,
th {
  border-color: #e8eee9;
}

td {
  padding: 12px;
}

.table-wrap {
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-md);
}

.library-view-tabs {
  gap: 4px;
  padding: 4px;
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-md);
  background: var(--cz-surface-strong);
}

.library-view-tabs button {
  min-height: 62px;
  padding: 10px 12px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.library-view-tabs button:hover {
  border-color: var(--cz-line);
  background: rgba(255, 255, 255, 0.64);
}

.library-view-tabs button b {
  color: var(--cz-text);
  font-size: 14px;
}

.library-view-tabs button small {
  color: var(--cz-muted);
  font-size: 12px;
}

.library-view-tabs button.active {
  border-color: var(--cz-line);
  background: var(--cz-surface);
  color: var(--cz-accent);
  box-shadow: var(--cz-shadow-card);
}

.library-view-tabs button.active b {
  color: var(--cz-accent);
}

.indexed-filter-panel,
.search-catalog-filters {
  gap: 16px;
  padding: 16px;
  margin-bottom: 12px;
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-lg);
  background: var(--cz-surface);
  box-shadow: var(--cz-shadow-card);
}

.indexed-filter-base,
.review-filter-base,
.search-filter-base {
  gap: 12px;
}

.indexed-filter-base label,
.search-catalog-filters label {
  color: var(--cz-muted);
  font-size: 12px;
  font-weight: 500;
}

.indexed-filter-base input,
.indexed-filter-base select,
.search-catalog-filters input,
.search-catalog-filters select {
  margin-top: 4px;
}

.indexed-index-heading {
  gap: 16px;
  padding: 12px 0;
  border-color: var(--cz-line);
}

.indexed-index-heading b {
  color: var(--cz-ink);
  font-size: 14px;
}

.indexed-index-heading span {
  color: var(--cz-muted);
  font-size: 12px;
  line-height: 1.6;
}

.untagged-toggle {
  min-height: 40px;
  padding: 8px 10px;
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-sm);
  background: var(--cz-surface-muted);
  color: var(--cz-text);
  font-size: 12px;
}

.indexed-contract-note {
  padding: 10px 12px;
  border-radius: var(--cz-radius-sm);
  font-size: 12px;
  line-height: 1.6;
}

.indexed-contract-note.ready,
.search-contract-ready {
  border-color: #cadccf;
  color: #3f6450;
  background: #eff6f0;
}

.indexed-contract-note.missing,
.search-contract-missing {
  border-color: var(--cz-warning-line);
  color: #806532;
  background: var(--cz-warning-soft);
}

.indexed-filter-groups,
.search-filter-groups {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.indexed-filter-group,
.search-filter-group {
  padding: 12px;
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-md);
  background: var(--cz-surface-muted);
}

.indexed-filter-group legend,
.search-filter-group legend {
  padding-bottom: 8px;
  color: var(--cz-ink);
  font-size: 13px;
  font-weight: 600;
}

.indexed-filter-group legend small,
.search-filter-group legend small {
  color: var(--cz-muted);
  font-size: 12px;
}

.indexed-filter-choices,
.search-filter-choices {
  gap: 6px;
}

.indexed-filter-choice span,
.search-filter-choice span {
  min-height: 30px;
  padding: 4px 8px;
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-sm);
  background: var(--cz-surface);
  color: var(--cz-text);
  font-size: 12px;
  line-height: 20px;
}

.indexed-filter-choice b,
.search-filter-choice b {
  color: var(--cz-muted);
  font-size: 12px;
}

.search-filter-choice input:checked + span {
  border-color: var(--cz-accent);
  background: var(--cz-accent-soft-strong);
  color: var(--cz-accent-strong);
  box-shadow: none;
}

.indexed-filter-choice input:focus-visible + span,
.search-filter-choice input:focus-visible + span {
  outline: none;
}

/* The label is the only click surface. Content ignores pointer events so text,
   count and edge clicks all follow the same native checkbox activation path. */
.indexed-filter-choice span,
.indexed-filter-choice b {
  pointer-events: none;
  user-select: none;
}
.indexed-filter-choice span {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
}
.indexed-filter-choice input:checked + span,
.indexed-filter-choice:hover input:checked + span,
html[data-input-modality="pointer"] .indexed-filter-choice input:checked + span,
html[data-input-modality="keyboard"] .indexed-filter-choice input:checked:focus-visible + span {
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
  box-shadow: none;
}
.indexed-filter-choice:has(input:checked) {
  border-color: var(--cz-accent);
  background: var(--cz-accent-soft-strong);
}
html[data-input-modality="keyboard"] .indexed-filter-choice:has(input:focus-visible) {
  outline: 2px solid var(--cz-accent);
  outline-offset: 2px;
}
html[data-input-modality="pointer"] .indexed-filter-choice:has(input:focus) {
  outline: none;
  box-shadow: none;
}

.indexed-filter-group > p,
.search-filter-group > p {
  margin-top: 8px;
  color: var(--cz-muted);
  font-size: 12px;
  line-height: 1.55;
}

.indexed-filter-actions,
.search-filter-actions {
  gap: 8px;
  padding-top: 12px;
  border-color: var(--cz-line);
}

.indexed-filter-actions > span,
.search-filter-actions > span {
  color: var(--cz-muted);
  font-size: 12px;
  line-height: 1.6;
}

.indexed-filter-actions #search-filter-dirty-state,
.indexed-filter-actions #review-filter-draft-state {
  color: #4c735b;
}

.indexed-filter-actions #search-filter-dirty-state.dirty,
.indexed-filter-actions #review-filter-draft-state.dirty {
  color: #906c31;
}

.indexed-active-filters,
.search-active-filters,
.selected-filters {
  gap: 8px;
  min-height: 52px;
  margin: 12px 0;
  padding: 10px 12px;
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-md);
  color: var(--cz-muted);
  background: var(--cz-surface-muted);
  font-size: 12px;
}

.indexed-active-filters > span:first-child,
.search-active-filters > span:first-child {
  color: var(--cz-text);
  font-weight: 600;
}

.indexed-condition-chip,
.condition-chip {
  min-height: 30px;
  padding: 4px 8px;
  border-color: #b8ccbd;
  border-radius: var(--cz-radius-sm);
  color: var(--cz-accent-strong);
  background: var(--cz-surface);
  font-size: 12px;
  line-height: 20px;
}

.indexed-condition-chip:hover,
.condition-chip:hover {
  border-color: var(--cz-accent);
  background: var(--cz-accent-soft);
}

.indexed-condition-chip > span:last-child,
.condition-chip > span:last-child {
  color: var(--cz-accent);
  font-size: 14px;
}

.asset-grid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}

.asset {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition:
    border-color 300ms var(--cz-ease),
    background-color 300ms var(--cz-ease),
    box-shadow 300ms var(--cz-ease);
}

.asset:hover {
  border-color: var(--cz-line-strong);
  background: #fbfcfa;
  box-shadow: var(--cz-shadow-float);
}

.asset.in-basket {
  border-color: #7d9f86;
  box-shadow: inset 0 0 0 1px #d9e7dc;
}

.asset-photo {
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: var(--cz-surface-strong);
}

.asset .check {
  top: 12px;
  left: 12px;
  padding: 4px;
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-sm);
  box-shadow: var(--cz-shadow-card);
}

.asset .check input {
  width: 16px;
  height: 16px;
  accent-color: var(--cz-accent);
}

.asset-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 16px;
}

.asset-info .title {
  margin: 8px 0;
  color: var(--cz-ink);
  font-size: 14px;
  font-weight: 600;
}

.asset-info .excerpt {
  color: var(--cz-muted);
  font-size: 12px;
  line-height: 1.6;
}

.asset-bottom {
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
}

.source-reference,
.search-source-reference {
  color: var(--cz-muted);
  font-size: 12px;
}

.file-state {
  color: var(--cz-muted);
  font-size: 12px;
}

.file-state.local,
.file-state.local_file {
  color: #3f7655;
}

.file-state.remote,
.file-state.url_only {
  color: #746749;
}

.file-state.missing,
.file-state.error,
.file-state.missing_url,
.file-state.missing_local,
.file-state.download_failed {
  color: #9a5548;
}

.indexed-card-tags,
.search-card-tags {
  gap: 4px;
  min-height: 40px;
  padding: 8px;
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-sm);
  background: var(--cz-surface-muted);
}

.indexed-tag,
.index-tag {
  font-size: 12px;
}

.indexed-tag em,
.search-index-tag em {
  color: var(--cz-muted);
  font-size: 12px;
  font-style: normal;
}

.indexed-unanalysed,
.remote-unanalysed {
  color: #886a36;
  font-size: 12px;
}

.indexed-origin {
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
}

.search-product-grid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 16px;
}

.search-product-card {
  grid-template-rows: auto 1fr;
  overflow: hidden;
  cursor: pointer;
  transition:
    border-color 300ms var(--cz-ease),
    background-color 300ms var(--cz-ease),
    box-shadow 300ms var(--cz-ease);
}

.search-product-card:hover {
  border-color: var(--cz-line-strong);
  background: #fbfcfa;
  box-shadow: var(--cz-shadow-float);
}

.search-product-card:active {
  border-color: var(--cz-accent);
  background: var(--cz-accent-soft);
  box-shadow: inset 0 0 0 1px rgba(45, 101, 79, 0.12);
}

.search-product-card:focus-visible {
  outline: 3px solid rgba(45, 101, 79, 0.28);
  outline-offset: 2px;
}

.search-product-media {
  aspect-ratio: 4 / 3;
  background: var(--cz-surface-strong);
}

.search-product-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.search-product-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
}

.search-product-kicker {
  color: var(--cz-muted);
  font-size: 12px;
}

.search-product-body h3 {
  min-height: 44px;
  color: var(--cz-ink);
  font-size: 16px;
  line-height: 22px;
}

.search-card-index {
  min-height: 40px;
  cursor: default;
}

.search-card-index .search-card-tags,
.search-card-index .indexed-card-tags {
  min-height: 40px;
  margin: 0;
}

.search-card-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 28px;
  color: var(--cz-muted);
  font-size: 12px;
  cursor: default;
}

.search-card-status > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.search-card-open-label {
  margin-top: auto;
  color: var(--cz-accent-strong);
  font-size: 12px;
  font-weight: 600;
}

.search-price-line {
  gap: 8px;
  padding: 8px 10px;
  border-radius: var(--cz-radius-sm);
  background: var(--cz-surface-muted);
}

.search-price-line > span,
.search-price-line > small,
.search-price-line > em {
  color: var(--cz-muted);
  font-size: 12px;
  font-style: normal;
}

.search-price-line > b {
  color: #99513f;
  font-size: 20px;
  line-height: 28px;
}

.search-business-facts {
  gap: 8px 12px;
}

.search-business-facts dt {
  color: var(--cz-muted);
  font-size: 12px;
}

.search-business-facts dd {
  color: var(--cz-text);
  font-size: 12px;
}

.search-source-meta,
.search-review-state {
  gap: 6px;
  color: var(--cz-muted);
  font-size: 12px;
}

.search-source-meta span {
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--cz-surface-strong);
}

.search-card-actions {
  margin-top: auto;
}

.search-rank {
  padding: 4px 8px;
  border-radius: 4px;
  background: rgba(32, 55, 45, 0.9);
  font-size: 12px;
  box-shadow: var(--cz-shadow-card);
}

.search-image-fallback,
.asset-photo.image-error {
  color: var(--cz-muted);
  background: var(--cz-surface-strong);
}

.search-image-fallback b {
  color: var(--cz-text);
  font-size: 14px;
}

.search-image-fallback small {
  color: var(--cz-muted);
  font-size: 12px;
}

.search-catalog-banner {
  align-items: flex-start;
  gap: 24px;
  padding: 20px;
}

.search-catalog-banner h2 {
  margin: 4px 0 8px;
  font-size: 24px;
  line-height: 32px;
}

.search-catalog-banner p {
  max-width: 720px;
  color: var(--cz-text);
  font-size: 14px;
}

.search-catalog-counts {
  gap: 8px;
}

.search-catalog-counts > div,
.source-health-grid > div {
  padding: 12px;
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-md);
  background: var(--cz-surface);
}

.search-catalog-counts span,
.source-health-grid span,
.source-health-grid small {
  color: var(--cz-muted);
  font-size: 12px;
}

.search-catalog-counts b,
.source-health-grid b {
  color: var(--cz-ink);
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
}

.search-results-summary {
  color: var(--cz-muted);
  font-size: 12px;
}

.search-catalog-notice {
  color: #6f5b34;
  background: var(--cz-warning-soft);
  border-color: var(--cz-warning-line);
  border-radius: var(--cz-radius-md);
  font-size: 12px;
}

.ai-review-panel {
  background: var(--cz-surface);
}

.ai-review-panel.loading {
  background: var(--cz-surface-muted);
}

.ai-review-copy h2,
.ai-review-panel h2 {
  font-size: 18px;
  line-height: 28px;
}

.ai-review-copy p,
.ai-review-panel p {
  color: var(--cz-muted);
  font-size: 12px;
}

.ai-review-facts span,
.ai-candidate-keys span {
  font-size: 12px;
}

.ai-review-status-counts > div {
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-sm);
}

.ai-review-status-counts span,
.ai-review-status-counts b {
  font-size: 12px;
}

.catalog-loading {
  gap: 8px;
}

.catalog-loading span {
  border-radius: var(--cz-radius-sm);
  background: var(--cz-surface-strong);
  animation: cz-surface-pulse 1200ms var(--cz-ease) infinite alternate;
}

@keyframes cz-surface-pulse {
  from {
    opacity: 0.56;
    transform: translateY(0);
  }

  to {
    opacity: 1;
    transform: translateY(-2px);
  }
}

.empty,
.catalog-state,
.indexed-empty-state .empty {
  padding: 32px 24px;
  border: 1px dashed var(--cz-line-strong);
  border-radius: var(--cz-radius-md);
  color: var(--cz-muted);
  background: var(--cz-surface-muted);
}

.empty strong,
.catalog-state strong {
  color: var(--cz-ink);
  font-size: 16px;
  font-weight: 600;
}

.empty p,
.catalog-state p {
  color: var(--cz-muted);
  font-size: 12px;
}

.catalog-error,
.indexed-empty-state:has(.catalog-error) {
  border-color: var(--cz-danger-line);
  color: #8a5145;
  background: var(--cz-danger-soft);
}

.detail-table {
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-md);
}

.detail-table span {
  color: var(--cz-muted);
  font-size: 12px;
}

.section-label {
  margin: 16px 0 8px;
  color: var(--cz-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.preview-text,
.prompt-preview,
.advanced-json pre,
.advanced-json textarea {
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-sm);
  color: var(--cz-text);
  background: var(--cz-surface-muted);
}

.preview-text {
  font-size: 14px;
  line-height: 1.7;
}

.advanced-json summary,
.inline-details summary,
.prompt-details summary {
  min-height: 30px;
  color: var(--cz-accent);
  font-size: 12px;
  line-height: 20px;
  font-weight: 600;
}

.advanced-json textarea,
.advanced-json pre {
  font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
  font-size: 12px;
  line-height: 1.6;
}

.tag-origin-banner,
.dictionary-banner,
.production-ownership-note,
.production-build-state,
.plan-execution-note,
.catalog-product-context,
.plan-receipt {
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-sm);
  color: var(--cz-text);
  background: var(--cz-surface-muted);
}

.tag-origin-banner > b,
.dictionary-banner > b,
.production-build-state span {
  color: var(--cz-ink);
  font-size: 14px;
}

.review-layout {
  gap: 24px;
}

.review-layout img {
  border-radius: var(--cz-radius-md);
  background: var(--cz-surface-strong);
}

.source-gallery {
  gap: 8px;
}

.source-gallery figure,
.production-preview-assets figure,
.related-item {
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-md);
  background: var(--cz-surface);
}

.related-item h3,
.search-timeline-head b {
  color: var(--cz-ink);
  font-size: 14px;
}

.related-item p,
.related-body p,
.related-gap {
  color: var(--cz-text);
  font-size: 12px;
}

.related-body p {
  border-left-color: #a9c2ae;
  background: var(--cz-surface-muted);
}

.related-reason span,
.result-chip,
.task-category {
  border-radius: 4px;
  font-size: 12px;
}

.search-detail-image,
.search-review-image {
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-md);
  background: var(--cz-surface-strong);
}

.search-detail-head h3 {
  color: var(--cz-ink);
  font-size: 20px;
  line-height: 28px;
}

.search-detail-head p,
.search-detail-price span,
.search-timeline-head span,
.search-timeline-facts span,
.search-timeline-review {
  color: var(--cz-muted);
  font-size: 12px;
}

.search-detail-price b {
  color: #99513f;
  font-size: 30px;
}

.search-detail-boundary {
  border-color: var(--cz-warning-line);
  border-radius: var(--cz-radius-sm);
  color: #6f5b34;
  background: var(--cz-warning-soft);
  font-size: 12px;
}

.search-timeline-content {
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-md);
  background: var(--cz-surface);
}

.search-timeline-facts span {
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--cz-surface-strong);
}

.search-timeline-index {
  border-color: #b5c9ba;
  background: var(--cz-accent-soft);
  color: var(--cz-accent);
}

.task-center-summary {
  gap: 12px;
}

.task-center-summary span,
.task-center-summary b {
  font-size: 12px;
}

.task-center-summary b {
  color: var(--cz-ink);
}

.task-gaps li,
.production-gaps span {
  border-color: var(--cz-warning-line);
  border-radius: 4px;
  color: #7c6030;
  background: var(--cz-warning-soft);
  font-size: 12px;
}

.field-missing {
  color: #89682f !important;
  font-size: 12px !important;
}

.unknown-result {
  border-radius: 4px;
  color: #8d5145;
  background: #f9e9e4;
  font-size: 12px;
}

dialog {
  width: min(980px, 94vw);
  max-height: 92vh;
  padding: 24px;
  border-color: var(--cz-line);
  border-radius: var(--cz-radius-lg);
  background: var(--cz-surface);
  box-shadow: var(--cz-shadow-float);
}

dialog::backdrop {
  background: rgba(27, 46, 37, 0.42);
  backdrop-filter: blur(6px);
}

dialog.drawer {
  height: 100dvh;
  padding: 24px;
  border-radius: var(--cz-radius-lg) 0 0 var(--cz-radius-lg);
  animation: cz-drawer-in 500ms var(--cz-ease);
}

@keyframes cz-drawer-in {
  from {
    opacity: 0;
    transform: translateX(32px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.modal-head {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: -4px 0 16px;
  padding: 4px 0 12px;
  border-bottom: 1px solid var(--cz-line);
  background: var(--cz-surface);
}

.modal-head h2 {
  font-size: 24px;
  line-height: 32px;
}

#close-modal {
  min-width: 36px;
  color: var(--cz-muted);
  font-size: 20px;
}

#toast {
  bottom: 24px;
  max-width: min(720px, 84vw);
  padding: 12px 16px;
  border-radius: var(--cz-radius-sm);
  background: var(--cz-ink);
  box-shadow: var(--cz-shadow-float);
  font-size: 14px;
}

.pagination {
  gap: 12px;
  padding-top: 24px;
}

.code {
  font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
}

@media (max-width: 1280px) {
  aside {
    width: 216px;
  }

  main {
    margin-left: 216px;
  }

  #content {
    padding: 24px;
  }

  .indexed-filter-groups,
  .search-filter-groups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .indexed-filter-base,
  .review-filter-base,
  .search-filter-base {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .indexed-filter-groups,
  .search-filter-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asset-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 750px) {
  aside {
    width: 64px;
    padding: 20px 8px;
  }

  main {
    margin-left: 64px;
  }

  header {
    padding: 0 16px;
  }

  #content {
    padding: 16px;
  }

  .nav-label {
    margin-inline: 4px;
  }

  nav a {
    justify-content: center;
    padding: 10px;
  }

  .page-title,
  .search-catalog-banner,
  .indexed-filter-actions,
  .search-filter-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .search-filter-base,
  .indexed-filter-base,
  .review-filter-base,
  .indexed-filter-groups,
  .search-filter-groups,
  .asset-grid,
  .search-product-grid {
    grid-template-columns: 1fr;
  }

  .search-catalog-counts,
  .source-health-grid,
  .task-center-summary {
    grid-template-columns: 1fr;
  }

  dialog.drawer {
    width: 100vw;
    border-radius: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Search catalog masonry and incremental loading */
.search-product-grid {
  display: block;
  grid-template-columns: none;
  column-count: 4;
  column-width: 260px;
  column-gap: 16px;
  min-width: 0;
}

#search-product-grid .search-product-card {
  display: grid;
  width: 100%;
  margin: 0 0 16px;
  break-inside: avoid;
  page-break-inside: avoid;
}

.search-product-grid.catalog-loading {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-count: unset;
}

.search-infinite-sentinel {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 6px;
  padding: 18px;
  border: 1px dashed var(--cz-line);
  border-radius: var(--cz-radius-md);
  color: var(--cz-muted);
  background: var(--cz-surface-muted);
  font-size: 12px;
  text-align: center;
}

.search-infinite-sentinel.loading {
  border-style: solid;
  color: var(--cz-accent-strong);
  background: var(--cz-accent-soft);
}

.search-load-complete {
  color: var(--cz-accent-strong);
  font-weight: 600;
}

.search-load-error {
  color: #9a5548;
}

.search-load-spinner {
  width: 15px;
  height: 15px;
  border: 2px solid rgba(45, 101, 79, 0.2);
  border-top-color: var(--cz-accent);
  border-radius: 50%;
  animation: search-load-spin 750ms linear infinite;
}

@keyframes search-load-spin {
  to {
    transform: rotate(360deg);
  }
}

.search-scroll-tools {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 12;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms var(--cz-ease);
}

.search-scroll-tools.visible {
  opacity: 1;
  pointer-events: auto;
}

.search-page-float {
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: #fff;
  background: rgba(31, 67, 50, 0.92);
  box-shadow: var(--cz-shadow-float);
  font-size: 12px;
  font-weight: 600;
  backdrop-filter: blur(8px);
}

.search-scroll-tools button {
  min-height: 36px;
  border-color: var(--cz-line);
  border-radius: 999px;
  color: var(--cz-accent-strong);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--cz-shadow-float);
}

#workspace-backend-status.ready .dot {
  background: #5f976f;
}

#workspace-backend-status.loading .dot {
  background: #c4964f;
}

#workspace-backend-status.error .dot {
  background: #b66558;
}

#workspace-backend-status.unknown .dot {
  background: #ad8847;
}

#workspace-backend-status.error small {
  color: #9b655a;
}

.indexed-filter-group.fallback {
  border-color: #d8e2d2;
  background: #f8faf5;
}

.indexed-filter-group.fallback legend small {
  color: #7d8d72;
}

@media (max-width: 1280px) {
  .search-product-grid {
    column-count: 3;
  }
}

@media (max-width: 980px) {
  .search-product-grid {
    column-count: 2;
  }
}

@media (max-width: 750px) {
  .search-product-grid {
    column-count: 1;
  }

  .search-product-grid.catalog-loading {
    grid-template-columns: 1fr;
  }

  .search-scroll-tools {
    right: 14px;
    bottom: 14px;
  }
}

/* Account Edge pool matrix */
.edge-pool-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.edge-pool-stats .stat {
  min-width: 0;
  padding: 14px 16px;
}

.edge-pool-stats .stat strong {
  display: block;
  overflow: hidden;
  margin: 5px 0 3px;
  font-size: 24px;
  line-height: 30px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.edge-pool-stats .stat small {
  display: block;
  min-height: 36px;
  color: var(--cz-muted);
  font-size: 11px;
  line-height: 18px;
}

.edge-pool-filters {
  display: grid;
  grid-template-columns: minmax(180px, 1.35fr) repeat(3, minmax(130px, 0.85fr)) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-lg);
  background: var(--cz-surface);
  box-shadow: var(--cz-shadow-card);
}

.edge-pool-filters label {
  display: grid;
  gap: 5px;
  min-width: 0;
  margin: 0;
}

.edge-pool-filters label > span {
  color: var(--cz-muted);
  font-size: 11px;
}

.edge-pool-filters input,
.edge-pool-filters select {
  width: 100%;
  min-width: 0;
}

.edge-pool-filter-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

.edge-pool-panel {
  padding: 18px;
}

.edge-pool-panel .panel-head {
  align-items: flex-start;
}

.edge-pool-panel .panel-head h2 {
  margin: 0;
}

.edge-pool-panel .panel-head small {
  display: block;
  margin-top: 3px;
  color: var(--cz-muted);
}

.edge-pool-panel .panel-head > .source-label {
  flex: none;
  padding-top: 5px;
  color: var(--cz-muted);
}

.edge-pool-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.edge-pool-matrix {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}

.edge-pool-matrix th,
.edge-pool-matrix td {
  vertical-align: top;
}

.edge-pool-matrix th {
  position: relative;
  z-index: 2;
  padding: 10px 9px;
  white-space: nowrap;
}

.edge-pool-matrix th:nth-child(1) {
  width: 140px;
}

.edge-pool-matrix th:nth-child(2) {
  width: 140px;
}

.edge-pool-matrix th:nth-child(3),
.edge-pool-matrix th:nth-child(4),
.edge-pool-matrix th:nth-child(5),
.edge-pool-matrix th:nth-child(6) {
  width: 150px;
}

.edge-pool-matrix th:nth-child(7) {
  width: 100px;
}

.edge-pool-matrix td {
  height: 100%;
  padding: 8px;
  border-right: 1px solid #edf1ed;
}

.edge-pool-matrix td:last-child {
  border-right: 0;
}

.edge-pool-matrix tbody tr:hover td {
  background: #fbfcf8;
}

.edge-pool-matrix td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--cz-surface);
  box-shadow: 8px 0 12px -14px rgba(28, 50, 37, 0.55);
}

.edge-pool-matrix th:first-child {
  left: 0;
  position: sticky;
  background: var(--cz-surface-muted);
  box-shadow: 8px 0 12px -14px rgba(28, 50, 37, 0.55);
}

.edge-pool-matrix tbody tr:hover td:first-child {
  background: #fbfcf8;
}

.edge-account-cell b {
  display: block;
  overflow-wrap: anywhere;
}

.edge-account-cell b {
  color: var(--cz-ink);
  font-size: 13px;
}

.edge-account-cell small,
.edge-runtime-cell small,
.edge-edge-checked {
  display: block;
  margin-top: 5px;
  color: var(--cz-muted);
  font-size: 10px;
  line-height: 15px;
}

.edge-account-task {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow-wrap: anywhere;
}

.edge-runtime-cell > div {
  margin-bottom: 2px;
}

.edge-runtime-exception {
  color: #9a5144 !important;
  overflow-wrap: anywhere;
}

.edge-edge-checked {
  color: #7e8c82 !important;
}

.edge-platform-cell {
  min-width: 0;
  padding: 4px !important;
}

.edge-platform-summary {
  position: relative;
  display: grid;
  gap: 5px;
  width: 100%;
  min-height: 74px;
  padding: 8px 26px 8px 9px;
  border: 1px solid #e3e9df;
  border-left: 3px solid #b8c6b8;
  border-radius: 6px;
  color: var(--cz-text);
  background: #fbfcf8;
  text-align: left;
  white-space: normal;
}

.edge-platform-summary.good {
  border-left-color: #6e9b79;
  background: #f8fbf7;
}

.edge-platform-summary.warn {
  border-left-color: #c79a51;
  background: #fffbf3;
}

.edge-platform-summary.verify {
  border-left-color: #2f78b7;
  background: #edf6ff;
  box-shadow: inset 3px 0 0 rgba(47, 120, 183, 0.12);
}

.edge-platform-summary.bad {
  border-left-color: #b96c5e;
  background: #fff9f6;
}

.edge-platform-summary:hover {
  border-color: #b9c9b8;
  background: #f5f9f1;
  box-shadow: 0 2px 8px rgba(36, 61, 48, 0.08);
}

.edge-platform-summary:active {
  background: var(--cz-accent-soft);
}

.edge-platform-summary-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.edge-platform-summary-state {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  color: #776b43;
  font-size: 11px;
  font-weight: 600;
  line-height: 16px;
}

.edge-platform-summary-state i {
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c39750;
}

.edge-platform-summary-state.good {
  color: #3f7752;
}

.edge-platform-summary-state.good i {
  background: #66a176;
}

.edge-platform-summary-state.verify {
  color: #1d5f91;
  font-weight: 700;
}

.edge-platform-summary-state.verify i {
  background: #2f78b7;
  box-shadow: 0 0 0 2px rgba(47, 120, 183, 0.14);
}

.edge-platform-summary-state.bad {
  color: #984f43;
}

.edge-platform-summary-state.bad i {
  background: #ba6758;
}

.edge-platform-summary-chevron {
  position: absolute;
  top: 7px;
  right: 8px;
  color: #91a08f;
  font-size: 18px;
  line-height: 18px;
  transition: transform 180ms var(--cz-ease), color 180ms var(--cz-ease);
}

.edge-platform-summary:hover .edge-platform-summary-chevron {
  color: var(--cz-accent);
  transform: translateX(2px);
}

.edge-platform-summary-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
}

.edge-platform-summary-meta b {
  overflow: hidden;
  color: #526b5d;
  font-size: 11px;
  font-weight: 500;
  line-height: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.edge-platform-summary-meta small {
  flex: none;
  color: var(--cz-muted);
  font-size: 9px;
  line-height: 14px;
}

.edge-platform-summary-foot {
  display: block;
  min-height: 16px;
  overflow: hidden;
  color: #8b978f;
  font-size: 9px;
  line-height: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.edge-platform-summary-foot > .edge-platform-tags {
  display: inline-flex;
}

.edge-pause-tag {
  display: inline-block;
  margin-right: 4px;
  padding: 1px 5px;
  border-radius: 3px;
  color: #87632f;
  background: var(--cz-warning-soft);
  font-size: 9px;
  line-height: 16px;
}

dialog.edge-platform-dialog {
  width: min(980px, 94vw);
  max-height: 92vh;
  padding: 18px 20px;
  overflow: hidden;
}

dialog.edge-platform-dialog .modal-head {
  margin: 0 0 9px;
  padding: 0 0 9px;
}

dialog.edge-platform-dialog .modal-head h2 {
  font-size: 20px;
  line-height: 26px;
}

dialog.edge-platform-dialog #modal-body {
  max-height: calc(92vh - 72px);
  overflow: auto;
}

.edge-platform-detail-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 10px;
  padding: 8px 10px;
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-md);
  background: var(--cz-surface-muted);
}

.edge-platform-detail-status > span:not(.badge, .edge-pause-tag) {
  color: var(--cz-text);
  font-size: 12px;
  font-weight: 600;
}

.edge-platform-detail-status > small {
  margin-left: auto;
  color: var(--cz-muted);
  font-size: 10px;
}

.edge-platform-detail-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, 0.9fr);
  gap: 16px;
  align-items: start;
}

.edge-platform-detail-info,
.edge-platform-detail-actions {
  min-width: 0;
}

.edge-platform-detail-facts {
  display: grid;
  grid-template-columns: minmax(140px, 1.4fr) minmax(66px, 0.55fr) minmax(142px, 1fr);
  gap: 7px;
}

.edge-platform-detail-facts > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--cz-line);
  border-radius: 6px;
  color: var(--cz-text);
  background: var(--cz-surface);
  font-size: 11px;
  line-height: 16px;
  overflow-wrap: anywhere;
}

.edge-platform-detail-facts b {
  color: var(--cz-muted);
  font-size: 9px;
  font-weight: 500;
}

.edge-platform-detail-disclosure {
  margin-top: 7px;
  border: 1px solid var(--cz-line);
  border-radius: 6px;
  background: var(--cz-surface);
}

.edge-platform-detail-disclosure.warning {
  border-color: #eadbb9;
  background: #fffaf0;
}

.edge-platform-detail-disclosure summary {
  padding: 7px 9px;
  color: #607166;
  cursor: pointer;
  font-size: 10px;
  font-weight: 600;
}

.edge-platform-detail-disclosure.warning summary {
  color: #80622e;
}

.edge-platform-detail-disclosure p {
  max-height: 112px;
  margin: 0;
  padding: 0 9px 8px;
  overflow: auto;
  color: var(--cz-text);
  font-size: 11px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.edge-platform-detail-disclosure p + p {
  border-top: 1px solid #eee2c8;
}

.edge-platform-detail-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
}

.edge-platform-detail-heading > span {
  color: var(--cz-text);
  font-size: 11px;
  font-weight: 600;
}

.edge-platform-detail-heading small {
  color: var(--cz-muted);
  font-size: 9px;
}

.edge-platform-operation-heading {
  margin-top: 11px;
  padding-top: 9px;
  border-top: 1px solid var(--cz-line);
}

.edge-platform-manual-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
}

.edge-manual-action-feedback {
  margin-top: 7px;
  padding: 7px 9px;
  border: 1px solid #d8e2d4;
  border-radius: 6px;
  color: #496151;
  background: #f5f9f2;
  font-size: 10px;
  line-height: 15px;
}

.edge-manual-action-feedback:empty {
  display: none;
}

.edge-manual-action-feedback strong {
  display: block;
  font-size: 11px;
}

.edge-manual-action-feedback p {
  margin: 2px 0 0;
}

.edge-manual-action-feedback.error {
  border-color: #e2bbb5;
  color: #843d36;
  background: #fff3f1;
}

.edge-manual-action-feedback.success {
  border-color: #b9d2ba;
  color: #315f42;
  background: #f1f8ef;
}

.edge-manual-toggle {
  display: grid;
  gap: 1px;
  min-height: 44px;
  padding: 6px 9px;
  border-color: #d5dfd3;
  color: #52665a;
  background: #fbfcf8;
  text-align: left;
}

.edge-manual-toggle b {
  font-size: 11px;
  font-weight: 600;
}

.edge-manual-toggle small {
  color: var(--cz-muted);
  font-size: 9px;
}

.edge-manual-toggle:hover {
  border-color: #b8c9b4;
  background: #f5f9f1;
}

.edge-manual-toggle.active {
  border-color: var(--cz-accent);
  color: var(--cz-accent-strong);
  background: var(--cz-accent-soft);
  box-shadow: inset 0 0 0 1px rgba(45, 101, 79, 0.1);
}

.edge-manual-toggle.manual-verification {
  border-color: #dfc38e;
  border-left: 3px solid #bd7926;
  color: #71430f;
  background: #fff9ec;
}

.edge-manual-toggle.manual-verification:hover {
  border-color: #cfa65c;
  background: #fff3d7;
}

.edge-manual-toggle.manual-verification.active {
  border-color: #bd7926;
  color: #6b3706;
  background: #ffedc3;
  box-shadow: inset 0 0 0 1px rgba(165, 92, 13, 0.16);
}

.edge-manual-toggle.manual-risk {
  border-color: #dfb8b2;
  border-left: 3px solid #b6574c;
  color: #7d3933;
  background: #fff7f5;
}

.edge-manual-toggle.manual-risk:hover {
  border-color: #d39a92;
  background: #fdece9;
}

.edge-manual-toggle.manual-risk.active {
  border-color: #b6574c;
  color: #762c26;
  background: #fbdcd7;
  box-shadow: inset 0 0 0 1px rgba(156, 60, 50, 0.16);
}

.edge-manual-toggle:disabled {
  cursor: not-allowed;
  opacity: 0.68;
}

.edge-manual-toggle.is-pending,
.edge-manual-toggle.is-pending:disabled {
  cursor: wait;
  opacity: 1;
}

.edge-manual-toggle.is-pending b {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.edge-manual-spinner {
  flex: none;
  width: 10px;
  height: 10px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: edge-manual-spin 650ms linear infinite;
}

.edge-platform-summary.is-pending {
  border-left-color: #9f782f;
  background: linear-gradient(135deg, #fffaf0, #f8f3e7);
}

.edge-platform-summary-state.is-pending {
  color: #75551e;
}

.edge-platform-summary-state.is-pending i {
  width: 10px;
  height: 10px;
  border: 2px solid #b78a35;
  border-right-color: transparent;
  background: transparent;
  animation: edge-manual-spin 650ms linear infinite;
}

@keyframes edge-manual-spin {
  to { transform: rotate(360deg); }
}

.edge-platform-operation-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}

.edge-platform-operation-actions .edge-operation-button {
  width: 100%;
  min-height: 34px;
  padding: 5px 8px;
  font-size: 11px;
  line-height: 17px;
}

.edge-platform-operation-actions .edge-operation-button:last-child {
  grid-column: 1 / -1;
}

.edge-mini-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  padding: 4px 5px;
  border-radius: 5px;
  font-size: 9px;
  line-height: 15px;
  white-space: nowrap;
}

.edge-account-actions {
  min-width: 0;
}

.edge-account-actions .edge-mini-action {
  width: 100%;
  margin-bottom: 4px;
}

.edge-account-actions .edge-mini-action:last-child {
  margin-bottom: 0;
}

button.edge-stop-action,
button.edge-close-action {
  border-color: #ebd6cf;
  color: #94584b;
  background: #fffaf7;
}

button.edge-danger,
button.primary.edge-danger {
  border-color: #a85f50;
  color: #ffffff;
  background: #a85f50;
}

button.edge-danger:hover,
button.primary.edge-danger:hover {
  border-color: #914b3e;
  background: #914b3e;
}

.edge-stop-confirm {
  border-color: #ebd6cf;
  background: #fff8f4;
}

.edge-stop-confirm strong {
  display: block;
  color: #7f4338;
  font-size: 15px;
}

.edge-stop-confirm p {
  margin: 7px 0 0;
  color: #785c54;
}

.edge-action-feedback {
  margin: 12px 0;
  border-color: #ebd6cf;
  background: #fff8f4;
}

.edge-action-feedback.partial,
.edge-action-feedback.unknown {
  border-color: #eadbb9;
  background: #fffaf0;
}

.edge-action-feedback strong {
  display: block;
  color: #7f4338;
  font-size: 13px;
}

.edge-action-feedback.partial strong,
.edge-action-feedback.unknown strong {
  color: #82652e;
}

.edge-action-feedback p {
  margin: 5px 0 0;
  color: #785c54;
  overflow-wrap: anywhere;
}

.edge-action-feedback.partial p,
.edge-action-feedback.unknown p {
  color: #765f38;
}

.edge-action-feedback-slot:empty {
  display: none;
}

.edge-import-confirm strong {
  display: block;
  color: var(--cz-ink);
  font-size: 15px;
}

.edge-import-confirm p {
  margin: 7px 0 0;
}

.edge-import-busy {
  padding: 12px 0;
  text-align: center;
}

.edge-import-busy .catalog-loading {
  margin-bottom: 16px;
}

.edge-import-busy strong {
  display: block;
  color: var(--cz-ink);
  font-size: 15px;
}

.edge-import-busy p {
  margin: 7px auto 0;
  max-width: 560px;
  color: var(--cz-muted);
}

.edge-import-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.edge-import-summary > div {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--cz-line);
  border-radius: var(--cz-radius-md);
  background: var(--cz-surface-muted);
}

.edge-import-summary span {
  color: var(--cz-muted);
  font-size: 11px;
}

.edge-import-summary strong {
  display: block;
  margin-top: 3px;
  color: var(--cz-ink);
  font-size: 24px;
  line-height: 30px;
}

.edge-import-summary .success {
  border-color: #cfe2d2;
  background: #f0f8f1;
}

.edge-import-summary .success strong {
  color: #3f7752;
}

.edge-import-summary .existing {
  border-color: #d5e1dc;
  background: #f4f8f6;
}

.edge-import-summary .ineligible {
  border-color: #eadbb9;
  background: #fffaf0;
}

.edge-import-summary .ineligible strong {
  color: #8a682e;
}

.edge-import-summary .failed {
  border-color: #ebd6cf;
  background: #fff8f4;
}

.edge-import-summary .failed strong {
  color: #9a5144;
}

.edge-import-failures {
  margin-top: 12px;
  border: 1px solid #ebd6cf;
  border-radius: var(--cz-radius-md);
  background: #fffaf7;
}

.edge-import-failures summary {
  cursor: pointer;
  padding: 11px 13px;
  color: #8f4d41;
  font-size: 12px;
  font-weight: 600;
}

.edge-import-failures ol {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0 13px 13px;
  list-style: none;
}

.edge-import-details-missing {
  margin: 0;
  padding: 0 13px 13px;
  color: #785c54;
  font-size: 11px;
}

.edge-import-failures li {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border-top: 1px solid #f0dfd9;
  color: #785c54;
  font-size: 11px;
}

.edge-import-failure-id {
  color: #9a5144;
  font-weight: 600;
}

.edge-import-failures li > span:last-child {
  display: grid;
  gap: 2px;
}

.edge-import-failures b {
  color: #6f4e47;
  font-weight: 500;
}

.edge-import-failures small {
  color: #9a776f;
  font-family: Consolas, monospace;
  font-size: 9px;
  overflow-wrap: anywhere;
}

.edge-import-readback-error {
  margin-bottom: 0;
  border-color: #ebd6cf;
  background: #fff8f4;
}

.edge-stale-note {
  color: #9a6a35 !important;
}

.edge-pool-error {
  margin-bottom: 12px;
  padding: 24px 18px;
}

.edge-pool-error .primary {
  margin-top: 13px;
}

.edge-pool-loading {
  margin-top: 4px;
}

@media (max-width: 1280px) {
  .edge-pool-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .edge-pool-filters {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }

  .edge-pool-filter-actions {
    justify-content: flex-start;
  }

  .edge-pool-matrix {
    min-width: 940px;
  }

  .edge-pool-matrix th:nth-child(1),
  .edge-pool-matrix th:nth-child(2) {
    width: 135px;
  }

  .edge-pool-matrix th:nth-child(3),
  .edge-pool-matrix th:nth-child(4),
  .edge-pool-matrix th:nth-child(5),
  .edge-pool-matrix th:nth-child(6) {
    width: 145px;
  }

  .edge-pool-matrix th:nth-child(7) {
    width: 90px;
  }
}

@media (max-width: 760px) {
  .edge-pool-stats,
  .edge-pool-filters {
    grid-template-columns: 1fr;
  }

  .edge-pool-panel {
    padding: 14px;
  }

  .edge-pool-panel .panel-head {
    flex-direction: column;
  }

  .edge-pool-filter-actions button {
    flex: 1;
  }

  .edge-import-summary {
    grid-template-columns: 1fr 1fr;
  }

  .edge-platform-operation-actions {
    grid-template-columns: 1fr;
  }

  .edge-platform-detail-columns {
    grid-template-columns: 1fr;
  }

  .edge-platform-detail-heading {
    align-items: flex-start;
    flex-direction: column;
  }
}
