/* V5.1.54 · Stock actual / navegación trazabilidad / depósito 03 */
.stockOverview{display:grid;gap:14px}.stockHero{background:#123f53;color:#fff;border-radius:18px;padding:15px 20px;display:flex;align-items:end;justify-content:space-between;gap:18px;box-shadow:0 10px 24px rgba(15,56,75,.12)}.stockHero h3{margin:3px 0 4px;font-size:23px}.stockHero p{margin:0;max-width:760px;color:#e7f1f5}.stockHero .eyebrow{color:#78e2ab}.stockHeroControls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;justify-content:flex-end}.stockHeroControls label{display:grid;gap:4px;font-size:11px;font-weight:800}.stockHeroControls input{height:38px;min-width:190px;border:0;border-radius:10px;padding:0 11px;font:inherit}.stockHeroControls button{height:38px;border:0;border-radius:10px;padding:0 13px;font-weight:900;cursor:pointer;background:#fff;color:#123f53}.stockHeroControls .stockImportBtn{background:#f5a91d;color:#173649}.stockKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stockKpis article{background:#fff;border:1px solid #d8e4e9;border-radius:14px;padding:12px 15px;display:flex;align-items:baseline;gap:10px}.stockKpis b{font-size:26px;color:#0e3a50}.stockKpis span{font-size:12px;color:#5c7481}.stockKpis .nc{background:#fff4f2}.stockKpis .nc b{color:#c62a21}.stockKpis .pending{background:#fff8e7}.stockImportProgress{background:#eef7fb;border:1px solid #c7dfe9;border-radius:11px;padding:9px 12px;display:grid;grid-template-columns:minmax(120px,240px) 1fr;align-items:center;gap:10px;font-size:11px;color:#254e60}.stockImportProgress[hidden]{display:none}.stockImportProgress div{height:7px;background:#dbe8ed;border-radius:999px;overflow:hidden}.stockImportProgress span{display:block;height:100%;background:#1c7da4;border-radius:999px;transition:width .18s ease}.stockImportBtn:disabled{opacity:.72;cursor:progress}
.stockImportMeta{font-size:11px;color:#627985;padding:0 4px}.stockPanel,.stockReconcile{background:#fff;border:1px solid #d6e3e8;border-radius:15px;overflow:hidden}.stockPanelHead{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 16px;border-bottom:1px solid #dce7eb}.stockPanelHead h3{margin:0;font-size:18px}.stockPanelHead small{display:block;margin-top:3px;color:#637b88}.stockSnapshotTag{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#e8f3f6;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.stockTableWrap{overflow:auto}.stockTable{width:100%;border-collapse:collapse}.stockTable th,.stockTable td{padding:9px 14px;border-bottom:1px solid #e1eaee;text-align:left}.stockTable thead th{background:#e8f2ef;color:#123f53;font-size:11px}.stockTable td:not(:first-child),.stockTable th:not(:first-child){text-align:center}.stockTable tfoot th{background:#123f53;color:#fff}.stockCount{border:0;border-radius:999px;min-width:44px;padding:5px 11px;font-weight:900;cursor:pointer}.stockCount.ok{background:#dcf3e4;color:#087235}.stockCount.nc{background:#ffe0dc;color:#b8241b}.stockCount.total{background:#e0edf3;color:#123f53}.stockReconcile{padding:14px 16px}.stockReconcile.ok{background:#effaf3;border-color:#bfe6cc}.stockReconcile.warn{background:#fff5e6;border-color:#efc46d}.stockReconcileHead{display:flex;justify-content:space-between;gap:12px;align-items:center}.stockReconcileHead h3{margin:2px 0 0}.stockReconcileHead strong{padding:6px 10px;border-radius:999px;background:#fff}.stockReconcileMetrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px;margin:12px 0}.stockReconcileMetrics span{background:rgba(255,255,255,.8);border-radius:9px;padding:8px;font-size:10px}.stockReconcileMetrics b{display:block;font-size:18px}.stockReconcile>small{color:#617680}.stockDiffList{background:rgba(255,255,255,.75);padding:8px 10px;border-radius:9px;margin-bottom:9px}.stockDiffList p{margin:4px 0;font-size:11px}.stockDiffList button{border:0;background:#e7eef2;color:#173f52;border-radius:7px;padding:3px 6px;margin:2px;cursor:pointer}.stockOriginCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:14px}.stockOriginCards span{display:flex;gap:9px;align-items:center;background:#f4f8fa;border-radius:10px;padding:10px;font-size:11px}.stockOriginCards b{font-size:20px;color:#123f53}.stockDetailList{display:grid;gap:8px;margin-top:14px}.stockPalletRow{width:100%;border:1px solid #d8e4e9;background:#f8fbfc;border-radius:11px;padding:10px 12px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:2px 10px;cursor:pointer}.stockPalletRow b{font-size:14px}.stockPalletRow span{font-weight:800}.stockPalletRow small{grid-column:1/-1;color:#607885}.stockTraceState{margin:12px 0;padding:11px 13px;border-radius:11px;display:flex;justify-content:space-between;gap:10px}.stockTraceState.ok{background:#e6f6eb;color:#086b33}.stockTraceState.out{background:#ffe5e1;color:#aa2018}.stockTraceState.neutral{background:#eef3f6;color:#405966}.stockTraceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stockTraceGrid section,.stockTraceMoves{border:1px solid #dae5e9;border-radius:11px;padding:11px}.stockTraceGrid h4,.stockTraceMoves h4{margin:0 0 8px}.stockTraceGrid p{margin:4px 0;font-size:12px}.stockTraceMoves{margin-top:10px}.stockTraceMoves article{display:grid;grid-template-columns:110px 1fr;gap:2px 10px;padding:7px 0;border-bottom:1px solid #e3eaed}.stockTraceMoves article small{grid-column:2;color:#617984}
@media(max-width:900px){.stockHero{align-items:stretch;flex-direction:column}.stockHeroControls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.stockHeroControls label{grid-column:1/-1}.stockHeroControls input,.stockHeroControls button{width:100%;min-width:0}.stockKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.stockReconcileMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}.stockOriginCards{grid-template-columns:repeat(2,minmax(0,1fr))}.stockTraceGrid{grid-template-columns:1fr}}
@media(max-width:520px){.stockHero{padding:12px;border-radius:14px}.stockHero h3{font-size:19px}.stockHeroControls{grid-template-columns:1fr}.stockHeroControls label{grid-column:auto}.stockKpis{gap:6px}.stockKpis article{padding:9px}.stockKpis b{font-size:21px}.stockReconcileMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stockPanelHead{align-items:flex-start;flex-direction:column}.stockSnapshotTag{max-width:100%}.stockOriginCards{grid-template-columns:1fr}}

@media(max-width:520px){.stockImportProgress{grid-template-columns:1fr;gap:6px}}

.stockTraceNc{margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff7ed;border:1px solid #fdba74}.stockTraceNc p{margin:4px 0;color:#9a3412;font-size:12px}

/* V5.1.54 · Navegación Producto -> Serie -> volver + ubicación física */
.stockProductHint{margin:8px 0 12px;color:#607885;font-size:12px}.stockTraceBack{border:0;background:#e8f2f6;color:#123f53;border-radius:9px;padding:8px 11px;font-weight:900;cursor:pointer;margin:0 0 10px}.stockTraceLocation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 10px}.stockTraceLocation>div{border:1px solid #d8e4e9;background:#f7fafb;border-radius:11px;padding:10px 12px;display:grid;gap:3px}.stockTraceLocation small,.stockTraceState small{font-size:9px;font-weight:900;letter-spacing:.04em;color:#627985}.stockTraceLocation b{font-size:12px;color:#153f52}.stockTraceState>div{display:grid;gap:3px}.stockReconcileMetrics .expected{background:#edf8f1}.stockExpectedDiff{background:#eef8f2;border:1px solid #c6e7d1;border-radius:8px;padding:6px!important}.stockExpectedDiff small{color:#527466}.externalPendingSeriesCount{margin-top:7px;padding:6px 8px;border-radius:8px;background:#f5f8fa;color:#375767;font-size:11px}.externalPendingSeriesStaleDetail{display:grid;gap:5px}.externalPendingSeriesStaleDetail>div{display:grid;gap:3px;margin-top:4px}.externalPendingSeriesStaleDetail>span,.externalPendingSeriesStaleDetail>div>span{display:block;font-size:10px}.externalPendingSeriesStaleDetail small{display:block;margin-top:3px}
@media(max-width:700px){.stockTraceLocation{grid-template-columns:1fr}}

/* V5.1.56 · vínculo persistente de Procesamiento Stock */
.stockHeroControls .stockImportBtn.linked{background:#dff3e7;color:#0b6538}.stockLinkState{margin-left:5px}.stockLinkState b{color:#294f61}
.stockKpis .reserved{background:#eef5ff;border-color:#bfd1e8}.stockKpis .reserved b{color:#245a8a}.stockPackingLink{margin:10px 0;padding:10px 12px;border:1px solid #b8cee0;border-radius:10px;background:#eef6fb;display:flex;flex-direction:column;gap:3px;color:#214c68}.stockPackingLink.dispatched{background:#edf8f1;border-color:#afd5bd;color:#1d6840}.stockPackingLink span{font-size:11px}
@media(min-width:901px){.stockKpis{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* V5.1.82 · DATA SOURCE UNIFICATION + AUTO SYNC */
.stockHeroControls .stockImportBtn{font-size:11px;white-space:nowrap}.stockHeroControls #stockRefreshBtn{background:#fff;color:#123f53}
.stockSourcesV5182{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:stretch}.stockSourceCard{min-width:0;border:1px solid #d6e3e8;background:#fff;border-radius:12px;padding:9px 11px;display:grid;gap:2px}.stockSourceCard>b{font-size:10px;color:#123f53;letter-spacing:.02em}.stockSourceCard>span{font-size:10px;color:#486675;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stockSourceCard>small{font-size:9px;color:#788e99}.stockSourceCard>i{font-style:normal;font-size:9px;color:#58717d}.stockSourceCard>i b{color:#0b6538}.stockAutoSyncState{border:1px solid #efc46d;background:#fff8e7;color:#78510a;border-radius:12px;padding:9px 12px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:9px;font-weight:900;max-width:190px}.stockAutoSyncState.ok{border-color:#bfe6cc;background:#effaf3;color:#087235}.stockAutoSyncState.warn{border-color:#efc46d;background:#fff8e7;color:#78510a}
@media(max-width:1200px){.stockSourcesV5182{grid-template-columns:repeat(2,minmax(0,1fr))}.stockAutoSyncState{max-width:none}}
@media(max-width:700px){.stockSourcesV5182{grid-template-columns:1fr}.stockAutoSyncState{max-width:none}.stockSourceCard>span{white-space:normal}}
/* V5.1.83 · copia local anterior detectada: el servidor conserva la fuente oficial más reciente. */
.stockAutoSyncState.protected{border-color:#8ab9d2;background:#eef8fd;color:#0d5679;max-width:260px}

/* V5.1.84 · D1 write budget / delta sync */
.stockD1BudgetState{border:1px solid #c7dfe9;background:#f3f8fa;color:#244d60;border-radius:12px;padding:9px 12px;display:grid;gap:7px;font-size:9px;font-weight:800;min-width:250px}.stockD1BudgetState div{display:grid;gap:2px}.stockD1BudgetState b{font-size:10px}.stockD1BudgetState span{font-weight:700;line-height:1.3}.stockD1BudgetState>i{height:6px;background:#d9e6eb;border-radius:999px;overflow:hidden}.stockD1BudgetState>i>span{display:block;height:100%;background:#2b8b57;border-radius:999px}.stockD1BudgetState.ok{border-color:#bfe6cc;background:#effaf3;color:#087235}.stockD1BudgetState.warn{border-color:#efc46d;background:#fff8e7;color:#78510a}.stockD1BudgetState.warn>i>span{background:#c98a13}.stockD1BudgetState.stop{border-color:#e4a7a0;background:#fff0ee;color:#a42b20}.stockD1BudgetState.stop b{font-size:11px}.stockSourcesV5182{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1450px){.stockSourcesV5182{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.stockSourcesV5182{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.stockSourcesV5182{grid-template-columns:1fr}.stockD1BudgetState{min-width:0}}
.stockD1BudgetState small{display:block;margin-top:2px;font-size:10px;line-height:1.25;opacity:.72;font-weight:600}

/* V5.1.106 · SMART STOCK FRESHNESS */
.stockSmartFreshV51106{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;background:#fff;border:2px solid #b8d8e2;border-radius:13px;padding:12px 15px;margin:0 0 10px;color:#143d50}.stockSmartFreshV51106.ok{border-color:#78cb98;background:#f1fbf5}.stockSmartFreshV51106.warn{border-color:#e1bd6b;background:#fffaf0}.stockSmartFreshV51106>div{display:grid;gap:2px}.stockSmartFreshV51106 b{font-size:13px}.stockSmartFreshV51106 span,.stockSmartFreshV51106 small,.stockSmartFreshV51106 em{font-size:11px;color:#587783}.stockSmartFreshV51106 strong{font-size:14px}.stockSmartFreshV51106 em{font-style:normal;border-left:1px solid #c9dce3;padding-left:15px;max-width:330px}
@media(max-width:800px){.stockSmartFreshV51106{grid-template-columns:1fr}.stockSmartFreshV51106 em{border-left:0;border-top:1px solid #c9dce3;padding:8px 0 0}}
