/* ===== AtmosStock (Views/Modules/Stock/*, js/pages/stock-*.js) =====
   Ortak parçalar (cf-*, sd-*, rp-filters, wf-check, field-row) diğer modüllerle aynı; stoğa özgüler sk-*. */

.stock-page { display: flex; flex-direction: column; gap: 14px; }
.stock-page [hidden], .modal-overlay[data-stock] [hidden] { display: none !important; }   /* display:flex/grid verilen öğelerde hidden geçerli kalsın */
.stock-page .btn-sm, .modal-overlay[data-stock] .btn-sm { width: auto; }
.stock-page .cf-tr[data-id], .modal-overlay[data-stock] .cf-tr[data-var], .stock-page a.cf-tr { cursor: pointer; color: inherit; text-decoration: none; }
.stock-page .cf-tr[data-id]:hover, .stock-page a.cf-tr:hover, .modal-overlay[data-stock] .cf-tr[data-var]:hover { background: var(--bg-elevated); }
.stock-page .cf-tr > span, .modal-overlay[data-stock] .cf-tr > span { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.stock-page .cf-tr > span:last-child svg { width: 16px; height: 16px; color: var(--text-muted); }
.stock-page .cf-tr > span > .cf-chip, .modal-overlay[data-stock] .cf-tr > span > .cf-chip { align-self: flex-start; }
.stock-page .cf-tr.off, .modal-overlay[data-stock] .cf-tr.off { opacity: .55; }
.stock-page a.sd-kpi { color: inherit; text-decoration: none; }
.stock-page a.sd-kpi:hover { border-color: var(--accent); }
.modal-overlay[data-stock] .modal { max-height: 92vh; overflow-y: auto; }
.modal-overlay[data-stock] .sk-wide { max-width: 920px; }
.stock-page .rp-filters input:not([type="checkbox"]), .stock-page .rp-filters select, .sk-rows input, .sk-rows select, .sk-seq-table input, .sk-in, .sk-map select {
    padding: 7px 10px; border: 1px solid var(--border-strong); border-radius: 10px; background: var(--bg-surface); color: var(--text-primary); font: inherit; font-size: 13px; }
.stock-page .sk-search { min-width: 260px; flex: 1; width: auto; }
.stock-page .sk-filter { width: auto; max-width: 220px; }
.sk-grow { flex: 2; }
.sk-acts { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.sk-checks { display: flex; gap: 18px; flex-wrap: wrap; margin: 6px 0 10px; }
.sk-checks.sk-col { flex-direction: column; gap: 8px; }
.sk-mt { margin-top: 14px; }
.sk-align { display: flex; align-items: flex-end; padding-bottom: 8px; }
.sk-num { font-variant-numeric: tabular-nums; }
.sk-pos { color: var(--success, #15803d); font-weight: 600; }
.sk-neg { color: var(--danger, #b91c1c); font-weight: 600; }
.sk-src { color: var(--accent2, #2563eb) !important; }
.sk-pager { display: flex; justify-content: center; align-items: center; gap: 10px; }
.sk-grid2 { display: grid; grid-template-columns: 1.2fr 1fr; gap: 14px; }
.sk-chart { height: 240px; }

/* ---- Tablolar (sütun genişlikleri) ---- */
.sk-prod-table .cf-tr { grid-template-columns: minmax(200px, 2.4fr) 1.2fr 1fr 1fr .9fr 1fr 28px; }
.sk-prod-table.sk-nocost .cf-tr { grid-template-columns: minmax(200px, 2.4fr) 1.2fr 1fr 1fr .9fr 28px; }
.sk-crit-table .cf-tr { grid-template-columns: 2fr 1fr .9fr; }
.sk-move-table .cf-tr { grid-template-columns: 1.1fr 1.8fr 1.1fr .9fr 1fr 1.6fr; }
.sk-move-table.sk-noitem .cf-tr, #spMoves .cf-tr { grid-template-columns: 1.1fr 1.1fr .9fr 1fr 1.6fr; }
.sk-whq-table .cf-tr { grid-template-columns: 2fr 1fr 1fr 1fr; }
.sk-var-table .cf-tr { grid-template-columns: 2.4fr 1fr 1fr; }
.sk-cat-table .cf-tr { grid-template-columns: 2.4fr 1fr 70px; }
.sk-seq-table .cf-tr { grid-template-columns: 1.6fr 1fr 1fr .6fr 1fr; }
.sk-seq-table input { width: 100%; }
.sk-imp-sample .cf-tr { grid-template-columns: repeat(8, minmax(80px, 1fr)); font-size: 12px; }
.sk-imp-result { padding: 10px 12px; border-radius: 12px; background: var(--bg-elevated); font-size: 13px; }
.sk-imp-result ul { margin: 6px 0 0 18px; color: var(--text-secondary); }
.sk-map { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px 12px; margin: 10px 0; }
.sk-map .field { margin: 0; display: flex; flex-direction: column; gap: 4px; font-size: 12px; }

/* ---- Satır düzenleyiciler (ek birim, barkod) ---- */
.sk-rows { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.sk-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sk-row input[data-f="name"], .sk-row input[data-f="code"] { flex: 1; min-width: 140px; }
.sk-row input[data-f="factor"] { width: 90px; }

/* ---- Ürün arama önerileri ---- */
.sk-suggest { position: absolute; top: 100%; left: 0; right: 0; z-index: 30; margin-top: 4px; padding: 4px; border: 1px solid var(--border); border-radius: 12px;
    background: var(--bg-surface); box-shadow: 0 10px 30px rgba(0,0,0,.15); max-height: 320px; overflow-y: auto; }
.sk-suggest button { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; width: 100%; padding: 7px 10px; border: 0; border-radius: 8px; background: none;
    color: inherit; font: inherit; text-align: left; cursor: pointer; }
.sk-suggest button:hover { background: var(--bg-elevated); }
.sk-suggest small { color: var(--text-muted); font-size: 12px; }

/* ---- Depolar ---- */
.sk-wh-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.sk-wh { position: relative; display: flex; flex-direction: column; gap: 5px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 16px; background: var(--bg-surface); cursor: pointer; }
.sk-wh:hover, .sk-wh.on { border-color: var(--accent); }
.sk-wh.on { box-shadow: inset 4px 0 0 var(--accent); }
.sk-wh.off { opacity: .6; }
.sk-wh-h { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding-right: 28px; }
.sk-wh-h b { font-size: 15px; }
.sk-wh-h .cf-chip svg { width: 12px; height: 12px; vertical-align: -1px; }
.sk-wh-stats { display: flex; gap: 14px; flex-wrap: wrap; font-size: 13px; color: var(--text-secondary); }
.sk-wh-edit { position: absolute; top: 10px; right: 10px; }
.sk-users { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 6px; padding: 10px; border-radius: 12px; background: var(--bg-elevated); }
.sk-users p { grid-column: 1 / -1; margin: 0; }
.sk-loc-wrap { display: grid; grid-template-columns: 240px 1fr; gap: 14px; }
.sk-loc-tree { display: flex; flex-direction: column; gap: 2px; max-height: 520px; overflow-y: auto; }
.sk-node { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; padding: 6px 10px 6px calc(10px + var(--d, 0) * 14px); border: 0; border-radius: 8px;
    background: none; color: inherit; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.sk-node:hover { background: var(--bg-elevated); }
.sk-node.on { background: color-mix(in srgb, var(--accent) 14%, transparent); font-weight: 600; }
.sk-node.off { opacity: .5; }
.sk-node small { color: var(--text-muted); font-size: 11px; font-weight: 400; }
.sk-loc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 8px; align-content: start; }
.sk-bin { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 4px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-surface);
    color: inherit; font: inherit; cursor: pointer; }
.sk-bin b { font-size: 13px; }
.sk-bin small { font-size: 11px; color: var(--text-muted); }
.sk-bin.used { background: color-mix(in srgb, var(--accent) 12%, var(--bg-surface)); }
.sk-bin.high { background: color-mix(in srgb, #f59e0b 22%, var(--bg-surface)); border-color: #f59e0b; }
.sk-bin.full { background: color-mix(in srgb, #ef4444 20%, var(--bg-surface)); border-color: #ef4444; }
.sk-bin.off { opacity: .45; }

@media (max-width: 900px) {
    .sk-grid2, .sk-loc-wrap { grid-template-columns: 1fr; }
    .sk-prod-table .cf-tr { grid-template-columns: 2fr 1fr 1fr; }
    .sk-prod-table .cf-tr > span:nth-child(2), .sk-prod-table .cf-tr > span:nth-child(4), .sk-prod-table .cf-tr > span:nth-child(6), .sk-prod-table .cf-tr > span:nth-child(7) { display: none; }
    .sk-move-table .cf-tr { grid-template-columns: 1fr 1fr 1fr; }
    .sk-move-table .cf-tr > span:nth-child(3), .sk-move-table .cf-tr > span:nth-child(6) { display: none; }
    .stock-page .sk-search { min-width: 0; }
}

/* ---- Fişler, stok durumu, rezervasyon (2. sprint) ---- */
.sk-vch-table .cf-tr { grid-template-columns: 1.4fr 1fr 1fr 1.4fr .9fr .9fr 28px; }
.sk-vline-table .cf-tr { grid-template-columns: 2fr 1fr 1.8fr 1fr; }
.sk-bal-table .cf-tr { grid-template-columns: 2fr 1.1fr 1fr 1fr .9fr .9fr .9fr; }
.sk-exp-table .cf-tr { grid-template-columns: 2fr 1fr 1.2fr 1.2fr .9fr; }
.sk-res-table .cf-tr { grid-template-columns: 2fr 1.1fr .9fr 1.4fr 1.1fr 1.6fr; }
.sk-warnrow { background: color-mix(in srgb, #ef4444 8%, transparent); }
.sk-scan input { width: 100%; padding: 10px 12px; border: 2px dashed var(--border-strong); border-radius: 12px; background: var(--bg-surface); color: var(--text-primary); font: inherit; }
.sk-scan input:focus { border-color: var(--accent); outline: none; }
.sk-lines { display: flex; flex-direction: column; gap: 8px; margin: 8px 0 12px; }
.sk-line { padding: 10px 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg-surface); }
.sk-line-h { display: flex; align-items: baseline; gap: 8px; }
.sk-line-h b { font-size: 14px; }
.sk-line-h .icon-mini { margin-left: auto; }
.sk-line-f { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; align-items: center; }
.sk-line-f input, .sk-line-f select, .sk-line-f textarea { padding: 7px 10px; border: 1px solid var(--border-strong); border-radius: 10px; background: var(--bg-surface); color: var(--text-primary); font: inherit; font-size: 13px; }
.sk-line-f input[data-f="qty"] { width: 90px; font-weight: 600; }
.sk-line-f input[data-f="cost"] { width: 120px; }
.sk-line-f textarea { flex: 1; min-width: 220px; }
.sk-line-f small { flex-basis: 100%; }
@media (max-width: 900px) {
    .sk-vch-table .cf-tr { grid-template-columns: 1.4fr 1fr 1fr; }
    .sk-vch-table .cf-tr > span:nth-child(3), .sk-vch-table .cf-tr > span:nth-child(4), .sk-vch-table .cf-tr > span:nth-child(7) { display: none; }
    .sk-bal-table .cf-tr { grid-template-columns: 2fr 1fr 1fr; }
    .sk-bal-table .cf-tr > span:nth-child(2), .sk-bal-table .cf-tr > span:nth-child(4), .sk-bal-table .cf-tr > span:nth-child(6), .sk-bal-table .cf-tr > span:nth-child(7) { display: none; }
    .sk-res-table .cf-tr { grid-template-columns: 1.6fr 1fr 1.4fr; }
    .sk-res-table .cf-tr > span:nth-child(2), .sk-res-table .cf-tr > span:nth-child(4), .sk-res-table .cf-tr > span:nth-child(5) { display: none; }
}

/* ---- Transfer ve sayım (3. sprint) ---- */
.sk-trf-table .cf-tr { grid-template-columns: 1.1fr 2fr 1fr 1.1fr 1.2fr 28px; }
.sk-tline-table .cf-tr { grid-template-columns: 2fr .8fr .9fr 1.4fr 1.6fr; }
.sk-cnt-table .cf-tr { grid-template-columns: 1.3fr 1.4fr 1.1fr .9fr 1fr .9fr; }
.sk-cline-table .cf-tr { grid-template-columns: 2fr 1.4fr .7fr 1fr .8fr; }
.sk-qin { width: 90px; padding: 5px 8px; }
.sk-tline-table .sk-in, .sk-cline-table .sk-in { padding: 5px 8px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); font: inherit; font-size: 13px; }
.sk-flow { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.sk-flow svg { width: 14px; height: 14px; color: var(--text-muted); }
.sk-step { padding: 4px 10px; border-radius: 999px; background: var(--bg-elevated); color: var(--text-muted); font-size: 12px; }
.sk-step.done { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--accent); font-weight: 600; }
.sk-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.sk-tags .icon-mini { width: 18px; height: 18px; }
.sk-count-scan { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; padding: 10px 12px; border-radius: 12px; background: var(--bg-elevated); }
.sk-count-scan .field { margin: 0; }
.sk-count-scan input:not(#scCode), .sk-count-scan select { padding: 9px 10px; border: 1px solid var(--border-strong); border-radius: 10px; background: var(--bg-surface); color: var(--text-primary); font: inherit; }
.sk-count-scan #scQty { width: 80px; }
.sk-kpis-sm { margin-bottom: 8px; }
.sk-diffrow { background: color-mix(in srgb, #f59e0b 8%, transparent); }
@media (max-width: 900px) {
    .sk-trf-table .cf-tr { grid-template-columns: 1.2fr 1.6fr 1fr; }
    .sk-trf-table .cf-tr > span:nth-child(3), .sk-trf-table .cf-tr > span:nth-child(4), .sk-trf-table .cf-tr > span:nth-child(6) { display: none; }
    .sk-cline-table .cf-tr { grid-template-columns: 1.6fr .8fr 1fr .8fr; }
    .sk-cline-table .cf-tr > span:nth-child(2) { display: none; }
    .sk-cnt-table .cf-tr { grid-template-columns: 1.3fr 1.4fr .9fr; }
    .sk-cnt-table .cf-tr > span:nth-child(3), .sk-cnt-table .cf-tr > span:nth-child(5), .sk-cnt-table .cf-tr > span:nth-child(4) { display: none; }
}

/* ---- Satın alma (4. sprint) ---- */
.sk-sug-table .cf-tr { grid-template-columns: 34px 2fr 1.1fr 1.4fr 1fr 1.6fr; }
.sk-po-table .cf-tr { grid-template-columns: 1.1fr 1.6fr 1.1fr 1fr .9fr 1.1fr; }
.sk-pol-table .cf-tr { grid-template-columns: 2fr .9fr 1fr 1fr 1.2fr; }
.sk-grn-table .cf-tr { grid-template-columns: 1.1fr 1.6fr 1.1fr 1.4fr 1fr; }
.sk-sup-table .cf-tr { grid-template-columns: 1.8fr 1.6fr 1.1fr 1.1fr .9fr; }
.sk-sitem-table .cf-tr { grid-template-columns: 1.8fr 1.2fr 1.2fr 1fr 70px; }
.sk-sug-table .sk-in, .sk-pol-table .sk-in, .sk-sitem-table .sk-in { padding: 5px 8px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); font: inherit; font-size: 13px; max-width: 100%; }
.sk-line-f .sk-short, .sk-line-f input[data-f="discount"] { width: 70px; }
.sk-line-f input[data-f="price"] { width: 120px; }
.sk-req-list { display: flex; flex-direction: column; gap: 10px; }
.stock-page .br-line, .modal-overlay[data-stock] .br-line { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border-bottom: 1px solid var(--border); font-size: 13px; }
.modal-overlay[data-stock] .br-line[data-rec] { cursor: pointer; }
@media (max-width: 900px) {
    .sk-sug-table .cf-tr { grid-template-columns: 30px 1.6fr 1fr 1.2fr; }
    .sk-sug-table .cf-tr > span:nth-child(3), .sk-sug-table .cf-tr > span:nth-child(4) { display: none; }
    .sk-po-table .cf-tr, .sk-grn-table .cf-tr, .sk-sup-table .cf-tr { grid-template-columns: 1.2fr 1.4fr 1fr; }
    .sk-po-table .cf-tr > span:nth-child(3), .sk-po-table .cf-tr > span:nth-child(4), .sk-po-table .cf-tr > span:nth-child(5) { display: none; }
    .sk-grn-table .cf-tr > span:nth-child(3), .sk-grn-table .cf-tr > span:nth-child(4) { display: none; }
    .sk-sup-table .cf-tr > span:nth-child(2), .sk-sup-table .cf-tr > span:nth-child(3) { display: none; }
}

/* ---- Mobil depo (5. sprint; bf-* saha uygulaması görünümü ortak) ---- */
.sk-mob { max-width: 720px; margin: 0 auto; }
.sk-m-scan { display: flex; gap: 8px; }
.sk-m-scan input { flex: 1; padding: 12px 14px; border: 2px solid var(--accent); border-radius: 14px; background: var(--bg-surface); color: var(--text-primary); font: inherit; font-size: 16px; }
.sk-m-scan .btn-sm { padding: 0 16px; border-radius: 14px; }
.sk-m-video { width: 100%; max-height: 260px; border-radius: 14px; background: #000; object-fit: cover; }
.sk-m-tiles { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
.sk-mob .bf-tile.on { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.sk-m-item b { font-size: 16px; }
.sk-m-big { display: flex; gap: 10px; margin: 10px 0; }
.sk-m-big span { flex: 1; display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--bg-elevated); font-size: 12px; color: var(--text-secondary); }
.sk-m-big b { font-size: 20px; color: var(--text-primary); }
.sk-m-log { max-height: 300px; overflow-y: auto; margin-top: 8px; }
.sk-mob .sk-line-f input[data-f="qty"] { width: 80px; text-align: center; font-size: 16px; }
.sk-mob .sk-line-f input[data-copies] { width: 70px; padding: 6px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--bg-surface); color: var(--text-primary); }

/* ---- AI Stok Asistanı, uyarılar, raporlar (6. sprint) ---- */
.sk-ai-hero { background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, var(--bg-surface)), color-mix(in srgb, var(--accent2, #2563eb) 8%, var(--bg-surface))); }
.sk-ai-hero-t { display: flex; gap: 12px; align-items: flex-start; }
.sk-ai-hero-t > svg { width: 28px; height: 28px; color: var(--accent); flex: none; }
.sk-ai-hero-t p { margin: 4px 0 0; }
.sk-ai-asks { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 10px; }
.sk-rec-list, .sk-alert-list { display: flex; flex-direction: column; gap: 8px; }
.sk-rec-h { display: flex; gap: 10px; align-items: flex-start; }
.sk-rec-h > svg { width: 20px; height: 20px; color: var(--accent); flex: none; margin-top: 2px; }
.sk-rec-h > div { flex: 1; display: flex; flex-direction: column; }
.sk-rec-d { margin: 6px 0; font-size: 13px; color: var(--text-secondary); }
.sk-rec-f { display: flex; justify-content: space-between; gap: 10px; align-items: center; flex-wrap: wrap; }
.sk-alert { display: flex; gap: 10px; align-items: center; padding: 9px 12px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg-surface); }
.sk-alert > svg { width: 18px; height: 18px; flex: none; }
.sk-alert > div { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.sk-alert.high { border-color: #ef4444; } .sk-alert.high > svg { color: #ef4444; }
.sk-alert.medium { border-color: #f59e0b; } .sk-alert.medium > svg { color: #f59e0b; }
.sk-alert.low > svg { color: var(--text-muted); }
.sk-alert.ack { opacity: .6; }
.sk-alert-sm .sk-alert { padding: 6px 10px; font-size: 13px; }
.sk-ai-card .sd-card-h svg { width: 16px; height: 16px; color: var(--accent); vertical-align: -2px; }
.sk-fc-table .cf-tr { grid-template-columns: 1.8fr 1fr .9fr 1fr 1fr 1.4fr .9fr; }
.sk-dead-table .cf-tr { grid-template-columns: 2fr 1fr 1fr 1fr 1.2fr; }
.sk-abc-table .cf-tr { grid-template-columns: 2fr .6fr 1.1fr 1fr .8fr .8fr; }
.sk-val-table .cf-tr { grid-template-columns: 1.8fr .7fr 1fr 1.2fr; }
.sk-var-tbl .cf-tr { grid-template-columns: 1.1fr 1.4fr 1fr 1fr 1.1fr .9fr; }
.sk-x-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; margin-top: 10px; }
.sk-x { display: flex; align-items: center; gap: 10px; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--bg-surface); color: inherit; font: inherit; cursor: pointer; text-align: left; }
.sk-x:hover { border-color: var(--accent); }
.sk-x svg { width: 22px; height: 22px; color: var(--accent); }
@media (max-width: 900px) {
    .sk-fc-table .cf-tr { grid-template-columns: 1.6fr 1fr 1fr; }
    .sk-fc-table .cf-tr > span:nth-child(3), .sk-fc-table .cf-tr > span:nth-child(4), .sk-fc-table .cf-tr > span:nth-child(6) { display: none; }
    .sk-abc-table .cf-tr { grid-template-columns: 1.6fr .6fr 1fr; }
    .sk-abc-table .cf-tr > span:nth-child(4), .sk-abc-table .cf-tr > span:nth-child(5), .sk-abc-table .cf-tr > span:nth-child(6) { display: none; }
}

/* ===== Entegrasyonlar (stock-integrations.js) ===== */
.sk-api-doc pre.sk-code { background: var(--bg-surface-2); border-radius: 10px; padding: 10px 12px; font: 12px/1.5 ui-monospace, monospace; white-space: pre-wrap; word-break: break-all; margin: 4px 0 12px; }
#siDeliveries { margin-top: 10px; max-height: 220px; overflow: auto; }
