/* Barkod ve ürün kodu ayarı: kodun bölümleri renkli parçalarla gösterilir. Renkler NUI belirteçlerinden gelir. */
.ov-code-settings { display: flex; flex-direction: column; gap: 16px; max-width: 860px; }
.ov-code-settings h3 { margin: 0 0 8px; font-size: 15px; }
.ov-code-lead { margin: 0; color: var(--nui-text-muted); line-height: 1.6; }

.ov-code-settings [data-part="marker"]    { --ov-part: var(--nui-primary); }
.ov-code-settings [data-part="sequence"]  { --ov-part: var(--nui-info); }
.ov-code-settings [data-part="storeCode"] { --ov-part: var(--nui-warning); }
.ov-code-settings [data-part="variant"]   { --ov-part: var(--nui-success); }

.ov-code-anatomy { margin: 0; padding: 16px; border: 1px solid var(--nui-border); border-radius: var(--nui-radius); background: var(--nui-bg); display: flex; flex-direction: column; gap: 16px; }
.ov-code-parts { display: flex; flex-wrap: wrap; gap: 6px; }
.ov-code-part { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 12px; border-radius: var(--nui-radius-sm); border-bottom: 3px solid var(--ov-part); background: color-mix(in srgb, var(--ov-part) 10%, transparent); min-width: 0; }
.ov-code-chars { font-family: var(--nui-font-mono); font-size: 26px; font-weight: 600; letter-spacing: .12em; color: var(--nui-text); }
.ov-code-part-label { font-size: var(--nui-font-size-sm); font-weight: 600; color: var(--nui-text); }
.ov-code-part small { font-size: var(--nui-font-size-xs); color: var(--nui-text-muted); }
.ov-code-legend { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px 16px; margin: 0; }
.ov-code-legend > div { padding-left: 10px; border-left: 3px solid var(--ov-part); }
.ov-code-legend dt { font-size: var(--nui-font-size-sm); font-weight: 600; }
.ov-code-legend dd { margin: 2px 0 0; font-size: var(--nui-font-size-sm); color: var(--nui-text-muted); line-height: 1.5; }

.ov-code-examples ul { list-style: none; margin: 0 0 6px; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.ov-code-examples li { display: flex; gap: 12px; align-items: baseline; }
.ov-code-examples li span { min-width: 110px; font-size: var(--nui-font-size-base); color: var(--nui-text-muted); }
.ov-code-examples code, .ov-code-locked code { font-family: var(--nui-font-mono); font-size: 14px; letter-spacing: .06em; }

.ov-code-form { display: flex; flex-direction: column; gap: 12px; padding-top: 16px; border-top: 1px solid var(--nui-border); }
.ov-code-input-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ov-code-input-row label { font-weight: 600; }
.ov-code-settings .ov-code-input { width: 84px; max-width: 84px; flex: 0 0 auto; text-align: center; font-family: var(--nui-font-mono); font-size: 20px; letter-spacing: .2em; text-transform: uppercase; }
.ov-code-check-error { color: var(--nui-danger); font-size: var(--nui-font-size-base); }
.ov-code-rules { margin: 0; padding-left: 18px; color: var(--nui-text-muted); font-size: var(--nui-font-size-base); line-height: 1.7; }
.ov-code-locked { padding-top: 16px; border-top: 1px solid var(--nui-border); }
.ov-code-locked p { margin: 0 0 6px; }

/* nui-copy dışında kalan kod etiketi (ör. tedarikçi adı, "Barkod"). */
.ov-copy-label { color: var(--nui-text-muted); font-size: .92em; }
.ov-origin-badge { margin-left: 6px; vertical-align: middle; }
.ov-code-list { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; min-width: 0; }
/* Listede ürün kodu ve tedarikçi kodları kesilmez; sığmazsa alt satıra geçer. */
.ov-catalog-merged .ov-product-identity-text .ov-product-codes,
.ov-product-identity-text .ov-product-codes { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 0; white-space: normal; overflow: visible; }
.ov-product-codes > span { white-space: nowrap; }
.ov-product-identity-text .ov-origin-badge { align-self: flex-start; margin: 2px 0; }
/* Kod satırı sabit sütunlu: ürün kodu | marka | tedarikçi kodları. Her satırda aynı hizadan başlar (marka veya kod
   uzunluğu yanındakini kaydırmaz); birden çok tedarikçi kodu üçüncü sütunda yan yana, sığmazsa alttadır. */
.ov-catalog-merged .ov-product-identity-text .ov-product-codes { display: grid; grid-template-columns: 128px 96px minmax(0, 1fr); column-gap: 10px; align-items: center; }
.ov-product-codes > .ov-product-brand { overflow: hidden; text-overflow: ellipsis; }
.ov-product-codes > .ov-product-sources { display: flex; flex-wrap: wrap; column-gap: 12px; min-width: 0; }
/* Ürün adı solda, Set / Pazaryerinden rozeti hücrenin sağ ucunda: rozetler alt alta hizalı, ad uzunsa … ile kısalır. */
.ov-product-title-line { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ov-product-title-line .nui-link { flex: 0 1 auto; min-width: 0; margin-right: auto; }
.ov-product-identity-text .ov-product-title-line .ov-origin-badge { flex: none; align-self: center; margin: 0; min-width: 96px; justify-content: center; line-height: 14px; padding-block: 0; }
/* Ürün detayı yan kartında kodlar kesilmez; dar alanda kırılarak alt satıra geçer. */
.ov-merge-window { display: flex; flex-direction: column; gap: 14px; }
.ov-merge-window .ov-import-radio.ov-merge-target { display: grid; grid-template-columns: 16px minmax(0, 320px) 120px 56px; justify-content: start; align-items: center; gap: 8px; }
.ov-merge-target-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ov-merge-target small { color: var(--nui-text-muted); text-align: right; }
.ov-merge-notes { margin: 0; padding-left: 18px; font-size: var(--nui-font-size-base); color: var(--nui-text-muted); line-height: 1.6; }
.ov-merge-confirm { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--nui-warning); border-radius: var(--nui-radius-sm); font-weight: 600; }
