.catalogue-editor{min-width:0;max-width:100%;color:var(--ink,#252a29)}
.catalogue-editor *{box-sizing:border-box}
.catalogue-editor .cat-tabs,.catalogue-editor .cat-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.catalogue-editor .cat-tabs .button{flex:1 1 9rem;min-width:0;white-space:normal}
.catalogue-editor .cat-tabs .button[aria-pressed=true]{background:var(--ink,#263e3a);color:#fff;border-color:var(--ink,#263e3a)}
.catalogue-editor .cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:12px}
.catalogue-editor .cat-grid>*{min-width:0;max-width:100%}
.catalogue-editor .cat-grid>.cat-full{grid-column:1/-1}
.catalogue-editor .cat-record,.catalogue-editor .cat-section,.catalogue-editor .cat-preview{padding:15px;border:1px solid var(--line,#d8dcd9);border-radius:10px;margin:12px 0;background:var(--paper,#fff);min-width:0}
.catalogue-editor .cat-record h3,.catalogue-editor .cat-record h4{margin:0 0 6px;overflow-wrap:anywhere}
.catalogue-editor .cat-record p{margin:6px 0;overflow-wrap:anywhere}
.catalogue-editor .cat-record-header{display:flex;gap:12px;align-items:flex-start}
.catalogue-editor .cat-record-header>div{flex:1;min-width:0}
.catalogue-editor .cat-thumb{width:70px;height:70px;object-fit:contain;background:#f5f5f2;border-radius:6px;flex:0 0 70px}
.catalogue-editor .cat-photo{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;background:#f5f5f2;border-radius:8px;margin:8px 0}
.catalogue-editor .cat-photo-placeholder{border:1px dashed var(--line,#b5c1ba);padding:18px;text-align:center;color:var(--muted,#58635f)}
.catalogue-editor .cat-status{display:inline-block;border-radius:5px;padding:3px 7px;font-size:.8rem;font-weight:650;background:#edf1ee;color:#3c4e46}
.catalogue-editor .cat-status.retired{background:#f3e9e6;color:#704b41}
.catalogue-editor .cat-status.draft{background:#f4f0df;color:#6e5a28}
.catalogue-editor .cat-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:8px}
.catalogue-editor .cat-choice-grid .check-field{align-items:flex-start;margin:0;min-width:0;overflow-wrap:anywhere}
.catalogue-editor .cat-check{display:flex;gap:8px;align-items:flex-start;min-width:0;margin:8px 0}
.catalogue-editor .cat-check input{flex:0 0 auto;width:auto;margin-top:4px}
.catalogue-editor .cat-check span{min-width:0;overflow-wrap:anywhere}
.catalogue-editor .cat-table-row{display:grid;grid-template-columns:minmax(8rem,1.2fr) minmax(5rem,1fr) minmax(5rem,1fr);gap:10px;padding:12px 0;border-bottom:1px solid var(--line,#d8dcd9);align-items:end}
.catalogue-editor .cat-table-row strong{align-self:center;overflow-wrap:anywhere}
.catalogue-editor label.field{min-width:0;max-width:100%;margin:0 0 10px}
.catalogue-editor input:not([type=checkbox]):not([type=radio]),.catalogue-editor select,.catalogue-editor textarea{max-width:100%;min-width:0;width:100%}
.catalogue-editor input[type=file]{font-size:.9rem}
.catalogue-editor button{overflow-wrap:anywhere;max-width:100%}
.catalogue-editor .cat-pending{font-size:.875rem;color:var(--muted,#58635f);margin:6px 0 14px}
.catalogue-editor .cat-empty{padding:20px 0;color:var(--muted,#58635f)}
.catalogue-editor .cat-price{font-size:1.1rem;font-weight:700}
.catalogue-editor .cat-help{font-size:.85rem;color:var(--muted,#58635f);line-height:1.5}
.catalogue-editor .cat-preview{background:#f9faf6}
.catalogue-editor .cat-preview dt{font-weight:650;margin-top:10px}
.catalogue-editor .cat-preview dd{margin:3px 0;overflow-wrap:anywhere;white-space:pre-wrap}
.catalogue-editor .cat-warning{padding:10px;border-left:3px solid #a37d35;background:#fbf5e6;color:#635025}
@media(max-width:480px){.catalogue-editor .cat-record,.catalogue-editor .cat-section,.catalogue-editor .cat-preview{padding:11px}.catalogue-editor .cat-table-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.catalogue-editor .cat-table-row>strong{grid-column:1/-1}.catalogue-editor .cat-actions>.button{flex:1 1 9rem}.catalogue-editor .cat-tabs .button{flex-basis:7rem}}
/* v42.49: prices stay with their ring base, design or selected option. */
#operations-dialog.catalogue-pricing-dialog{width:min(1120px,calc(100vw - 28px));max-width:1120px}
.catalogue-editor .cat-primary-nav{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:10px;margin:12px 0 8px}
.catalogue-editor .cat-primary-nav .button{justify-content:flex-start;text-align:left;line-height:1.35;white-space:normal;padding:14px;min-height:64px}
.catalogue-editor .cat-primary-nav .button>span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#edf1f3;font-size:.85rem}
.catalogue-editor .cat-primary-nav [aria-pressed=true]{border-color:var(--blue,#30566b);background:#edf4f7;box-shadow:inset 0 -3px var(--blue,#30566b)}
.catalogue-editor .cat-primary-nav [aria-pressed=true]>span{background:var(--blue,#30566b);color:#fff}
.catalogue-editor .cat-secondary-nav{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:18px;margin:6px 0 14px}
.catalogue-editor .cat-secondary-nav [aria-pressed=true]{font-weight:750;text-decoration:underline;text-underline-offset:5px}
.catalogue-editor .cat-design-tabs .button{flex:0 1 auto}
.catalogue-editor .cat-context{padding:16px 0 10px;border-top:1px solid var(--line,#dfe4e8)}
.catalogue-editor .cat-context h3{font-size:1.2rem;margin:0 0 6px}
.catalogue-editor .cat-context p{margin:0;max-width:75ch}
.catalogue-editor .cat-bases-layout{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(0,2fr);gap:20px;align-items:start}
.catalogue-editor .cat-base-list{display:grid;gap:8px}
.catalogue-editor .cat-base-button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:66px;border:1px solid var(--line,#dfe4e8);border-radius:8px;background:#fff;padding:12px;text-align:left;line-height:1.3}
.catalogue-editor .cat-base-button small{font-size:.78rem;color:var(--muted,#64727c)}
.catalogue-editor .cat-base-button[aria-pressed=true]{background:#edf4f7;border-color:var(--blue,#30566b);box-shadow:inset 3px 0 var(--blue,#30566b)}
.catalogue-editor .cat-base-detail{min-width:0;border:1px solid var(--line,#dfe4e8);border-radius:10px;padding:18px;background:#fff}
.catalogue-editor .cat-section-heading h4{font-size:1.16rem;margin:3px 0 16px}
.catalogue-editor .cat-kicker{font-size:.75rem;letter-spacing:.055em;text-transform:uppercase;color:var(--muted,#64727c);font-weight:700}
.catalogue-editor .cat-metal-head,.catalogue-editor .cat-metal-row{display:grid;grid-template-columns:84px minmax(0,1fr) minmax(130px,.9fr);gap:14px;align-items:center}
.catalogue-editor .cat-metal-head{border-bottom:2px solid var(--line,#dfe4e8);padding:10px 0;font-size:.8rem;font-weight:700}
.catalogue-editor .cat-metal-row{padding:13px 0;border-bottom:1px solid var(--line,#dfe4e8)}
.catalogue-editor .cat-metal-row>strong{font-size:.9rem;overflow-wrap:anywhere}
.catalogue-editor .cat-metal-row .field{margin:0}
.catalogue-editor .cat-metal-row .field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalogue-editor .cat-metal-row .cat-check{margin:0;min-height:44px;align-items:center;justify-content:center}
.catalogue-editor .cat-metal-row .cat-check>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalogue-editor .cat-metal-row input[type=checkbox]{margin:0}
.catalogue-editor .cat-manual-price{font-size:.84rem;color:var(--muted,#64727c)}
.catalogue-editor .cat-card-price{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;border-top:1px solid var(--line,#dfe4e8);padding-top:8px!important}
.catalogue-editor .cat-card-price>span{font-size:.85rem;color:var(--muted,#64727c)}
.catalogue-editor .cat-card-price>strong{font-size:1.05rem}
.catalogue-editor .cat-preset-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:22px;align-items:start}
.catalogue-editor .cat-preset-fields{min-width:0}
.catalogue-editor .cat-preset-fields h4{margin:0 0 12px;font-size:1rem}
.catalogue-editor .cat-preset-fields .cat-section .cat-section{border:0;padding:0;margin:16px 0 0;background:transparent}
.catalogue-editor .cat-preset-fields .cat-section .cat-section h3{font-size:.9rem;margin:0 0 8px}
.catalogue-editor .cat-offered-metals{border:0;padding:0;margin:14px 0 0;min-width:0}
.catalogue-editor .cat-offered-metals legend{font-size:.88rem;font-weight:650;margin-bottom:4px}
.catalogue-editor .cat-option-prices{position:sticky;top:12px;min-width:0;border:1px solid #c8d7dd;border-radius:10px;padding:16px;background:#f1f6f8}
.catalogue-editor .cat-option-prices h4{font-size:1.1rem;margin:4px 0 10px;overflow-wrap:anywhere}
.catalogue-editor .cat-option-prices>.subtle-note{font-size:.83rem;margin:8px 0;line-height:1.45}
.catalogue-editor .cat-option-total{padding:13px 0;border-top:1px solid #c8d7dd}
.catalogue-editor .cat-option-total>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.catalogue-editor .cat-option-total>div strong{font-size:.9rem;min-width:0;overflow-wrap:anywhere}
.catalogue-editor .cat-option-total>div>span{font-size:1.2rem;font-weight:750;white-space:nowrap}
.catalogue-editor .cat-option-total details{font-size:.8rem;margin-top:8px}
.catalogue-editor .cat-option-total summary{cursor:pointer;line-height:1.4}
.catalogue-editor .cat-option-total dl{margin:9px 0 0}
.catalogue-editor .cat-option-total dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:7px 0}
.catalogue-editor .cat-option-total dt{min-width:0;overflow-wrap:anywhere;font-weight:450}
.catalogue-editor .cat-option-total dd{margin:0;white-space:nowrap;font-weight:650}
.catalogue-editor .cat-source-links{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid #c8d7dd;padding-top:12px}
.catalogue-editor .cat-source-links .button{font-size:.78rem;min-height:38px;padding:6px 8px;text-align:left}
.catalogue-editor .cat-option-prices .cat-warning{font-size:.8rem;margin:9px 0;padding:8px}
@media(max-width:820px){.catalogue-editor .cat-preset-layout{grid-template-columns:1fr}.catalogue-editor .cat-option-prices{position:static}.catalogue-editor .cat-bases-layout{grid-template-columns:1fr}.catalogue-editor .cat-base-list{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.catalogue-editor .cat-base-button{min-height:58px}.catalogue-editor .cat-primary-nav .button{font-size:.83rem;padding:10px;gap:6px}.catalogue-editor .cat-primary-nav .button>span{display:none}}
@media(max-width:500px){#operations-dialog.catalogue-pricing-dialog{width:calc(100vw - 12px);max-width:calc(100vw - 12px);padding:14px}.catalogue-editor .cat-primary-nav{grid-template-columns:1fr;gap:6px}.catalogue-editor .cat-primary-nav .button{min-height:44px;padding:9px 12px}.catalogue-editor .cat-primary-nav .button>span{display:grid;flex-basis:22px;width:22px;height:22px}.catalogue-editor .cat-secondary-nav{justify-content:flex-start}.catalogue-editor .cat-base-detail{padding:12px}.catalogue-editor .cat-metal-head{display:none}.catalogue-editor .cat-metal-row{grid-template-columns:34px minmax(0,1fr);gap:8px 12px}.catalogue-editor .cat-metal-row>div:first-child{grid-column:1;grid-row:1}.catalogue-editor .cat-metal-row>strong{grid-column:2;grid-row:1}.catalogue-editor .cat-metal-row>div:last-child{grid-column:2;grid-row:2}.catalogue-editor .cat-metal-row .field-label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;font-size:.75rem;color:var(--muted,#64727c)}.catalogue-editor .cat-metal-row .cat-check{min-height:35px}.catalogue-editor .cat-option-prices{padding:12px}.catalogue-editor .cat-option-total>div>span{font-size:1.05rem}}

.catalogue-editor .cat-validation{border:1px solid #b98335;border-left:4px solid #b98335;border-radius:8px;background:#fff8e9;padding:14px;margin:12px 0;color:#4c391c}
.catalogue-editor .cat-validation ul{margin:8px 0;padding-left:20px}
.catalogue-editor .cat-validation .button{text-align:left;white-space:normal;background:transparent;border:0;padding:5px 0;text-decoration:underline;font-weight:500}
.catalogue-editor [aria-invalid=true]{outline:2px solid #a76018;outline-offset:2px}

/* Keep catalogue save feedback visible while the form content scrolls. */
#operations-dialog.catalogue-pricing-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
#operations-dialog.catalogue-pricing-dialog>.dialog-topline{flex:0 0 auto}
#operations-dialog.catalogue-pricing-dialog>form{min-height:0;overflow-y:auto;overscroll-behavior:contain}
#operations-dialog.catalogue-pricing-dialog .catalogue-editor{display:contents}
.catalogue-editor .cat-save-banner{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin:0 0 12px;background:#edf5f2;border:1px solid #c4d9d0;border-radius:8px;box-shadow:0 3px 8px #17283212}
.catalogue-editor .cat-save-banner p{margin:0;font-size:.88rem;line-height:1.45;overflow-wrap:anywhere}
.catalogue-editor .cat-save-banner [data-save-tone=error]{color:#a12f3c}
.catalogue-editor .cat-save-banner .button{flex:0 0 auto}
#operations-dialog.catalogue-pricing-dialog>form>.form-error{display:none}
.catalogue-editor .cat-design-identity{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.65fr);margin-bottom:12px}
.catalogue-editor .cat-item-code{max-width:12rem}
@media(max-width:600px){.catalogue-editor .cat-design-identity{grid-template-columns:1fr}.catalogue-editor .cat-save-banner{align-items:flex-start;flex-direction:column;gap:8px}.catalogue-editor .cat-save-banner .button{min-height:36px;padding:6px 10px}}
