.ranking-editor { margin: 1.25rem 0; padding: 1rem; border: 1px solid #b8c3c7; border-radius: .5rem; }
.ranking-editor summary { cursor: pointer; font-weight: 700; }
.ranking-editor fieldset { margin: 1rem 0; padding: 1rem; border: 1px solid #cbd3d6; border-radius: .4rem; }
.ranking-editor fieldset > label { display: block; margin: .6rem 0; }
.ranking-editor textarea { display: block; width: min(100%, 44rem); min-height: 5rem; }
.ranking-editor input:not([type="checkbox"]), .ranking-editor select { max-width: 24rem; }
.ranking-field label[hidden] { display:none!important; }
.ranking-signal-help { margin:10px 0 14px; color:#536176; font-size:13px; line-height:1.6; max-width:70ch; }
.ranking-editor [data-field="weight"] { font-weight:700; font-variant-numeric:tabular-nums; }
.ranking-editor #ranking-weight-total { margin:14px 0 0; }
#ranking-message { min-height: 1.5em; }
.merch-product-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; margin:18px 0; }
.merch-product-grid[hidden] { display:none; }
.merch-product-card { overflow:hidden; border:1px solid #d6dee9; border-radius:8px; background:#fff; }
.merch-product-photo { aspect-ratio:4/5; display:grid; place-items:center; background:#edf1f4; color:#596677; font-size:13px; }
.merch-product-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.merch-product-body { padding:14px; }
.merch-product-body h3 { min-height:2.8em; margin:0 0 8px; font-size:15px; line-height:1.4; }
.merch-product-badges { min-height:2.8em; color:#42536b; font-size:12px; line-height:1.4; }
.merch-score-label { margin:8px 0 4px; font-size:12px; font-weight:700; color:#263e63; }
.merch-score-track { height:7px; border-radius:6px; background:#e2e9f2; overflow:hidden; }
.merch-score-track span { display:block; height:100%; background:#286bb2; }
.merch-product-body dl { display:grid; grid-template-columns:1fr auto; gap:5px 10px; margin:12px 0; font-size:12px; }
.merch-product-body dt { color:#596677; }.merch-product-body dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; }
.merch-product-body button { width:100%; }
#metadata-versions:not(:empty) { padding:10px 12px; background:#edf5ff; border-left:3px solid #2871c7; font-size:13px; }
@media print {
 .topbar,.hero,#controls,#notice,#result>.filters,#ranking-editor,#csv-panel,#table-pages,#product-dialog,.merch-product-body button { display:none!important; }
 body { background:#fff; }main { max-width:none; padding:0; }.panel { border:0; box-shadow:none; }
 .merch-product-grid { grid-template-columns:repeat(4,1fr); gap:8px; }.merch-product-card { break-inside:avoid; }
 .merch-product-body { padding:8px; }.merch-product-photo { aspect-ratio:1; }
}

body[data-page-key="commercial-merchandising.html"] .filters select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
body[data-page-key="commercial-merchandising.html"] .filters label:has(#mode){flex-basis:230px}
@media print{#preset-variant-editor{display:none!important}}
/* Shared semantic statuses. Text remains meaningful without colour. */
.ranking-status{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:5px;background:#edf0f4;color:#485469;font-size:12px;font-weight:650;line-height:1.4}
.ranking-status--blocked{background:#fff0ef;color:#a22528}.ranking-status--warning{background:#fff6df;color:#825300}.ranking-status--changed{background:#edf2ff;color:#174abe}.ranking-status--checked{background:#edf8f0;color:#17633d}.ranking-status--saved{background:#edf0f4;color:#485469}
.ranking-feedback{padding:12px 14px;border-radius:6px;margin:12px 0;line-height:1.5}.ranking-feedback--blocked{background:#fff0ef;color:#a22528}.ranking-feedback--warning{background:#fff6df;color:#825300}
.ranking-state-bar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:16px 0}.ranking-summary{border-top:1px solid #d6dee9;margin-top:18px;padding-top:14px}.ranking-summary h3{margin:0 0 7px;font-size:15px}.ranking-summary p{line-height:1.6;overflow-wrap:anywhere}.ranking-colour-key{font-size:12px;color:#536176;line-height:1.6}
.ranking-editor[data-ranking-pilot] .ranking-stack{display:grid;gap:12px}.ranking-editor[data-ranking-pilot] .ranking-step{margin:0;padding:16px;border:1px solid #d6dee9;border-radius:8px;min-width:0;background:#fff}.ranking-editor[data-ranking-pilot] .ranking-step--blocked{border-left:4px solid #a22528}.ranking-editor[data-ranking-pilot] .ranking-step legend{font-size:15px;font-weight:650;padding:0 6px}.ranking-editor[data-ranking-pilot] .ranking-step-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 12px}.ranking-editor[data-ranking-pilot] .ranking-step-tools .ranking-status{margin-left:auto}.ranking-editor[data-ranking-pilot] .ranking-step-tools button{min-height:36px;padding:5px 10px}.ranking-editor[data-ranking-pilot] .ranking-use{display:flex;align-items:center;gap:7px;margin:0}.ranking-editor[data-ranking-pilot] .ranking-step-content{display:grid;gap:10px}.ranking-editor[data-ranking-pilot] .ranking-step-content>label{display:grid;gap:5px;margin:0}.ranking-editor[data-ranking-pilot] .ranking-step-content>label:has(input[type=checkbox]){display:flex;align-items:center}.ranking-editor[data-ranking-pilot] .ranking-field-feedback{color:#a22528;margin:0;font-size:13px}.ranking-editor[data-ranking-pilot] .ranking-field-feedback:empty{display:none}.ranking-editor[data-ranking-pilot] .ranking-connector{font-size:11px;font-weight:650;letter-spacing:.03em;color:#536176;margin:14px 0 0}.ranking-editor[data-ranking-pilot] .ranking-field{margin:12px 0}.ranking-editor[data-ranking-pilot] .ranking-saved-source{margin:8px 0}.ranking-editor[data-ranking-pilot] [hidden]{display:none!important}.ranking-editor[data-ranking-pilot] input:not([type=checkbox]),.ranking-editor[data-ranking-pilot] select,.ranking-editor[data-ranking-pilot] textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0}.ranking-editor[data-ranking-pilot] .filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.ranking-editor[data-ranking-pilot] .filters>label{flex:1 1 190px;min-width:0}.ranking-editor[data-ranking-pilot] input:focus-visible,.ranking-editor[data-ranking-pilot] select:focus-visible,.ranking-editor[data-ranking-pilot] button:focus-visible,.ranking-editor[data-ranking-pilot] textarea:focus-visible{outline:3px solid #174abe;outline-offset:3px}
#ranking-dialog:has([data-ranking-pilot]){width:min(850px,calc(100vw - 24px));max-width:calc(100vw - 24px);box-sizing:border-box}#ranking-dialog [data-ranking-pilot]{border:0;padding:0}#ranking-dialog .ranking-preview-button{background:#174abe;color:#fff;border-color:#174abe}#ranking-dialog button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:560px){.ranking-editor[data-ranking-pilot] .ranking-step{padding:12px}.ranking-editor[data-ranking-pilot] .filters>label{flex-basis:100%}.ranking-editor[data-ranking-pilot] input,.ranking-editor[data-ranking-pilot] select,.ranking-editor[data-ranking-pilot] textarea{font-size:16px}.ranking-editor[data-ranking-pilot] .ranking-step-tools .ranking-status{margin-left:0}#ranking-dialog:has([data-ranking-pilot]){padding:14px}.ranking-state-bar{align-items:start}}
@media(pointer:coarse){.ranking-editor[data-ranking-pilot] button,.ranking-editor[data-ranking-pilot] select{min-height:44px}}

/* Department/group mapping and preset data-entry use the same labelled states. */
#ranking-settings-dialog:has([data-ranking-pilot]),#group-scheme-dialog{width:min(850px,calc(100vw - 24px));max-width:calc(100vw - 24px);box-sizing:border-box}
.group-scheme-editor .group-rule-card{display:flex;flex-wrap:wrap;align-items:end;gap:12px;border:1px solid #d6dee9;border-radius:8px;padding:16px;margin:12px 0;background:#fff}
.group-scheme-editor h4{flex-basis:100%;margin:0;color:#263e63}.group-scheme-editor label{display:flex;flex-direction:column;gap:5px;min-width:0}.group-scheme-editor .group-rule-card>label{flex:1 1 190px}.group-scheme-editor input,.group-scheme-editor select,.preset-variant-editor input,.preset-variant-editor select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.group-scheme-editor [hidden]{display:none!important}.group-scheme-editor [data-role=preview-result]{overflow:auto}.group-scheme-editor .report-tools{gap:10px}.group-scheme-editor button:disabled,.preset-variant-editor button:disabled{opacity:.5;cursor:not-allowed}
.group-scheme-editor :is(input,select,button):focus-visible,.preset-variant-editor :is(input,select,button):focus-visible{outline:3px solid #174abe;outline-offset:3px}
.preset-variant-editor .filters>label{flex:1 1 190px;min-width:0}
@media(max-width:560px){#group-scheme-dialog,#ranking-settings-dialog:has([data-ranking-pilot]){padding:14px}.group-scheme-editor .group-rule-card{padding:12px}.group-scheme-editor input,.group-scheme-editor select,.preset-variant-editor input,.preset-variant-editor select{font-size:16px}.group-scheme-editor .group-rule-card>label{flex-basis:100%}.group-scheme-editor button{max-width:100%;white-space:normal}}

.group-scheme-editor select{padding:10px 12px;border:1px solid #aebccc;border-radius:8px;background:#fff;color:#172033;min-height:44px;font:inherit}.group-scheme-editor .group-rule-card button{min-height:40px}

/* Collections uses the same form and serializers in guided and compact presentations. */
.ranking-collection-editor{min-width:0;margin:0;padding:16px;background:#fff;border-color:#d9e3f0;border-radius:12px;color:#172b4d}
.ranking-collection-editor > summary{display:none}
.ranking-collection-editor > p{font-size:13px;line-height:1.5;color:#526580;margin:0 0 12px}
.ranking-guide-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ranking-guide-controls button,.ranking-guide-navigation button{font-size:12px;min-height:36px;border-radius:7px}
.ranking-guide-switch{color:#245f9f;background:#f2f7ff;border:1px solid #ccdaed;padding:7px 10px}
.ranking-manage-actions{font-size:12px;position:relative}.ranking-manage-actions summary{font-weight:500;padding:8px 0}.ranking-manage-actions button{display:block;width:100%;margin:5px 0;white-space:normal}
.ranking-guide-progress{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 18px;counter-reset:guide}
.ranking-guide-progress li{flex:1;border-bottom:3px solid #e6ecf4;padding:7px 0;font-size:12px;color:#61728a;counter-increment:guide}.ranking-guide-progress li:before{content:counter(guide) ". "}.ranking-guide-progress .is-current{border-color:#2467ad;color:#17467b;font-weight:700}
.ranking-guide h3{font-size:18px;margin:0 0 8px}.ranking-guide-note{color:#526580;font-size:13px;line-height:1.5}
.ranking-guide-goals{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.ranking-goal{display:flex;flex-direction:column;gap:6px;align-items:start;text-align:left;padding:13px;border:1px solid #cbd9eb;background:#f7faff;border-radius:9px;min-width:0;white-space:normal}.ranking-goal strong{font-size:14px}.ranking-goal span{font-size:12px;font-weight:400;line-height:1.5;color:#536783}.ranking-goal:hover,.ranking-goal[aria-pressed=true]{border-color:#2e70b6;background:#edf5ff}
.ranking-guide-navigation{display:flex;justify-content:space-between;gap:8px;margin-top:14px}.ranking-guide-navigation .primary{background:#245f9f;border-color:#245f9f;color:#fff}
.ranking-collection-editor[data-ranking-pilot] .ranking-state-bar{margin:12px 0 8px;gap:5px}.ranking-collection-editor .ranking-status{font-size:11px;padding:3px 6px}
.ranking-collection-editor .ranking-feedback{font-size:12px;line-height:1.5;padding:8px 10px;margin:8px 0}.ranking-collection-editor #ranking-weight-total{margin:8px 0 14px}
.ranking-collection-editor[data-ranking-pilot] #ranking-flexible{border:0;padding:0;margin:14px 0 0}.ranking-collection-editor #ranking-flexible>legend{font-size:13px;font-weight:700}.ranking-collection-editor #ranking-flexible>p{display:none}
.ranking-collection-editor[data-ranking-pilot] .ranking-field{padding:10px 12px;margin:7px 0;background:#f8faff;border:1px solid #dce5f1;border-radius:9px}
.ranking-collection-editor .ranking-field>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ranking-signal-line{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.ranking-signal-name{font-size:14px;overflow-wrap:anywhere}
.ranking-collection-editor[data-ranking-pilot] .ranking-signal-line>label{display:flex;align-items:center;gap:5px;font-size:11px;margin:0;flex:none}.ranking-collection-editor[data-ranking-pilot] .ranking-signal-line input{width:62px;min-height:34px;padding:5px 7px;text-align:right;font-size:14px;border-radius:6px}
.ranking-signal-settings{margin-top:5px;min-width:0}.ranking-signal-settings>summary{font-size:12px;font-weight:500!important;line-height:1.5;color:#3c648e;overflow-wrap:anywhere}.ranking-signal-settings[open]{padding-top:4px}.ranking-collection-editor .ranking-signal-help{font-size:12px;line-height:1.5;margin:8px 0}
.ranking-collection-editor[data-ranking-pilot] .ranking-signal-settings .filters{gap:8px}.ranking-collection-editor[data-ranking-pilot] .ranking-signal-settings .filters>label{flex-basis:130px;font-size:12px}.ranking-collection-editor[data-ranking-pilot] .ranking-step-tools{margin:8px 0}.ranking-collection-editor[data-ranking-pilot] .ranking-step-tools .ranking-status{margin-left:0}.ranking-collection-editor .ranking-remove-field{font-size:12px;min-height:32px;margin-top:8px}
.ranking-general-settings,.ranking-always-first{margin:12px 0;padding:10px 0;border-top:1px solid #dce5f1;font-size:12px}.ranking-general-settings>label{display:block;margin:10px 0}.ranking-always-first>p{font-size:12px;line-height:1.5;color:#526580}.ranking-priority-option{display:flex;align-items:center;gap:8px;margin:9px 0}.ranking-priority-option input{flex:none;width:auto!important}
.ranking-collection-editor .ranking-summary{margin-top:14px;padding-top:12px}.ranking-collection-editor .ranking-summary h3{font-size:13px}.ranking-collection-editor .ranking-summary p{font-size:12px;line-height:1.5}.ranking-collection-editor .ranking-colour-key{display:none}.ranking-collection-editor #ranking-message{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.ranking-collection-editor .ranking-summary>summary{font-size:12px;color:#3c648e;font-weight:500}.ranking-scoring-helper{margin:14px 0 8px;font-size:12px;line-height:1.5;color:#526580}.ranking-season-choice{font-size:12px;line-height:1.5;color:#825300;background:#fff6df;padding:8px 10px;border-radius:6px;margin:8px 0}
.ranking-collection-editor .ranking-preview-button{background:#245f9f;color:#fff;border-color:#245f9f}.ranking-collection-editor button:disabled{opacity:.5;cursor:not-allowed}
.ranking-collection-editor .ranking-signal-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px;margin:8px 0;border:1px solid #cbd9eb;border-radius:8px;background:#f2f7ff}
.ranking-collection-editor .ranking-signal-picker button{white-space:normal;text-align:left;min-width:0;padding:9px;font-size:12px}
.ranking-collection-editor .ranking-signal-picker[hidden]{display:none}
.ranking-value-scores{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px;background:#f4f7fb;border-radius:6px}
.ranking-value-scores[hidden]{display:none}.ranking-value-scores p{font-size:12px;line-height:1.5;margin:0;color:#526580}.ranking-value-scores label{display:flex!important;align-items:center;justify-content:space-between;gap:12px;overflow-wrap:anywhere}.ranking-value-scores input{width:70px!important;min-width:60px;flex:none}
.ranking-collection-editor[data-editor-mode=guided][data-guide-step=preview] #ranking-flexible,.ranking-collection-editor[data-editor-mode=guided][data-guide-step=preview] .ranking-general-settings,.ranking-collection-editor[data-editor-mode=guided][data-guide-step=preview] .ranking-always-first{display:none!important}
@media(max-width:560px){.ranking-collection-editor{padding:12px}.ranking-guide-goals{grid-template-columns:1fr}.ranking-collection-editor[data-ranking-pilot] .ranking-signal-line input{font-size:16px;width:68px}.ranking-collection-editor[data-ranking-pilot] .ranking-signal-settings .filters>label{flex-basis:100%}.ranking-guide-controls{align-items:start}}
