/* // cod- 11-08-2026: Sistema visual responsive para Inventario y Kardex. */
.inventory-page { width: 100%; color: #172a42; }
.inventory-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 22px; }
.inventory-eyebrow { margin: 0 0 5px; color: #d62839; font-size: .64rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.inventory-header h1 { margin: 0; color: #10243e; font-size: clamp(1.75rem,3vw,2.3rem); font-weight: 820; letter-spacing: -.04em; line-height: 1.1; }
.inventory-header > div:first-child > p:last-child { margin: 7px 0 0; color: #748196; font-size: .82rem; }
.inventory-header-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.inventory-button { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; padding: 0 14px; border: 1px solid transparent; border-radius: 9px; font-size: .74rem; font-weight: 750; text-decoration: none; cursor: pointer; }
.inventory-button.primary { color: #fff; background: #d62839; box-shadow: 0 7px 18px rgba(214,40,57,.18); }
.inventory-button.primary:hover { color: #fff; background: #bc2131; }
.inventory-button.secondary { border-color: #dbe3ec; color: #29445f; background: #fff; }
.inventory-button.secondary:hover { color: #173653; background: #f7f9fb; }
.inventory-button:disabled { opacity: .58; cursor: not-allowed; }
.inventory-summary { display: grid; grid-template-columns: repeat(3,minmax(0,190px)); gap: 12px; margin-bottom: 15px; }
.inventory-summary article { display: flex; align-items: center; justify-content: space-between; min-height: 62px; padding: 12px 15px; border: 1px solid #e0e7ef; border-radius: 12px; background: #fff; }
.inventory-summary span { color: #718095; font-size: .68rem; font-weight: 700; }
.inventory-summary strong { color: #193753; font-size: 1.25rem; }
.inventory-summary .warning strong { color: #b06a10; }
.inventory-summary .danger strong { color: #b32936; }
.inventory-panel { border: 1px solid #e1e7ef; border-radius: 15px; background: #fff; box-shadow: 0 7px 22px rgba(14,36,64,.045); }
.inventory-filters,.kardex-filters { display: grid; grid-template-columns: minmax(260px,1.5fr) minmax(180px,1fr) minmax(170px,1fr) auto auto; align-items: end; gap: 9px; padding: 15px 17px; border-bottom: 1px solid #ebeff4; }
.kardex-filters { grid-template-columns: minmax(220px,1.4fr) repeat(3,minmax(150px,1fr)) repeat(2,minmax(125px,.7fr)) auto auto; }
/* // cod- 27-08-2026: Mismo patrón visual de .sale-quick-filters en Historial de ventas. */
.kardex-quick { display: flex; flex-wrap: wrap; gap: .35rem; padding: 15px 17px 0; }
.kardex-quick button { max-width: 100%; padding: .42rem .68rem; border: 1px solid #d7e0e8; border-radius: 8px; color: #40546b; background: #f7f9fb; font-size: .75rem; font-weight: 750; cursor: pointer; }
.kardex-quick button.active { border-color: #0d3153; color: #fff; background: #0d3153; }
.kardex-quick button:disabled { opacity: .58; cursor: not-allowed; }
.kardex-filters > *,.kardex-filters input,.kardex-filters select { min-width: 0; box-sizing: border-box; }
.kardex-filters .date-filter input:disabled { opacity: 1; color: #6e7c8f; background: #edf2f6; }
.inventory-search { position: relative; min-width: 0; }
.inventory-search svg { position: absolute; top: 50%; left: 12px; width: 17px; height: 17px; fill: none; stroke: #8390a2; stroke-linecap: round; stroke-width: 1.7; transform: translateY(-50%); pointer-events: none; }
.inventory-search input,.inventory-filters select,.kardex-filters select,.date-filter input,.inventory-field input,.inventory-field select,.inventory-field textarea { width: 100%; border: 1px solid #d5dee8; border-radius: 9px; outline: 0; color: #1b2e45; background: #fafbfd; font-size: .76rem; }
.inventory-search input { height: 39px; padding: 0 12px 0 38px; }
.inventory-filters select,.kardex-filters select,.date-filter input { height: 39px; padding: 0 10px; }
.inventory-search input:focus,.inventory-filters select:focus,.kardex-filters select:focus,.date-filter input:focus,.inventory-field input:focus,.inventory-field select:focus,.inventory-field textarea:focus { border-color: #214b76; background: #fff; box-shadow: 0 0 0 3px rgba(33,75,118,.1); }
.date-filter { display: grid; gap: 4px; color: #6e7c8f; font-size: .6rem; font-weight: 750; text-transform: uppercase; }
.inventory-link-button { min-height: 39px; padding: 0 8px; border: 0; color: #65758a; background: transparent; font-size: .7rem; font-weight: 700; cursor: pointer; }
.inventory-link-button:hover { color: #d62839; }
.inventory-table-wrap { width: 100%; overflow-x: auto; }
.inventory-table { width: 100%; border-collapse: collapse; }
.inventory-table th { padding: 11px 13px; border-bottom: 1px solid #e6ebf1; color: #708095; background: #f8fafc; font-size: .61rem; font-weight: 800; letter-spacing: .045em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.inventory-table td { padding: 13px; border-bottom: 1px solid #edf1f5; color: #384a60; font-size: .71rem; vertical-align: middle; }
.inventory-table tbody tr:last-child td { border-bottom: 0; }
.inventory-table tbody tr:hover { background: #fbfcfe; }
.inventory-table td strong { color: #1d3048; }
.inventory-table .muted { margin-top: 3px; color: #8793a3; font-size: .65rem; }
.inventory-product { display: grid; min-width: 190px; }
.inventory-product > span { margin-top: 3px; color: #d62839; font-size: .63rem; font-weight: 750; }
.inventory-product small { overflow: hidden; max-width: 280px; margin-top: 4px; color: #8793a3; text-overflow: ellipsis; white-space: nowrap; }
.quantity-value { font-size: .83rem; }
.inventory-badge,.movement-badge { display: inline-flex; padding: 5px 8px; border-radius: 99px; font-size: .61rem; font-weight: 780; white-space: nowrap; }
.inventory-badge.normal { color: #176c4e; background: #e9f7f0; }
.inventory-badge.low { color: #a8630d; background: #fff4df; }
.inventory-badge.empty { color: #a32935; background: #fff0f2; }
.movement-badge { color: #28577e; background: #edf4fa; }
.inventory-actions { text-align: right; white-space: nowrap; }
.inventory-actions button { padding: 6px 8px; border: 0; border-radius: 7px; color: #2b587e; background: #eef5fb; font-size: .65rem; font-weight: 750; cursor: pointer; }
.inventory-state { display: grid; min-height: 220px; place-items: center; align-content: center; gap: 6px; padding: 28px; color: #7d899a; font-size: .76rem; text-align: center; }
.inventory-state strong { color: #34475e; font-size: .85rem; }
.inventory-state span { color: #929cab; font-size: .68rem; }
.inventory-state.denied { min-height: calc(100vh - 145px); border: 1px solid #eadce0; border-radius: 15px; background: #fff; }
.inventory-notice,.inventory-form-error { margin-bottom: 14px; padding: 10px 13px; border: 1px solid #cde9dc; border-radius: 9px; color: #176747; background: #eff9f4; font-size: .71rem; }
.inventory-notice.error,.inventory-form-error { border-color: #efcbd0; color: #8c2833; background: #fff3f4; }
/* // cod- 12-08-2026: Estado de carga discreto para la recarga de variantes del modal. */
.inventory-form-hint { margin-bottom: 14px; padding: 10px 13px; border: 1px solid #d8e5f1; border-radius: 9px; color: #355b7c; background: #f2f7fb; font-size: .72rem; }
.inventory-modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 18px; background: rgba(8,23,42,.55); backdrop-filter: blur(3px); }
.inventory-modal { width: min(520px,100%); max-height: calc(100vh - 36px); overflow-y: auto; border-radius: 15px; background: #fff; box-shadow: 0 24px 70px rgba(4,18,35,.3); }
.inventory-modal.wide { width: min(760px,100%); }
.inventory-modal > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 20px 22px 14px; border-bottom: 1px solid #ebeff4; }
.inventory-modal h2 { margin: 0; color: #172b43; font-size: 1.14rem; font-weight: 800; }
.inventory-modal header small { display: block; margin-top: 4px; color: #8793a4; font-size: .65rem; }
.inventory-modal > header > button { width: 32px; height: 32px; padding: 0; border: 0; border-radius: 8px; color: #66758a; background: #f1f4f7; font-size: 1.2rem; cursor: pointer; }
.inventory-modal form { padding: 20px 22px 22px; }
.inventory-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.inventory-field { display: grid; min-width: 0; gap: 6px; margin-bottom: 16px; }
.inventory-form-grid .inventory-field { margin-bottom: 0; }
.inventory-field.full { grid-column: 1/-1; }
.inventory-field label { color: #34475e; font-size: .7rem; font-weight: 750; }
.inventory-field label span { color: #d62839; }
.inventory-field input,.inventory-field select { height: 43px; padding: 0 12px; }
.inventory-field textarea { min-height: 82px; padding: 10px 12px; resize: vertical; }
.inventory-field .validation-message { color: #c72b3a; font-size: .64rem; }
.inventory-field > small { color: #8995a5; font-size: .63rem; }
.inventory-modal footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 21px; padding-top: 16px; border-top: 1px solid #ebeff4; }
.observation { min-width: 150px; max-width: 280px; color: #728095!important; }

@media (max-width: 1250px) { .inventory-filters,.kardex-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } .inventory-search { grid-column: 1/-1; } }
@media (max-width: 760px) {
    .inventory-header { align-items: stretch; flex-direction: column; gap: 14px; }
    .inventory-header-actions { justify-content: flex-start; }
    .inventory-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .inventory-summary article { align-items: flex-start; flex-direction: column; gap: 5px; }
    .inventory-filters,.kardex-filters { grid-template-columns: minmax(0,1fr); }
    .inventory-search { grid-column: auto; }
    .inventory-table-wrap { overflow: visible; }
    .inventory-table,.inventory-table tbody,.inventory-table tr,.inventory-table td { display: block; width: 100%; }
    .inventory-table thead { display: none; }
    .inventory-table tbody { padding: 10px; }
    .inventory-table tr { margin-bottom: 10px; padding: 10px 12px; border: 1px solid #e3e9f0; border-radius: 11px; background: #fff; }
    .inventory-table tr:last-child { margin-bottom: 0; }
    .inventory-table td { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 7px 0; border: 0; text-align: right; }
    .inventory-table td::before { flex: 0 0 36%; color: #8491a3; content: attr(data-label); font-size: .61rem; font-weight: 750; text-align: left; text-transform: uppercase; }
    .inventory-product { min-width: 0; text-align: right; }
    .inventory-product small { max-width: 190px; }
    .inventory-actions { text-align: right; }
    .observation { min-width: 0; max-width: none; }
    .inventory-form-grid { grid-template-columns: minmax(0,1fr); }
    .inventory-field.full { grid-column: auto; }
}
@media (max-width: 480px) { .inventory-header-actions .inventory-button { flex: 1; } .inventory-modal-backdrop { padding: 10px; } .inventory-modal { max-height: calc(100vh - 20px); } .inventory-modal > header,.inventory-modal form { padding-right: 17px; padding-left: 17px; } .inventory-modal footer { flex-direction: column-reverse; } .inventory-modal footer .inventory-button { width: 100%; } }
