/* Search method editor, product lines and buyer profiles. */
.strategy-list-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:2px 0 21px; }
.strategy-list-toolbar input { max-width:430px; min-height:42px; font-size:var(--font-small); }
.strategy-list-toolbar>span { color:var(--text-tertiary); font-size:var(--font-caption); white-space:nowrap; }
.strategy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.strategy-card { display:flex; flex-direction:column; min-width:0; padding:23px; border:1px solid var(--border-default); background:#fff; border-radius:15px; transition:border-color 120ms,box-shadow 120ms; }
.strategy-card:hover { border-color:var(--border-strong); box-shadow:0 5px 20px #00000004; }
.strategy-card h2 { font-size:17px; font-weight:500; color:var(--text-primary); margin:0 0 16px; line-height:1.6; overflow-wrap:anywhere; letter-spacing:-.025em; }
.strategy-card-products { display:flex; flex-wrap:wrap; gap:6px; }
.strategy-card-products>span { display:block; max-width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:var(--font-caption); color:var(--text-secondary); padding:5px 8px; background:var(--surface-hover); border-radius:5px; }
.strategy-card-profile-names { color:var(--text-tertiary); font-size:var(--font-small); line-height:1.9; margin:14px 0 21px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.strategy-card-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px 0; border-top:1px solid var(--border-subtle); margin-top:auto; }
.strategy-card-stats>span { display:flex; flex-direction:column; gap:7px; }
.strategy-card-stats strong { font-size:23px; font-weight:500; letter-spacing:-.02em; color:var(--text-primary); }
.strategy-card-stats small { font-size:var(--font-caption); color:var(--text-tertiary); }
.strategy-card-actions { display:flex; gap:9px; flex-wrap:wrap; padding-top:5px; }
.strategy-card-actions .portal-button { font-size:var(--font-caption); min-height:35px; padding:7px 11px; border-radius:8px; }
.strategy-empty { grid-column:1/-1; text-align:center; border:1px dashed var(--border-default); background:#fcfcf9; border-radius:15px; padding:60px 25px; }
.strategy-empty h2 { font-size:18px; font-weight:500; margin:0 0 12px; color:var(--text-primary); }
.strategy-empty p { color:var(--text-tertiary); font-size:var(--font-small); line-height:1.9; margin:0 0 24px; }
.strategy-pagination { display:flex; justify-content:center; align-items:center; gap:17px; margin-top:23px; color:var(--text-tertiary); font-size:var(--font-small); }
/* Visual strategy builder: product nodes, buyer cards and an optional rule inspector. */
.strategy-editor { max-width:1380px; color:var(--text-primary); }
.strategy-editor-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin:3px 0 24px; }
.strategy-editor-heading h2 { margin:0 0 9px; font-size:24px; font-weight:500; color:var(--text-primary); letter-spacing:-.02em; }
.strategy-editor-heading p { margin:0; font-size:var(--font-small); color:var(--text-tertiary); line-height:1.9; }
.strategy-editor-heading>.portal-button { flex-shrink:0; }
.strategy-canvas-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.strategy-name-inline { display:flex; gap:15px; align-items:center; min-width:0; flex:1; }
.strategy-name-inline label { font-size:var(--font-caption); color:var(--text-tertiary); white-space:nowrap; }
.strategy-name-inline input { border:0; border-radius:6px; background:transparent; font-size:var(--font-body); font-weight:500; color:var(--text-primary); padding:9px 6px; width:100%; min-width:0; max-width:460px; }
.strategy-name-inline input:hover,.strategy-name-inline input:focus { background:var(--surface-subtle); }
.strategy-visual-badge { display:inline-flex; align-items:center; gap:7px; font-size:var(--font-caption); color:var(--text-tertiary); white-space:nowrap; }
.strategy-visual-badge>span { width:6px; height:6px; border-radius:50%; background:#ee653f; }
.strategy-visual-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; border:1px solid var(--border-default); border-radius:16px; overflow:hidden; background:#fff; }
.strategy-board-wrap { min-width:0; background:var(--surface-subtle); }
.strategy-board-scroll { max-height:650px; overflow:auto; scrollbar-gutter:stable; }
.strategy-board { display:grid; grid-template-columns:minmax(150px,.9fr) minmax(180px,1fr); gap:64px; align-items:start; min-height:370px; padding:28px 26px 35px; position:relative; background-image:radial-gradient(var(--border-default) .7px,transparent .7px); background-size:18px 18px; }
.strategy-product-lane,.strategy-buyer-lane { position:relative; z-index:1; min-width:0; }
.strategy-lane-heading { display:flex; align-items:center; gap:8px; min-height:30px; margin-bottom:20px; }
.strategy-lane-heading h3 { margin:0; font-size:var(--font-small); font-weight:500; color:var(--text-secondary); }
.strategy-lane-heading>span:last-child { margin-left:auto; font-size:var(--font-caption); color:var(--text-tertiary); }
.strategy-lane-icon { font-size:var(--font-caption); color:var(--text-tertiary); letter-spacing:.03em; }
.strategy-connections { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.strategy-link { fill:none; stroke:var(--border-default); stroke-width:1.5; vector-effect:non-scaling-stroke; }
.strategy-link.is-active { stroke:var(--text-tertiary); stroke-width:2; }
.strategy-product-nodes,.strategy-profile-nav { display:flex; flex-direction:column; gap:15px; }
.strategy-product-node { position:relative; border:1px solid var(--border-default); background:#fff; border-radius:12px; box-shadow:0 3px 12px #18181b04; }
.strategy-product-node[data-selected="true"] { border-color:var(--border-strong); }
.strategy-product-node:after,.strategy-buyer-node:before { content:""; width:7px; height:7px; border:1.5px solid var(--border-strong); background:#fff; border-radius:50%; position:absolute; top:50%; margin-top:-4px; right:-5px; }
.strategy-product-select { display:flex; flex-direction:column; align-items:flex-start; gap:10px; text-align:left; background:transparent; border:0; padding:17px 16px 12px; width:100%; border-radius:12px; color:var(--text-secondary); }
.strategy-product-select>strong { font-size:var(--font-body); font-weight:500; line-height:1.8; overflow-wrap:anywhere; }
.strategy-product-select>span:last-child { font-size:var(--font-caption); color:var(--text-tertiary); }
.strategy-product-symbol { display:flex; justify-content:center; align-items:center; width:27px; height:27px; color:var(--text-tertiary); background:var(--surface-subtle); border:1px solid var(--border-subtle); border-radius:8px; font-size:17px; }
.strategy-product-actions { display:flex; justify-content:space-between; align-items:center; padding:0 13px 10px; }
.strategy-product-actions button { background:none; border:0; color:var(--text-tertiary); font-size:var(--font-caption); padding:4px; }
.strategy-product-actions button:last-child { font-size:17px; line-height:1; }
.strategy-product-placeholder { display:flex; align-items:center; flex-direction:column; padding:28px 15px; gap:12px; border:1px dashed var(--border-strong); border-radius:12px; color:var(--text-tertiary); background:#ffffffb3; text-align:center; }
.strategy-product-placeholder>span { font-size:23px; font-weight:300; }
.strategy-product-placeholder strong { font-size:var(--font-small); font-weight:500; color:var(--text-tertiary); }
.strategy-product-placeholder p { font-size:var(--font-caption); margin:0; line-height:1.8; }
.strategy-product-composer { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.strategy-product-composer input { flex-basis:100%; min-width:0; width:100%; min-height:37px; padding:9px; font-size:var(--font-caption); background:#ffffffd9; border-color:var(--border-default); }
.strategy-product-composer .portal-button { min-height:29px; font-size:var(--font-caption); padding:5px 10px; }
.strategy-product-composer .portal-text-button { font-size:var(--font-caption); }
.strategy-field-hint { font-size:var(--font-caption); color:var(--text-tertiary); line-height:1.9; margin:10px 0 0; }
.strategy-buyer-node { display:flex; flex-direction:column; gap:9px; padding:17px 16px 12px; background:#fff; border:1px solid var(--border-default); border-radius:12px; position:relative; text-align:left; width:100%; color:var(--text-primary); box-shadow:0 3px 12px #18181b04; }
.strategy-buyer-node:before { left:-5px; right:auto; }
.strategy-buyer-node[aria-pressed="true"] { border-color:var(--text-tertiary); box-shadow:0 0 0 2px #00000005; }
.strategy-buyer-node[aria-pressed="true"]:before { border-color:var(--text-tertiary); }
.strategy-buyer-node.is-placeholder { border-style:dashed; min-height:140px; justify-content:center; box-shadow:none; background:#ffffffba; }
.strategy-node-kicker { color:var(--text-tertiary); font-size:var(--font-caption); letter-spacing:.02em; }
.strategy-buyer-node>strong { font-size:var(--font-body); font-weight:500; line-height:1.8; overflow-wrap:anywhere; }
.strategy-node-description { font-size:var(--font-caption); line-height:1.9; color:var(--text-tertiary); overflow-wrap:anywhere; }
.strategy-node-terms { display:flex; flex-wrap:wrap; gap:5px; margin:2px 0; }
.strategy-node-terms>span { background:var(--surface-subtle); border-radius:4px; padding:4px 6px; color:var(--text-tertiary); font-size:var(--font-caption); overflow:hidden; max-width:100%; text-overflow:ellipsis; white-space:nowrap; }
.strategy-node-terms>small { font-size:var(--font-caption); color:var(--text-tertiary); align-self:center; }
.strategy-node-footer { display:block; width:100%; border-top:1px solid var(--surface-hover); padding-top:10px; font-size:var(--font-caption); color:var(--text-tertiary); }
.strategy-preset-shelf { padding:20px 24px; border-top:1px solid var(--border-subtle); background:#fff; }
.strategy-preset-heading { display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
.strategy-preset-heading h3 { font-size:var(--font-small); font-weight:500; margin:0; color:var(--text-secondary); }
.strategy-preset-heading>span { color:var(--text-tertiary); font-size:var(--font-caption); line-height:1.8; overflow-wrap:anywhere; }
.strategy-presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.strategy-preset { display:flex; flex-direction:column; gap:5px; padding:11px 13px; border:1px solid var(--border-subtle); border-radius:9px; background:#fff; text-align:left; }
.strategy-preset:hover { border-color:var(--border-strong); background:var(--surface-subtle); }
.strategy-preset strong { font-size:var(--font-caption); font-weight:500; color:var(--text-secondary); }
.strategy-preset small { font-size:var(--font-caption); color:var(--text-tertiary); line-height:1.8; }
.strategy-preset:disabled { opacity:.42; }
.strategy-custom-profile { display:inline-block; margin-top:14px; font-size:var(--font-caption); color:var(--text-tertiary); }
.strategy-inspector { min-width:0; border-left:1px solid var(--border-subtle); padding:23px 20px; background:#fff; }
.strategy-inspector-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:330px; text-align:center; color:var(--text-tertiary); }
.strategy-inspector-empty>span { display:flex; align-items:center; justify-content:center; width:43px; height:43px; font-size:21px; border:1px solid var(--border-subtle); border-radius:13px; color:var(--border-strong); margin-bottom:19px; }
.strategy-inspector-empty h3 { font-size:var(--font-body); color:var(--text-secondary); font-weight:500; margin:0 0 12px; }
.strategy-inspector-empty p { font-size:var(--font-caption); line-height:2; margin:0; }
.strategy-profile-editor-heading { display:flex; justify-content:space-between; gap:14px; margin-bottom:9px; }
.strategy-profile-editor-heading h3 { font-size:15px; line-height:1.9; font-weight:500; color:var(--text-primary); margin:0; overflow-wrap:anywhere; }
.strategy-inspector-marker { color:var(--text-tertiary); font-size:var(--font-caption); padding-top:4px; white-space:nowrap; }
.strategy-name-details { margin:0 0 21px; }
.strategy-name-details>summary { font-size:var(--font-caption); color:var(--text-tertiary); cursor:pointer; }
.strategy-name-details input { margin-top:10px; font-size:var(--font-small); min-height:37px; }
.strategy-inspector-section,.strategy-rule-block { margin:0 0 21px; }
.strategy-inspector h4 { font-size:var(--font-caption); font-weight:500; color:var(--text-secondary); margin:0 0 10px; }
.strategy-field-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:9px; }
.strategy-field-heading h4 { margin:0; }
.strategy-field-heading>span { font-size:var(--font-caption); color:var(--text-tertiary); }
.strategy-profile-product-choices,.strategy-term-tags,.strategy-selected-roles,.strategy-quick-filters { display:flex; flex-wrap:wrap; gap:6px; }
.strategy-choice { display:inline-flex; align-items:center; gap:6px; max-width:100%; border:1px solid var(--border-subtle); background:#fff; border-radius:6px; padding:6px 8px; font-size:var(--font-caption); line-height:1.8; color:var(--text-tertiary); cursor:pointer; }
.strategy-choice:has(input:checked) { background:var(--surface-subtle); color:var(--text-secondary); border-color:var(--border-strong); }
.strategy-choice span { overflow-wrap:anywhere; }
.strategy-choice input { flex-shrink:0; width:12px; height:12px; }
.strategy-term-tag { display:inline-flex; align-items:center; gap:5px; padding:4px 6px 4px 8px; max-width:100%; border:1px solid var(--border-subtle); border-radius:6px; background:var(--surface-subtle); color:var(--text-tertiary); font-size:var(--font-caption); line-height:1.9; }
.strategy-term-tag>span { overflow-wrap:anywhere; min-width:0; }
.strategy-term-tag button { background:none; border:0; color:var(--text-tertiary); font-size:var(--font-body); line-height:1.5; padding:0 2px; flex-shrink:0; }
.strategy-rule-empty { font-size:var(--font-caption); font-weight:400; color:var(--text-tertiary); line-height:1.9; }
.strategy-term-editor>summary { color:var(--text-tertiary); font-size:var(--font-caption); cursor:pointer; margin:10px 0; }
.strategy-term-editor textarea { min-height:85px; font-size:var(--font-caption); line-height:1.9; padding:10px; resize:vertical; }
.strategy-suggestion-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.strategy-suggestion-tags button { text-align:left; border:1px dashed var(--border-default); border-radius:5px; font-size:var(--font-caption); color:var(--text-tertiary); line-height:1.8; background:#fff; padding:4px 7px; overflow-wrap:anywhere; }
.strategy-selected-roles>span { font-size:var(--font-caption); padding:5px 7px; border-radius:5px; background:var(--surface-subtle); color:var(--text-tertiary); }
.strategy-selected-roles>small { font-size:var(--font-caption); color:var(--text-tertiary); }
.strategy-role-picker { margin-top:9px; }
.strategy-role-picker>summary { cursor:pointer; color:var(--text-tertiary); font-size:var(--font-caption); }
.strategy-role-options { margin-top:10px; max-height:235px; overflow-y:auto; padding:5px; border:1px solid var(--border-subtle); border-radius:8px; }
.strategy-role-choice { display:flex; align-items:flex-start; gap:8px; padding:8px 6px; cursor:pointer; border-radius:5px; }
.strategy-role-choice:hover { background:var(--surface-subtle); }
.strategy-role-choice input { flex-shrink:0; }
.strategy-role-choice>span { display:flex; flex-direction:column; gap:3px; }
.strategy-role-choice strong { font-size:var(--font-caption); color:var(--text-tertiary); font-weight:450; line-height:1.8; }
.strategy-role-choice small { font-size:var(--font-caption); color:var(--text-tertiary); line-height:1.6; }
.strategy-optional-rules { border-top:1px solid var(--surface-hover); border-bottom:1px solid var(--surface-hover); padding:15px 0 0; margin-bottom:17px; }
.strategy-optional-rules>summary { display:flex; justify-content:space-between; gap:10px; cursor:pointer; font-size:var(--font-caption); color:var(--text-tertiary); padding-bottom:15px; }
.strategy-optional-rules>summary>span { color:var(--text-tertiary); font-size:var(--font-caption); }
.strategy-optional-rules[open]>summary { margin-bottom:6px; }
.strategy-quick-filters { margin-bottom:10px; }
.strategy-quick-filters button { border:1px solid var(--border-subtle); padding:5px 7px; border-radius:5px; font-size:var(--font-caption); color:var(--text-tertiary); background:#fff; }
.strategy-quick-filters button[aria-pressed="true"] { background:#fcf2ee; border-color:#efc4b6; color:#bb7157; }
.is-excluded .strategy-term-tag,.strategy-selected-roles.is-excluded>span { background:#fcf7f4; color:#a87c6b; border-color:#efe2dc; }
.strategy-profile-actions { display:flex; justify-content:space-between; gap:12px; }
.strategy-profile-actions .portal-text-button { font-size:var(--font-caption); color:var(--text-tertiary); }
.strategy-global-notes { margin:20px 0; }
.strategy-global-notes>summary { font-size:var(--font-caption); color:var(--text-tertiary); cursor:pointer; }
.strategy-global-notes>summary>span { font-size:var(--font-caption); color:var(--text-tertiary); margin-left:8px; }
.strategy-global-notes textarea { margin-top:12px; min-height:70px; font-size:var(--font-small); resize:vertical; }
.strategy-check-result { border:1px solid var(--border-default); border-radius:9px; background:var(--surface-subtle); color:var(--text-tertiary); font-size:var(--font-caption); line-height:1.9; padding:13px 15px; margin:18px 0; }
.strategy-editor-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0 3px; margin-top:20px; border-top:1px solid var(--border-subtle); }
.strategy-editor-footer>span { font-size:var(--font-caption); color:var(--text-tertiary); line-height:1.9; }
.strategy-editor-footer>div { display:flex; gap:9px; flex-shrink:0; }
.strategy-editor-footer .portal-button { min-height:40px; font-size:var(--font-small); }
.strategy-run-panel { padding:27px; max-width:1050px; border-color:var(--border-default); border-radius:15px; }
.strategy-run-panel .strategy-editor-heading { margin-bottom:25px; }
.strategy-run-method { border:1px solid var(--border-default); border-radius:10px; padding:17px 19px; margin-bottom:25px; background:#fafaf5; }
.strategy-run-method>strong { font-size:var(--font-body); display:block; font-weight:500; color:#444433; line-height:1.8; }
.strategy-run-method>span { font-size:var(--font-caption); display:block; color:#929277; line-height:1.9; margin-top:7px; }
.strategy-run-method>details { margin-top:14px; }
.strategy-run-method>details>summary { font-size:var(--font-caption); color:#78785e; cursor:pointer; }
.strategy-run-method [data-strategy-run-rules] { margin-top:17px; }
.strategy-run-scope { display:grid; grid-template-columns:minmax(0,2fr) minmax(160px,1fr); gap:20px; }
.strategy-run-scope .portal-label { font-size:var(--font-small); }
.strategy-run-note { color:#8e8e75; font-size:var(--font-caption); line-height:1.9; }
.strategy-run-panel .country-selection { margin-bottom:20px; }
.search-profile-summary { border:1px solid var(--border-default); border-radius:9px; background:#fff; margin-bottom:10px; overflow:hidden; }
.search-profile-summary>summary { cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:15px; padding:14px; }
.search-profile-summary>summary strong { font-size:var(--font-small); line-height:1.8; font-weight:500; color:#66664e; overflow-wrap:anywhere; }
.search-profile-summary>summary span { font-size:var(--font-caption); color:#99997e; flex-shrink:0; }
.search-profile-summary dl { margin:0; padding:0 14px 14px; }
.search-profile-summary dl>div { display:grid; grid-template-columns:105px minmax(0,1fr); gap:15px; padding:11px 0; border-top:1px solid #eeeee3; font-size:var(--font-caption); line-height:1.9; }
.search-profile-summary dt { color:#a0a084; }
.search-profile-summary dd { margin:0; color:#73735b; white-space:pre-wrap; overflow-wrap:anywhere; }
.search-summary-notes { color:#8e8e73; font-size:var(--font-caption); line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.task-search-strategy { margin-top:22px; }
.task-search-strategy>summary { cursor:pointer; font-size:var(--font-small); color:#74745d; padding:12px 0; }
.task-search-strategy>div { margin-top:8px; }

@media(max-width:1200px) {
 .strategy-visual-layout { grid-template-columns:minmax(0,1fr); }
 .strategy-inspector { border-left:0; border-top:1px solid var(--border-subtle); }
 .strategy-inspector-empty { min-height:160px; }
 .strategy-board { grid-template-columns:minmax(150px,1fr) minmax(180px,1fr); gap:90px; padding:26px 40px 32px; }
 .strategy-presets { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .strategy-inspector [data-strategy-inspector-content] { max-width:780px; margin:auto; }
}
@media(max-width:800px) { .strategy-grid { grid-template-columns:1fr; } .strategy-board { gap:50px; padding:24px 22px 29px; } .strategy-presets { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(pointer:coarse) { .strategy-product-actions button,.strategy-term-tag button,.strategy-custom-profile,.strategy-profile-actions button { min-width:32px; min-height:32px; } }
@media(max-width:560px) {
 .strategy-editor-heading { flex-wrap:wrap; gap:14px; } .strategy-editor-heading h2 { font-size:22px; }
 .strategy-visual-badge { display:none; } .strategy-name-inline { gap:8px; } .strategy-name-inline input { font-size:var(--font-reading); }
 .strategy-board { grid-template-columns:minmax(0,1fr); gap:30px; padding:22px 19px 26px; }
 .strategy-connections { display:none; } .strategy-product-node:after,.strategy-buyer-node:before { display:none; }
 .strategy-buyer-lane:before { content:"↓"; display:block; color:#c2a396; font-size:20px; text-align:center; margin-bottom:22px; }
 .strategy-board-scroll { max-height:none; }
 .strategy-inspector { padding:22px 19px; }
 .strategy-preset-shelf { padding:19px; }
 .strategy-inspector input,.strategy-inspector textarea,.strategy-product-composer input,.strategy-global-notes textarea { font-size:var(--font-reading); }
 .strategy-editor-footer { flex-direction:column; align-items:stretch; gap:12px; }
 .strategy-editor-footer>div { justify-content:flex-end; }
 .strategy-run-panel { padding:19px 16px; }
 .strategy-run-scope { grid-template-columns:minmax(0,1fr); gap:0; }
 .strategy-run-scope input,.strategy-list-toolbar input { font-size:var(--font-reading); }
 .strategy-card { padding:20px; }
 .search-profile-summary dl>div { grid-template-columns:90px minmax(0,1fr); gap:12px; }
}
