/* Rediseño de venta rápida: orientado a caja, teclado y lectura rápida. */

/* ALLINERP POS 2.0 — sistema visual centralizado. */
:root {
  --allin-navy: #10233f;
  --allin-primary: #315efb;
  --allin-primary-hover: #244bd7;
  --allin-surface: #ffffff;
  --allin-surface-soft: #f6f8fc;
  --allin-background: #f3f6fb;
  --allin-text: #172238;
  --allin-text-muted: #718198;
  --allin-border: #dce5f2;
  --allin-success: #16865c;
  --allin-warning: #a06a00;
  --allin-danger: #c05732;
  --allin-radius-sm: 8px;
  --allin-radius-md: 10px;
  --allin-radius-lg: 14px;
  --allin-shadow-sm: 0 4px 12px rgba(27, 60, 122, .06);
  --allin-shadow-md: 0 14px 34px rgba(27, 60, 122, .10);
}

@media screen {
  :root {
    --ui-navy: #10233f;
    --ui-blue: #2f5bff;
    --ui-blue-soft: #eef3ff;
    --ui-border: #dfe7f3;
    --ui-muted: #718198;
    --ui-surface: #ffffff;
    --ui-shadow: 0 16px 42px rgba(32, 66, 122, .09);
  }

  body {
    background:
      radial-gradient(circle at 8% 0%, rgba(49, 94, 251, .08), transparent 28rem),
      linear-gradient(180deg, #f7faff 0%, #f4f7fc 100%);
    color: var(--ui-navy);
  }

  .topbar {
    height: 76px;
    padding: 0 clamp(20px, 4vw, 64px);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 1px 0 rgba(35, 62, 105, .06);
    backdrop-filter: blur(12px);
  }

  .brand { gap: 12px; }
  .brand-logo {
    width: 46px;
    height: 46px;
    padding: 4px;
    border: 1px solid #e4eaf4;
    border-radius: 14px;
    background: #fff;
    object-fit: contain;
    box-shadow: 0 8px 18px rgba(35, 70, 130, .12);
  }
  .brand strong { color: var(--ui-navy); font-size: 18px; letter-spacing: .2px; }
  .brand small { color: #8290a5; font-size: 10px; }
  .branch { font-size: 12px; color: #566983; }

  .shell {
    grid-template-columns: 238px minmax(0, 1fr) 450px;
    gap: 26px;
    max-width: 1660px;
    padding: 30px clamp(20px, 4vw, 64px) 52px;
  }

  .app-sidebar {
    min-width: 0;
    align-self: start;
    position: sticky;
    top: 20px;
    min-height: calc(100vh - 126px);
    padding: 18px 12px;
    border-radius: 18px;
    color: #eef5ff;
    background: linear-gradient(180deg, #102a52 0%, #0b1f3d 100%);
    box-shadow: 0 18px 42px rgba(9, 31, 67, .22);
  }
  .sidebar-brand { display: flex; align-items: center; gap: 10px; padding: 5px 8px 19px; border-bottom: 1px solid rgba(255,255,255,.12); }
  .sidebar-brand img { width: 39px; height: 39px; padding: 3px; border-radius: 11px; object-fit: contain; background: #fff; }
  .sidebar-brand strong { display: block; font-size: 15px; letter-spacing: .2px; }
  .sidebar-brand small { display: block; margin-top: 3px; color: #aabbd5; font-size: 9px; white-space: nowrap; }
  .sidebar-nav { display: grid; gap: 4px; margin-top: 16px; }
  .sidebar-item { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 38px; padding: 0 11px; border: 0; border-radius: 9px; background: transparent; color: #c5d3e8; text-align: left; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; transition: background .15s ease, color .15s ease, transform .15s ease; }
  .sidebar-item span { display: inline-grid; place-items: center; width: 19px; height: 19px; color: #9fb6d7; font-size: 15px; line-height: 1; }
  .sidebar-item:hover { background: rgba(73, 129, 255, .19); color: #fff; transform: translateX(2px); }
  .sidebar-item.active { background: linear-gradient(100deg, #2c65f5, #3b8bff); color: #fff; box-shadow: 0 7px 16px rgba(26, 93, 230, .28); }
  .sidebar-item.active span { color: #fff; }
  .sidebar-branch { display: grid; gap: 3px; margin: 20px 3px 0; padding: 12px 11px; border: 1px solid rgba(255,255,255,.13); border-radius: 11px; background: rgba(255,255,255,.07); }
  .sidebar-branch small { color: #9fb3d0; font-size: 9px; }
  .sidebar-branch strong { color: #fff; font-size: 11px; }
  .sidebar-branch span { color: #afc0d9; font-size: 9px; }
  .sidebar-help { display: grid; gap: 3px; margin: 10px 3px 0; padding: 12px 11px; color: #dce8fa; font-size: 10px; }
  .sidebar-help span { color: #95add0; font-size: 9px; }

  .workspace { min-width: 0; }
  .page-title {
    align-items: flex-start;
    gap: 18px;
    min-height: 74px;
    margin-bottom: 20px;
  }
  .page-title h1 {
    color: var(--ui-navy);
    font-size: clamp(27px, 3vw, 36px);
    line-height: 1;
    letter-spacing: -1.1px;
  }
  .page-subtitle {
    margin: 7px 0 0;
    color: #7d8da5;
    font-size: 12px;
    font-weight: 500;
  }
  .eyebrow { margin-bottom: 9px; letter-spacing: 1.7px; }
  .page-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    max-width: 720px;
  }
  .page-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    border-radius: 10px;
    padding: 0 12px;
    font-size: 11px;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  }
  .page-actions .nav-icon {
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    margin: 0;
    border-radius: 5px;
    background: #eef3ff;
    color: var(--ui-blue);
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
  }
  .page-actions .secondary-action .nav-icon {
    background: #fff0d6;
    color: #ad650e;
  }
  .page-actions button > span:not(.nav-icon) { margin-left: 0; }
  .page-actions button:hover {
    border-color: #aebff0;
    box-shadow: 0 5px 14px rgba(47, 91, 255, .12);
    transform: translateY(-1px);
  }
  .page-actions .secondary-action {
    box-shadow: 0 6px 15px rgba(216, 145, 47, .15);
  }

  .search-wrap {
    height: 70px;
    padding: 0 18px;
    border: 2px solid #cad7ff;
    border-radius: 17px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 30px rgba(49, 94, 251, .10);
  }
  .search-wrap:focus-within {
    border-color: var(--ui-blue);
    box-shadow: 0 0 0 5px rgba(47, 91, 255, .10), 0 14px 32px rgba(49, 94, 251, .14);
  }
  .search-icon { font-size: 23px; color: var(--ui-blue); }
  .search-wrap input { font-size: 16px; font-weight: 600; }
  .search-wrap input::placeholder { color: #8795a9; font-weight: 500; }
  .search-wrap kbd { min-width: 29px; text-align: center; font-weight: 800; }
  .quick-hint {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 9px 4px 0;
    color: #7a8ba4;
    font-size: 10px;
    font-weight: 700;
  }
  .keyboard-chip {
    padding: 4px 7px;
    border: 1px solid #c8d5f5;
    border-radius: 5px;
    background: #fff;
    color: var(--ui-blue);
    font-size: 9px;
    box-shadow: 0 2px 4px rgba(34, 58, 102, .06);
  }
  .hint-arrow { color: #b1bfd2; font-size: 15px; }

  .results {
    margin-top: 8px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(36, 63, 112, .14);
  }
  .result { padding: 14px 16px; border-color: #e2e9f4; }
  .result strong { color: var(--ui-navy); font-size: 13px; }
  .result small { margin-top: 3px; color: var(--ui-muted); }
  .result button { border: 1px solid #d8e2ff; background: var(--ui-blue-soft); }

  .section-heading {
    margin: 25px 0 11px;
    padding: 0 3px;
  }
  .section-heading h2 { color: var(--ui-navy); font-size: 18px; }
  .section-heading span {
    padding: 4px 8px;
    border-radius: 999px;
    background: #eaf0ff;
    color: #5973b5;
    font-size: 10px;
    font-weight: 800;
  }

  .cart {
    min-height: 390px;
    padding: 16px 18px 20px;
    border: 1px solid var(--ui-border);
    border-radius: 18px;
    background: rgba(255, 255, 255, .9);
    box-shadow: var(--ui-shadow);
  }
  .cart.empty { min-height: 390px; background: rgba(255, 255, 255, .84); }
  .empty-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 5px;
    background: linear-gradient(135deg, #e8eeff, #f3f6ff);
    box-shadow: inset 0 0 0 1px #dce5ff;
  }
  .empty-icon span {
    margin: 0;
    color: #5b83ef;
    font-size: 23px;
    line-height: 1;
    filter: saturate(.8);
  }
  .cart.empty strong { font-size: 14px; }
  .cart.empty > span { max-width: 300px; text-align: center; line-height: 1.5; }
  .report-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-top: 18px; }
  .report-card { display: flex; align-items: center; justify-content: space-between; gap: 9px; min-width: 0; min-height: 91px; padding: 15px 14px; border: 1px solid #e0e8f3; border-radius: 15px; background: rgba(255,255,255,.94); box-shadow: 0 10px 26px rgba(32,66,122,.07); }
  .report-card div { min-width: 0; }
  .report-card span, .report-card small { display: block; color: #718198; font-size: 10px; font-weight: 700; }
  .report-card strong { display: block; margin: 8px 0 4px; color: var(--ui-navy); font-size: 19px; letter-spacing: -.4px; white-space: nowrap; }
  .report-card small { color: #9aa7b9; font-size: 9px; font-weight: 600; }
  .report-icon { display: inline-grid; place-items: center; flex: 0 0 37px; width: 37px; height: 37px; border-radius: 50%; font-size: 19px; }
  .report-blue { color: #315efb; background: #eaf0ff; }
  .report-green { color: #16a56b; background: #e5f8ef; }
  .report-orange { color: #d58b20; background: #fff2da; }
  .report-purple { color: #9a58d4; background: #f3eaff; }
  .cart-header {
    margin: 0 -18px;
    padding: 12px 18px;
    background: #f5f8fd;
    border-bottom: 1px solid #e5ebf4;
    border-radius: 15px 15px 0 0;
    color: #7788a0;
    font-size: 10px;
  }
  .cart-row {
    margin: 11px 0 0;
    padding: 16px 13px;
    border: 1px solid #e0e8f3;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(41, 71, 117, .05);
    transition: border-color .15s ease, box-shadow .15s ease;
  }
  .cart-row:hover { border-color: #b8c8f6; box-shadow: 0 9px 22px rgba(49, 94, 251, .10); }
  .cart-row strong { color: var(--ui-navy); font-size: 14px; }
  .cart-row small.stock-summary { background: #f0f5ff; color: #56709a !important; }
  .price-input, .discount-input, .qty-input, .unit-select { border-color: #ccd8e8; }
  .qty-input { background: #f8faff; }

  .checkout {
    width: 450px;
    padding: 24px;
    border: 1px solid #dce5f2;
    border-top: 4px solid var(--ui-blue);
    border-radius: 20px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 20px 55px rgba(31, 59, 108, .13);
    top: 20px;
  }
  .checkout-head { margin-bottom: 22px; }
  .checkout-head h2 { color: var(--ui-navy); font-size: 24px; }
  .sale-number {
    border: 1px solid #dce5f4;
    background: #f4f7fc;
    color: #5f7391;
    font-weight: 800;
  }
  .doc-picker label, .payment-label, .customer label { color: #465a78; font-size: 11px; letter-spacing: .1px; }
  .doc-buttons { gap: 9px; }
  .doc {
    min-height: 61px;
    border-radius: 11px;
    background: #fbfcff;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .doc:not(.active):hover { background: #f2f5ff; transform: translateY(-1px); }
  .doc.active { box-shadow: 0 8px 18px rgba(47, 91, 255, .20); }
  .sale-meta { gap: 10px; }
  .sale-meta input, .sale-meta select, .customer input, .customer-doc select, .customer-doc input {
    border-color: #d5e0ee;
    background: #fbfcff;
  }
  .customer { margin-top: 18px; }
  .customer input:focus, .customer-doc input:focus, .sale-meta input:focus, .sale-meta select:focus {
    outline: 3px solid rgba(47, 91, 255, .10);
    border-color: var(--ui-blue);
  }
  .customer-alert { box-shadow: 0 5px 13px rgba(206, 120, 26, .08); }
  .global-discount {
    border-color: #dce5f2;
    background: linear-gradient(135deg, #fbfcff, #f6f8fd);
  }
  .totals {
    margin: 20px 0 18px;
    padding: 15px;
    border: 1px solid #e0e8f3;
    border-radius: 13px;
    background: linear-gradient(135deg, #fbfcff, #f6f8fd);
  }
  .totals .grand {
    margin: 14px -15px -15px;
    padding: 14px 15px;
    border-top: 1px dashed #dbe4f2;
    border-radius: 0 0 12px 12px;
    background: #fff;
  }
  .totals .grand strong { font-size: 28px; letter-spacing: -.5px; }
  .payment-label { margin-top: 2px; }
  .payments { gap: 8px; }
  .payment {
    min-height: 43px;
    border-radius: 10px;
    background: #fbfcff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-weight: 800;
    color: #43546f;
  }
  .payment.active { box-shadow: 0 4px 10px rgba(22, 165, 107, .10); }
  .pay-icon {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
  }
  .pay-cash { color: #168c62; background: #dff8eb; font-size: 14px; }
  .pay-visa { width: auto; flex-basis: auto; color: #1b4fd6; font-size: 10px; letter-spacing: -.5px; }
  .pay-mastercard { position: relative; width: 25px; flex-basis: 25px; background: transparent; }
  .pay-mastercard i { position: absolute; width: 13px; height: 13px; border-radius: 50%; top: 4px; }
  .pay-mastercard i:first-child { left: 2px; background: #f24a38; }
  .pay-mastercard i:last-child { right: 2px; background: #f4a51c; mix-blend-mode: multiply; }
  .pay-yape { color: #fff; background: #7423a8; font-size: 14px; }
  .pay-plin { color: #fff; background: #14b9c9; font-size: 13px; }
  .pay-transfer { color: #315efb; background: #e7edff; font-size: 16px; }
  .payment.active .pay-yape { box-shadow: 0 0 0 2px rgba(116, 35, 168, .13); }
  .payment.active .pay-plin { box-shadow: 0 0 0 2px rgba(20, 185, 201, .13); }
  .payment-entry { margin-top: 10px; }
  .payment-entry input { height: 40px; border-color: #d5e0ee; background: #fbfcff; }
  .payment-entry button { min-width: 110px; border: 1px solid #d8e2ff; }
  .payment-list { padding: 7px 10px; border-radius: 9px; background: #f7faff; }
  .payment-help { color: #8391a5; font-size: 10px; }
  .finish {
    height: 56px;
    margin-top: 20px;
    border-radius: 12px;
    background: linear-gradient(135deg, #3564ff, #244bd7);
    box-shadow: 0 10px 20px rgba(47, 91, 255, .23);
    font-size: 15px;
    letter-spacing: .1px;
  }
  .finish:hover { background: linear-gradient(135deg, #244bd7, #193cab); transform: translateY(-1px); }
  .finish:disabled { transform: none; opacity: .7; }
  .message { margin-top: 10px; }
  .message.error { color: #c05242; }
  .print-actions { margin-top: 12px; padding-top: 12px; border-top: 1px solid #e6ecf4; }

  @media(max-width: 1150px) {
    .shell { grid-template-columns: 210px minmax(0, 1fr); gap: 18px; }
    .app-sidebar { grid-row: 1 / span 2; }
    .checkout { width: 410px; padding: 21px; }
    .checkout { grid-column: 2; }
    .page-actions { max-width: 580px; }
    .report-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media(max-width: 900px) {
    .topbar { height: 68px; }
    .shell { grid-template-columns: 1fr; padding-top: 24px; }
    .app-sidebar { position: static; grid-row: auto; display: flex; align-items: center; gap: 9px; min-height: 0; padding: 9px; overflow-x: auto; }
    .sidebar-brand { flex: 0 0 auto; padding: 0 9px 0 2px; border-bottom: 0; }
    .sidebar-brand img { width: 32px; height: 32px; }
    .sidebar-brand strong, .sidebar-brand small, .sidebar-branch, .sidebar-help { display: none; }
    .sidebar-nav { display: flex; flex: 1 1 auto; gap: 5px; margin: 0; overflow-x: auto; }
    .sidebar-item { flex: 0 0 auto; width: auto; min-height: 34px; padding: 0 9px; white-space: nowrap; font-size: 10px; }
    .sidebar-item span { width: 16px; font-size: 13px; }
    .checkout { position: static; width: auto; min-width: 0; }
    .checkout { grid-column: auto; }
    .page-title { min-height: 0; flex-direction: column; }
    .page-actions { justify-content: flex-start; max-width: none; }
    .cart-header { display: none; }
    .cart-row { grid-template-columns: minmax(0, 1fr) 88px 88px; gap: 8px; padding-right: 13px !important; }
    .cart-row > :first-child { grid-column: 1 / -1; min-width: 0; }
    .cart-row > .price-input { grid-column: 3; }
    .cart-row > .discount-editor { grid-column: 1 / span 2; }
    .cart-row > .total-input { grid-column: 3; }
    .cart-row > .remove-product { position: static; grid-column: 1 / -1; justify-self: end; }
  }
  @media(max-width: 560px) {
    .topbar { padding: 0 15px; }
    .brand-logo { width: 38px; height: 38px; border-radius: 11px; }
    .brand strong { font-size: 15px; }
    .branch { display: none; }
    .shell { padding: 20px 14px 34px; min-width: 0; }
    .app-sidebar { margin: 0 -2px; border-radius: 13px; }
    .sidebar-nav { max-width: calc(100vw - 80px); }
    .page-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 6px; }
    .page-actions button { min-width: 0; width: 100%; justify-content: center; padding: 10px 7px; font-size: 10px; }
    .page-actions button > span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .search-wrap { height: 62px; }
    .cart { padding: 13px; }
    .cart-header { margin: 0 -13px; padding-left: 13px; padding-right: 13px; }
    .cart-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 13px 5px !important; }
    .cart-row > :first-child { grid-column: 1 / -1; }
    .cart-row > .price-input, .cart-row > .total-input { grid-column: auto; }
    .cart-row > .discount-editor { grid-column: 1 / -1; }
    .cart-row > .remove-product { grid-column: 1 / -1; justify-self: stretch; width: 100%; }
    .sale-meta .meta-grid { grid-template-columns: 1fr; }
    .checkout { padding: 18px; border-radius: 16px; }
    .checkout-head h2 { font-size: 22px; }
    .report-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .report-card { min-height: 78px; padding: 11px 9px; }
    .report-card strong { font-size: 15px; margin-top: 6px; }
    .report-card span { font-size: 9px; }
    .report-icon { flex-basis: 29px; width: 29px; height: 29px; font-size: 14px; }
    .payment { min-width: 0; gap: 4px; padding-left: 2px; padding-right: 2px; font-size: 10px; }
    .pay-icon { width: 20px; height: 20px; flex-basis: 20px; }
  }
}

.adjustment-card { width: min(960px, calc(100vw - 32px)); }
.adjustment-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 12px; }
.adjustment-grid label, .adjustment-line label { display: grid; gap: 6px; color: #4b5d78; font-size: 11px; font-weight: 800; }
.adjustment-grid input, .adjustment-grid select, .adjustment-grid textarea,
.adjustment-line input { width: 100%; border: 1px solid #d8e1ef; border-radius: 9px; padding: 10px 11px; background: #fff; color: #172238; }
.adjustment-reason { grid-column: 1 / -1; }
.adjustment-lines { display: grid; gap: 8px; max-height: 330px; overflow: auto; margin: 14px 0; }
.adjustment-line { display: grid; grid-template-columns: 72px minmax(220px, 1fr) 130px 45px; align-items: center; gap: 12px; padding: 12px; border: 1px solid #dce5f2; border-radius: 12px; background: #f8faff; }
.adjustment-line strong, .adjustment-line small { display: block; }
.adjustment-line small { margin-top: 4px; color: #687a95; }
.adjustment-select { display: flex !important; align-items: center; gap: 6px !important; }
.adjustment-select input { width: auto; }
.document-actions { display: flex; flex-wrap: wrap; gap: 5px; min-width: 190px; }
.print-note-action { border-color: #315efb; background: #315efb; color: #fff; font-weight: 800; }
.note-action { white-space: nowrap; }
.credit-note-action { color: #9a5a00; border-color: #f1c47e; background: #fff9ef; }
.debit-note-action { color: #2450c4; border-color: #b9cafd; background: #f5f8ff; }

@media (max-width: 760px) {
  .adjustment-grid { grid-template-columns: 1fr 1fr; }
  .adjustment-line { grid-template-columns: 70px 1fr; }
  .adjustment-line > div { grid-column: 1 / -1; grid-row: 1; }
}

@media (max-width: 480px) {
  .adjustment-grid { grid-template-columns: 1fr; }
  .adjustment-reason { grid-column: auto; }
}

/* FASE 3 — POS operativo a pantalla completa. Mantiene los selectores DOM existentes. */
@media screen and (min-width: 901px) {
  body:has(.pos-workspace) { overflow-x: hidden; }
  .pos-topbar {
    height: 54px;
    padding: 0 18px;
    background: #fff;
    box-shadow: 0 1px 0 #dfe7f3;
  }
  .pos-topbar .brand-logo {
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    object-fit: contain;
    box-shadow: none;
  }
  .pos-topbar .brand { gap: 8px; }
  .pos-topbar .brand strong { font-size: 15px; }
  .pos-topbar .brand small { display: none; }
  .pos-topbar .branch { font-size: 11px; }
  .pos-workspace { min-width: 0; }
  .shell:has(.pos-workspace) {
    width: 100%;
    max-width: none;
    grid-template-columns: 72px minmax(0, 1fr) 380px;
    gap: 12px;
    padding: 12px 14px 20px;
  }
  .app-sidebar {
    top: 12px;
    min-height: calc(100vh - 86px);
    padding: 10px 9px;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(9, 31, 67, .16);
  }
  .pos-workspace > .page-title {
    min-height: 44px;
    margin-bottom: 9px;
    align-items: center;
  }
  .pos-workspace .page-title h1 { font-size: 24px; letter-spacing: -.7px; }
  .pos-workspace .page-subtitle { display: none; }
  .pos-workspace .eyebrow { margin-bottom: 3px; font-size: 9px; }
  .pos-workspace .page-actions { max-width: 620px; gap: 5px; }
  .pos-workspace .page-actions button { min-height: 31px; padding: 0 8px; border-radius: 8px; font-size: 10px; }
  .pos-search-zone { position: relative; }
  .pos-search-zone .search-wrap { height: 54px; border-radius: 11px; box-shadow: 0 8px 18px rgba(49, 94, 251, .08); }
  .pos-search-zone .quick-hint { margin: 5px 3px 0; }
  .pos-search-zone .results { margin-top: 6px; }
  .section-heading { margin: 16px 0 7px; }
  .section-heading h2 { font-size: 16px; }
  .cart { min-height: 250px; padding: 0; border: 1px solid #dfe7f3; border-radius: 11px; background: #fff; box-shadow: none; }
  .cart.empty { min-height: 250px; border: 1px dashed #c9d6e8; background: #fbfcff; }
  .cart.empty .empty-icon { width: 38px; height: 38px; margin-bottom: 4px; }
  .cart.empty .empty-icon span { font-size: 18px; }
  .cart.empty strong { font-size: 13px; }
  .cart.empty > span { font-size: 11px; }
  .pos-checkout { width: 380px; max-height: calc(100vh - 78px); padding: 15px; border-radius: 12px; border-top-width: 3px; box-shadow: 0 10px 26px rgba(31, 59, 108, .10); }
  .pos-checkout .checkout-head { margin-bottom: 10px; }
  .pos-checkout .checkout-head h2 { font-size: 19px; }
  .pos-checkout .doc { min-height: 43px; padding: 5px 7px; }
  .pos-checkout .customer { margin-top: 10px; }
  .pos-checkout .customer input, .pos-checkout .customer-doc input, .pos-checkout .customer-doc select { min-height: 33px; padding: 7px 9px; }
  .pos-checkout .customer-doc { display: grid; grid-template-columns: 74px minmax(0, 1fr) 76px; gap: 5px; }
  .pos-checkout .customer-doc button { min-height: 33px; padding: 0 7px; }
  .pos-checkout .totals { margin: 11px 0; padding: 10px; border-radius: 10px; }
  .pos-checkout .totals .grand { margin: 10px -10px -10px; padding: 10px; }
  .pos-checkout .totals .grand strong { font-size: 30px; }
  .pos-checkout .payments { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
  .pos-checkout .payment { min-height: 42px; padding: 4px; font-size: 10px; }
  .pos-checkout .payment-entry { margin-top: 7px; }
  .pos-checkout .finish { height: 56px; margin-top: 12px; font-size: 15px; }
}

@media screen and (min-width: 901px) and (max-width: 1366px) {
  .shell:has(.pos-workspace) { grid-template-columns: 72px minmax(0, 1fr) 350px; gap: 10px; padding-inline: 10px; }
  .pos-checkout { width: 350px; padding: 12px; }
  .pos-workspace .page-actions button { padding-inline: 6px; }
  .pos-workspace .page-actions button > span:not(.nav-icon) { display: none; }
}
.sunat-reference{display:grid;grid-template-columns:1fr 2fr;gap:2mm 4mm;margin:4mm 0;padding:3mm;border:1px solid #999;border-radius:1mm}
.sunat-reference span,.sunat-reference strong{display:block}
.sunat-reference span{font-size:8px;color:#555;text-transform:uppercase}
.sunat-reference strong{font-size:9px;margin-top:1mm;overflow-wrap:anywhere}
@media print and (max-width:80mm){.sunat-reference{grid-template-columns:1fr}.sunat-reference span{font-size:7px}.sunat-reference strong{font-size:8px}}

/* Accesos generales: se mantienen en el menú lateral para evitar duplicados. */
.page-actions > #openCash,
.page-actions > #openProductMaster,
.page-actions > #openInventory,
.page-actions > #openKardex,
.page-actions > #openSettingsTop,
.page-actions > #openQuotations {
  display: none;
}

.page-actions {
  justify-content: flex-end;
}

/* POS 2.0: compacta el flujo operativo y conserva los selectores DOM actuales. */
body { font-family: Inter, "Segoe UI", system-ui, sans-serif; }
.pos-sidebar-toggle { display:inline-grid; place-items:center; width:34px; height:34px; margin:0 0 10px auto; border:1px solid rgba(255,255,255,.16); border-radius:8px; background:rgba(255,255,255,.08); color:#dce8fa; cursor:pointer; }
.pos-sidebar-toggle:hover, .pos-sidebar-toggle:focus-visible { background:rgba(73,129,255,.28); outline:2px solid #83a7ff; outline-offset:2px; }
.app-sidebar { transition:width .22s ease, padding .22s ease; }
.pos-sidebar-collapsed .shell { grid-template-columns:72px minmax(0,1fr) 420px; }
.pos-sidebar-collapsed .app-sidebar { width:72px; padding-inline:9px; overflow:hidden; }
.pos-sidebar-collapsed .sidebar-brand { justify-content:center; padding-inline:0; border-bottom:0; }
.pos-sidebar-collapsed .sidebar-brand > div, .pos-sidebar-collapsed .sidebar-item > span + *, .pos-sidebar-collapsed .sidebar-branch, .pos-sidebar-collapsed .sidebar-help { display:none; }
.pos-sidebar-collapsed .sidebar-item { justify-content:center; padding-inline:0; }
.pos-sidebar-collapsed .sidebar-item span { margin:0; }
.pos-sidebar-collapsed .pos-sidebar-toggle { margin-inline:auto; }
.page-title { margin-bottom:14px; }
.page-title h1 { font-size:clamp(25px,2.35vw,32px); }
.page-actions { gap:6px; max-width:620px; }
.page-actions button { min-height:34px; padding-inline:10px; }
.search-wrap { height:62px; border-radius:14px; }
.quick-hint { margin-top:7px; }
.results { max-height:330px; overflow-y:auto; }
.result { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:56px; padding:10px 14px; }
.result small { line-height:1.4; }

/* Listado empresarial: la lógica sigue siendo la de renderCart efectiva. */
.dispatch-v2-cart { padding:0; overflow:hidden; }
.dispatch-v2-cart:not(.empty)::before { content:"PRODUCTO                                      UNIDAD       CANTIDAD       P. UNITARIO       DESCUENTO       TOTAL       ACCIONES"; display:block; padding:11px 14px; border-bottom:1px solid #dce5f2; background:#f7f9fd; color:#718198; font-size:10px; font-weight:800; letter-spacing:.06em; white-space:pre; }
.dispatch-v2-row { display:grid; grid-template-columns:minmax(220px,1.9fr) 54px 110px 100px 128px 118px 112px; align-items:center; gap:10px; margin:0; padding:13px 14px; border:0; border-bottom:1px solid #edf1f6; border-radius:0; background:#fff; box-shadow:none; }
.dispatch-v2-row:hover { background:#fbfcff; box-shadow:inset 3px 0 0 #315efb; }
.dispatch-v2-row > label { display:grid; gap:5px; min-width:0; color:#718198; font-size:9px; font-weight:800; }
.dispatch-v2-row > label > input, .dispatch-v2-row > label > select { width:100%; min-width:0; box-sizing:border-box; }
.sale-line-product { min-width:0; }
.sale-line-product > strong { display:block; overflow:hidden; color:#10233f; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.sale-line-product > small { display:block; margin-top:4px; overflow:hidden; color:#718198; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.physical-dispatch { margin:5px 0 0; color:#16865c; font-size:10px; font-weight:700; }
.sale-line-actions { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:7px; }
.sale-line-actions .duplicate-free, .sale-line-actions .free-toggle-label { font-size:9px; }
.dispatch-v2-row > .remove { grid-column:7; grid-row:1; justify-self:end; align-self:start; padding:3px 6px; border:0; background:transparent; color:#c05732; font-size:10px; }
.dispatch-v2-row > .remove:hover { text-decoration:underline; }
.dispatch-v2-row .total-input { color:#10233f; font-weight:900; }
.dispatch-v2-row .discount-editor { display:grid; grid-template-columns:34px minmax(0,1fr); gap:4px; }
.dispatch-v2-row .discount-editor select, .dispatch-v2-row .discount-editor input { min-width:0; }
.dispatch-v2-row .line-total-readonly, .dispatch-v2-row .pending-total { color:#10233f; font-weight:900; }
.dispatch-v2-row input:focus-visible, .dispatch-v2-row select:focus-visible, .checkout input:focus-visible, .checkout select:focus-visible { outline:2px solid #83a7ff; outline-offset:1px; border-color:#315efb; }
.report-cards { display:grid; }
.checkout { width:auto; min-width:0; max-height:calc(100vh - 104px); padding:19px; border-radius:14px; overflow:auto; }
.checkout-head { margin-bottom:14px; }
.checkout-head h2 { font-size:21px; }
.doc-buttons, .payments { gap:6px; }
.doc { min-height:54px; }
.customer { margin-top:13px; }
.sale-meta { gap:7px; }
.totals { margin:14px 0; padding:12px; }
.totals .grand strong { font-size:26px; }
.checkout .message { min-height:18px; }
.missing-price { display:inline-block; color:#b45309; font-size:12px; font-weight:800; line-height:1.2; }
@media (max-width:1366px) {
  .shell { grid-template-columns:72px minmax(0,1fr) 390px; gap:14px; padding-inline:18px; }
  .app-sidebar { width:72px; padding-inline:9px; overflow:hidden; }
  .sidebar-brand { justify-content:center; padding-inline:0; border-bottom:0; }
  .sidebar-brand > div, .sidebar-item > span + *, .sidebar-branch, .sidebar-help { display:none; }
  .sidebar-item { justify-content:center; padding-inline:0; }
  .sidebar-item span { margin:0; }
  .pos-sidebar-toggle { margin-inline:auto; }
  .dispatch-v2-row { grid-template-columns:minmax(180px,1.5fr) 82px 90px 92px 106px 100px 52px; gap:7px; padding-inline:10px; }
  .dispatch-v2-cart:not(.empty)::before { font-size:9px; }
}
@media (max-width:900px) {
  .shell { grid-template-columns:1fr; }
  .app-sidebar { width:auto; overflow-x:auto; }
  .dispatch-v2-cart:not(.empty)::before { display:none; }
  .dispatch-v2-row { grid-template-columns:minmax(0,1fr) 86px 86px; gap:8px; }
  .dispatch-v2-row > .sale-line-product { grid-column:1 / -1; }
  .dispatch-v2-row > .remove { grid-column:3; grid-row:2; }
  .checkout { max-height:none; }
}

/* FASE 3.1 — refinamiento premium: proporción, lectura y jerarquía sin tocar contratos JS. */
@media screen and (min-width: 901px) {
  .pos-topbar { height: 60px; padding-inline: 22px; }
  .pos-topbar .brand strong { font-size: 16px; }
  .pos-topbar .branch { font-size: 12px; }

  .shell:has(.pos-workspace) {
    grid-template-columns: 236px minmax(0, 1fr) 410px;
    gap: 16px;
    padding: 14px 18px 22px;
  }
  .pos-sidebar-collapsed .shell:has(.pos-workspace) {
    grid-template-columns: 72px minmax(0, 1fr) 410px;
  }
  .app-sidebar { width: 236px; min-height: calc(100vh - 88px); padding: 12px 10px; }
  .pos-sidebar-collapsed .app-sidebar { width: 72px; padding-inline: 9px; }
  .sidebar-item { min-height: 46px; font-size: 13px; }
  .sidebar-item span { width: 22px; height: 22px; font-size: 17px; }
  .pos-sidebar-collapsed .sidebar-item {
    position: relative;
    justify-content: center;
    width: 54px;
    min-height: 46px;
    margin-inline: auto;
    padding: 0;
    font-size: 0;
  }
  .pos-sidebar-collapsed .sidebar-item span { width: 24px; height: 24px; margin: 0; font-size: 18px; }
  .pos-sidebar-collapsed .sidebar-item:hover::after {
    position: absolute;
    left: 62px;
    top: 50%;
    z-index: 20;
    transform: translateY(-50%);
    padding: 7px 9px;
    border-radius: 7px;
    background: #10233f;
    color: #fff;
    content: "";
    white-space: nowrap;
    font-size: 11px;
    font-weight: 700;
    pointer-events: none;
    box-shadow: 0 8px 18px rgba(16,35,63,.22);
  }
  .pos-sidebar-collapsed #sideSale:hover::after { content: "Punto de venta"; }
  .pos-sidebar-collapsed #sideDashboard:hover::after { content: "Dashboard"; }
  .pos-sidebar-collapsed #sideMaintainers:hover::after { content: "Mantenedores"; }
  .pos-sidebar-collapsed #sideCash:hover::after { content: "Caja"; }
  .pos-sidebar-collapsed #sideProducts:hover::after { content: "Productos"; }
  .pos-sidebar-collapsed #sideInventory:hover::after { content: "Inventario"; }
  .pos-sidebar-collapsed #sideInventoryControl:hover::after { content: "Control de inventario"; }
  .pos-sidebar-collapsed #sideReceiptPreview:hover::after { content: "Ingreso de almacén"; }
  .pos-sidebar-collapsed #sideTransfers:hover::after { content: "Transferencias"; }
  .pos-sidebar-collapsed #sideKardex:hover::after { content: "Kardex"; }
  .pos-sidebar-collapsed #sideQuotations:hover::after { content: "Cotizaciones"; }
  .pos-sidebar-collapsed #sideDocuments:hover::after { content: "Ventas / documentos"; }
  .pos-sidebar-collapsed #sideGuides:hover::after { content: "Guías de remisión"; }
  .pos-sidebar-collapsed #sideClients:hover::after { content: "Clientes"; }
  .pos-sidebar-collapsed #sideReports:hover::after { content: "Reportes"; }
  .pos-sidebar-collapsed #sideSettings:hover::after { content: "Configuración"; }
  .pos-sidebar-collapsed #sideBranches:hover::after { content: "Sucursales y almacenes"; }

  .pos-workspace > .page-title { min-height: 50px; margin-bottom: 12px; }
  .pos-workspace .page-title h1 { font-size: 26px; }
  .pos-workspace .eyebrow { font-size: 10px; }
  .pos-workspace .page-actions button { min-height: 38px; padding-inline: 10px; font-size: 11px; }
  .pos-search-zone .search-wrap { height: 51px; }
  .pos-search-zone .search-wrap input { font-size: 14px; }
  .pos-search-zone .search-wrap kbd { min-width: 26px; padding: 3px 6px; font-size: 10px; }
  .pos-search-zone .quick-hint { font-size: 11px; }

  .section-heading { margin-top: 18px; }
  .section-heading h2 { font-size: 18px; }
  .cart.empty {
    display: grid;
    place-content: center;
    justify-items: center;
    width: min(100%, 320px);
    min-height: 270px;
    margin-inline: auto;
    padding: 24px;
    border: 1px dashed #c9d6e8;
    border-radius: 14px;
    background: #fbfcff;
    box-shadow: none;
  }
  .cart.empty .empty-icon { width: 48px; height: 48px; margin-bottom: 8px; }
  .cart.empty .empty-icon span { font-size: 22px; }
  .cart.empty strong { font-size: 14px; }
  .cart.empty > span { max-width: 250px; font-size: 12px; line-height: 1.45; text-align: center; }
  .cart:not(.empty) { width: 100%; min-height: 0; }
  .dispatch-v2-cart:not(.empty)::before { padding-block: 13px; font-size: 11px; }
  .dispatch-v2-row { min-height: 70px; padding-block: 11px; }
  .sale-line-product > strong { font-size: 14px; }
  .sale-line-product > small { font-size: 11px; }

  .pos-checkout {
    width: 410px;
    max-height: calc(100vh - 88px);
    padding: 18px;
    border-radius: 14px;
    overflow: auto;
  }
  .pos-checkout .checkout-head { margin-bottom: 14px; }
  .pos-checkout .checkout-head h2 { font-size: 21px; }
  .pos-checkout .doc-picker,
  .pos-checkout .customer,
  .pos-checkout .totals,
  .pos-checkout .payment-label { position: relative; }
  .pos-checkout .doc-picker { padding-bottom: 3px; }
  .pos-checkout .doc-picker > label,
  .pos-checkout .customer > label,
  .pos-checkout .payment-label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .pos-checkout .doc-buttons { gap: 7px; }
  .pos-checkout .doc { min-height: 46px; padding: 5px 6px; font-size: 13px; }
  .pos-checkout .doc small { font-size: 10px; }
  .pos-checkout .customer { margin-top: 15px; padding-top: 13px; border-top: 1px solid #e5ebf4; }
  .pos-checkout .customer input,
  .pos-checkout .customer-doc input,
  .pos-checkout .customer-doc select { min-height: 40px; padding: 8px 10px; font-size: 13px; }
  .pos-checkout .customer-doc { grid-template-columns: 72px minmax(0, 1fr) 80px; gap: 6px; margin-top: 7px; }
  .pos-checkout .customer-doc button { min-height: 40px; padding-inline: 8px; }
  .pos-checkout .customer-hint { font-size: 11px; }
  .pos-checkout .totals { margin: 16px 0 15px; padding: 12px; border: 0; border-top: 1px solid #e5ebf4; border-radius: 0; background: transparent; }
  .pos-checkout .totals > div:not(.grand) { font-size: 13px; }
  .pos-checkout .totals .grand { margin: 12px -12px -12px; padding: 12px; border-top: 2px solid #d7e1f0; border-radius: 0 0 10px 10px; background: #f7f9fd; }
  .pos-checkout .totals .grand span { font-size: 13px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
  .pos-checkout .totals .grand strong { font-size: 33px; }
  .pos-checkout .payment-label { margin-top: 14px; padding-top: 13px; border-top: 1px solid #e5ebf4; }
  .pos-checkout .payments { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  .pos-checkout .payment { min-height: 45px; padding: 5px 4px; font-size: 12px; }
  .pos-checkout .payment .pay-icon { width: 24px; height: 24px; flex-basis: 24px; font-size: 11px; }
  .pos-checkout .payment-entry { margin-top: 9px; }
  .pos-checkout .payment-entry input { height: 40px; font-size: 13px; }
  .pos-checkout .payment-entry button { min-height: 40px; font-size: 12px; }
  .pos-checkout .payment-help { font-size: 11px; }
  .pos-checkout .finish { height: 56px; margin-top: 14px; font-size: 15px; font-weight: 900; }
  .pos-checkout .finish:disabled { background: #d8dee8; color: #7d8999; box-shadow: none; opacity: 1; }
}

@media screen and (min-width: 901px) and (max-width: 1599px) {
  .shell:has(.pos-workspace) { grid-template-columns: 236px minmax(0, 1fr) 390px; }
  .pos-sidebar-collapsed .shell:has(.pos-workspace) { grid-template-columns: 72px minmax(0, 1fr) 390px; }
  .pos-checkout { width: 390px; }
}

@media screen and (min-width: 901px) and (max-width: 1366px) {
  .shell:has(.pos-workspace) { grid-template-columns: 236px minmax(0, 1fr) 360px; gap: 12px; padding-inline: 12px; }
  .pos-sidebar-collapsed .shell:has(.pos-workspace) { grid-template-columns: 72px minmax(0, 1fr) 360px; }
  .pos-checkout { width: 360px; padding: 15px; }
  .pos-workspace .page-actions button { min-height: 36px; padding-inline: 7px; }
  .pos-checkout .payment { font-size: 11px; }
}

/* FASE 3.2 — filas de venta compactas y checkout con foco en cobrar. */
@media screen and (min-width: 901px) {
  .dispatch-v2-cart:not(.empty) { min-height: 0; height: auto; }
  .dispatch-v2-cart:not(.empty)::before {
    content: "PRODUCTO Y STOCK                                      UNIDAD      CANTIDAD      P. UNIT.      DSCTO.      TOTAL";
    padding: 10px 14px;
    font-size: 10px;
  }
  .dispatch-v2-row {
    position: relative;
    grid-template-columns: minmax(250px, 1fr) 78px 96px 112px 112px 112px 58px;
    grid-template-rows: auto auto;
    column-gap: 8px;
    row-gap: 8px;
    min-height: 0;
    padding: 12px 14px 13px;
  }
  .dispatch-v2-row > .sale-line-product {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    padding-right: 42px;
  }
  .dispatch-v2-row > label {
    grid-row: 2;
    min-width: 0;
    gap: 4px;
    color: #718198;
    font-size: 9px;
    letter-spacing: .03em;
  }
  .dispatch-v2-row > label > input,
  .dispatch-v2-row > label > select {
    min-height: 36px;
    padding: 6px 7px;
    font-size: 12px;
  }
  .dispatch-v2-row > .remove {
    position: absolute;
    top: 9px;
    right: 11px;
    z-index: 1;
    grid-column: auto;
    grid-row: auto;
    padding: 3px 0;
    color: #a46b76;
    font-size: 10px;
    opacity: .72;
  }
  .dispatch-v2-row > .remove:hover { color: #c05732; opacity: 1; }
  .sale-line-product > strong { font-size: 15px; font-weight: 700; }
  .sale-line-product > small { margin-top: 3px; font-size: 10px; }
  .sale-line-product > .product-runtime-debug {
    display: inline-block;
    max-width: 100%;
    margin-top: 6px;
    padding: 4px 8px;
    overflow: hidden;
    border: 1px solid #dbe6f5;
    border-radius: 999px;
    background: #f5f8fd;
    color: #5e7696;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .physical-dispatch {
    display: inline-block;
    margin: 6px 0 0;
    padding: 4px 8px;
    border-radius: 999px;
    background: #edf9f3;
    color: #16865c;
    font-size: 10px;
  }
  .sale-line-actions {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 6px 0 0;
    opacity: .72;
  }
  .sale-line-actions .free-toggle-label,
  .sale-line-actions .duplicate-free,
  .sale-line-actions .free-badge { font-size: 9px; }
  .sale-line-actions .duplicate-free { min-height: 24px; padding: 0 6px; }
  .sale-line-actions .free-badge { padding: 3px 5px; }

  .pos-checkout .customer {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }
  .pos-checkout .customer > label { grid-column: 1; grid-row: 1; }
  .pos-checkout .customer-doc { grid-column: 1; grid-row: 2; margin-top: 0; }
  .pos-checkout .customer > #customerName { grid-column: 1; grid-row: 3; }
  .pos-checkout .customer > #customerAddress { grid-column: 1; grid-row: 4; }
  .pos-checkout .customer > .customer-hint { grid-column: 1; grid-row: 5; margin: 0; }
  .pos-checkout .customer > #customerName,
  .pos-checkout .customer > #customerAddress { opacity: .88; }
  .pos-checkout .customer-doc { gap: 6px; }
  .pos-checkout .customer-doc select,
  .pos-checkout .customer-doc input,
  .pos-checkout .customer-doc button { min-height: 40px; }
  .pos-checkout .finish {
    height: 58px;
    margin-top: 16px;
    border: 2px solid rgba(255,255,255,.22);
    box-shadow: 0 12px 24px rgba(47,91,255,.30);
    font-size: 16px;
    letter-spacing: .02em;
  }
  .pos-checkout .finish:not(:disabled) { background: linear-gradient(135deg, #16865c, #0d6e4b); }
  .pos-checkout .finish:not(:disabled):hover { background: linear-gradient(135deg, #11714e, #09583c); }
  .pos-checkout .finish:disabled { border-color: transparent; }
  .pos-workspace .page-actions button { min-height: 40px; font-size: 12px; }
}

@media screen and (min-width: 901px) and (max-width: 1599px) {
  .dispatch-v2-row { grid-template-columns: minmax(210px, 1fr) 70px 82px 96px 96px 96px 52px; }
  .pos-workspace .page-actions button { min-height: 38px; padding-inline: 8px; }
}

@media screen and (min-width: 901px) and (max-width: 1366px) {
  .dispatch-v2-row { grid-template-columns: minmax(180px, 1fr) 64px 76px 86px 86px 86px 48px; gap: 6px; padding-inline: 10px; }
  .dispatch-v2-row > label > input,
  .dispatch-v2-row > label > select { font-size: 11px; }
  .pos-checkout .finish { height: 56px; }
}

/* Pulido final previo al checkpoint: sticky, lectura de línea y controles secundarios. */
@media screen and (min-width: 901px) {
  .pos-checkout {
    padding-bottom: 19px;
    scroll-padding-bottom: 19px;
  }
  .pos-checkout .payments,
  .pos-checkout .payment-entry,
  .pos-checkout .payment-help,
  .pos-checkout .payment-list { position: relative; z-index: 1; }

  .dispatch-v2-row > .sale-line-product { padding-top: 2px; }
  .dispatch-v2-row .sale-line-product > strong {
    margin-bottom: 6px;
    line-height: 1.3;
  }
  .dispatch-v2-row .sale-line-product > small:not(.product-runtime-debug) {
    margin-top: 0;
    line-height: 1.45;
  }
  .dispatch-v2-row .sale-line-product > .product-runtime-debug {
    margin-top: 9px;
    line-height: 1.35;
    letter-spacing: .01em;
  }
  .dispatch-v2-row .sale-line-product > .physical-dispatch {
    margin-top: 9px;
    line-height: 1.35;
  }
  .dispatch-v2-row .sale-line-actions {
    margin-top: 9px;
    gap: 6px;
    line-height: 1.2;
  }

  .dispatch-v2-row .product-runtime-debug {
    border-color: #cfddf0;
    background: #f1f6fd;
    color: #4e6788;
    font-weight: 700;
  }
  .dispatch-v2-row .physical-dispatch {
    border: 1px solid #d5eee1;
    background: #f0faf5;
    color: #217655;
    font-weight: 700;
  }

  .dispatch-v2-row .sunat-line-options,
  .dispatch-v2-row .sunat-affectation,
  .dispatch-v2-row .line-actions,
  .dispatch-v2-row .free-toggle-label {
    color: #7c899c;
    font-size: 9px;
    font-weight: 600;
  }
  .dispatch-v2-row .sunat-line-options { gap: 5px; margin-top: 6px; }
  .dispatch-v2-row .tax-affectation,
  .dispatch-v2-row .sunat-line-options select {
    min-height: 28px;
    padding: 4px 6px;
    border-color: #dbe3ee;
    background: #fafbfd;
    color: #6f7d91;
    font-size: 10px;
  }
  .dispatch-v2-row .free-badge { opacity: .78; font-size: 9px; }
  .dispatch-v2-row .duplicate-free {
    min-height: 25px;
    padding: 0 6px;
    border-color: #dbe3ee;
    background: #fafbfd;
    color: #718198;
    font-size: 9px;
  }
  .dispatch-v2-row .duplicate-free:hover { background: #f0f4fa; color: #4c607c; }
}

@media screen and (min-width: 901px) and (max-width: 1366px) {
  .pos-checkout { padding-bottom: 19px; scroll-padding-bottom: 19px; }
}
.operation-alert-stack{position:fixed;top:22px;right:22px;z-index:100000;display:grid;gap:10px;width:min(390px,calc(100vw - 32px));pointer-events:none}.operation-alert{display:grid;grid-template-columns:38px 1fr 28px;align-items:center;gap:11px;padding:14px 13px;border:1px solid #b9e3ca;border-radius:14px;background:#f1fff6;color:#135b35;box-shadow:0 18px 46px #102a432e;opacity:0;transform:translateY(-10px);transition:.2s ease;pointer-events:auto}.operation-alert.visible{opacity:1;transform:translateY(0)}.operation-alert-error{border-color:#f2b8bd;background:#fff5f5;color:#a1262f}.operation-alert-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d9f6e4;font-size:20px;font-weight:900}.operation-alert-error .operation-alert-icon{background:#ffe0e2}.operation-alert strong,.operation-alert small{display:block}.operation-alert strong{font-size:13px}.operation-alert small{margin-top:3px;color:#4b6658;font-size:11px;line-height:1.35}.operation-alert-error small{color:#7c4549}.operation-alert button{align-self:start;border:0;background:transparent;color:currentColor;font-size:20px;cursor:pointer}@media(max-width:600px){.operation-alert-stack{top:12px;right:12px;left:12px;width:auto}}

/* Ingreso de almacén: flujo guiado y legible. */
.warehouse-receipt-card{width:min(1120px,96vw);padding:0;background:#f7f9fd}.warehouse-receipt-head{position:sticky;top:0;z-index:6;padding:24px 28px 18px;background:#fff;border-bottom:1px solid #e4eaf4}.warehouse-receipt-head .modal-help{margin-bottom:0}.receipt-entry-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:17px 28px;list-style:none;background:#fff;border-bottom:1px solid #e4eaf4}.receipt-entry-steps li{position:relative;display:flex;align-items:center;gap:10px;color:#8794a8}.receipt-entry-steps li:not(:last-child)::after{content:"";position:absolute;right:12px;width:calc(100% - 166px);height:2px;background:#dce3ee}.receipt-entry-steps b{display:grid;place-items:center;width:30px;height:30px;border:2px solid #d6deea;border-radius:50%;background:#fff;font-size:12px}.receipt-entry-steps span,.receipt-entry-steps strong,.receipt-entry-steps small{display:block}.receipt-entry-steps strong{font-size:12px}.receipt-entry-steps small{margin-top:2px;font-size:10px}.receipt-entry-steps li.active{color:#315efb}.receipt-entry-steps li.active b{border-color:#315efb;background:#eef2ff}.receipt-entry-steps li.done{color:#16865c}.receipt-entry-steps li.done b{border-color:#16865c;background:#16865c;color:#fff}.receipt-entry-steps li.done b::before{content:"✓"}.receipt-entry-steps li.done b{font-size:0}.receipt-entry-section{margin:16px 28px 0;padding:18px;border:1px solid #dfe6f1;border-radius:14px;background:#fff}.receipt-entry-section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:15px}.receipt-entry-section-title>span{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:8px;background:#edf2ff;color:#315efb;font-size:12px;font-weight:900}.receipt-entry-section-title h3{margin:1px 0 3px;font-size:14px}.receipt-entry-section-title p{margin:0;color:#74839a;font-size:11px}.receipt-product-search{display:block;color:#52627a;font-size:11px;font-weight:800}.receipt-product-search>span{display:flex;align-items:center;gap:8px}.receipt-product-search em,.receipt-entry-grid em{color:#315efb;font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}.receipt-product-search input,.receipt-entry-grid input,.receipt-entry-grid select{display:block;width:100%;height:43px;margin-top:6px;border:1px solid #ccd7e6;border-radius:9px;background:#fff;padding:0 11px;color:#162033;font:inherit}.receipt-product-search input{height:48px;padding-left:14px;font-size:14px;border-width:2px;border-color:#bfcdfd}.receipt-product-search input:focus,.receipt-entry-grid input:focus,.receipt-entry-grid select:focus{outline:3px solid #315efb1f;border-color:#315efb}.receipt-entry-grid input:disabled,.receipt-entry-grid select:disabled{background:#f2f4f8;color:#9aa5b5;cursor:not-allowed}.warehouse-receipt-card #receiptResults{display:grid;margin-top:7px;border:1px solid #dce5f1;border-radius:10px;box-shadow:0 10px 26px #16203314}.warehouse-receipt-card #receiptResults:empty{display:none}.warehouse-receipt-card #receiptResults button{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:12px;width:100%;padding:11px 13px;border:0;border-bottom:1px solid #edf1f6;background:#fff;color:#162033;text-align:left;cursor:pointer}.warehouse-receipt-card #receiptResults button:last-child{border-bottom:0}.warehouse-receipt-card #receiptResults button:hover{background:#f1f5ff}.warehouse-receipt-card #receiptResults button strong{color:#315efb}.warehouse-receipt-card #receiptResults button small{color:#315efb;font-weight:800}.receipt-search-empty{padding:16px;color:#a1262f;text-align:center;font-size:12px}.receipt-selected-product{display:flex;align-items:center;gap:12px;margin-top:10px;padding:11px 13px;border:1px solid #bce1ca;border-radius:10px;background:#f0fbf5;color:#285f41}.receipt-selected-product span{font-size:10px;font-weight:900;text-transform:uppercase}.receipt-selected-product strong{color:#163b29}.receipt-selected-product small{margin-left:auto;color:#537263}.receipt-selected-product.empty{border-style:dashed;border-color:#d9e1ec;background:#fafbfc;color:#8592a5}.receipt-entry-grid{display:grid;grid-template-columns:.8fr .75fr 1.15fr 1.35fr 1.35fr;gap:12px;align-items:start}.receipt-entry-grid label{display:block;color:#52627a;font-size:10px;font-weight:800}.receipt-entry-grid label>small{float:right;color:#8794a8;font-weight:600}.money-input{position:relative}.money-input>span{position:absolute;left:11px;top:20px;color:#63728a;font-weight:900}.money-input input{padding-left:32px}.receipt-reference-field{grid-column:auto}.receipt-review-action{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px;padding-top:14px;border-top:1px solid #edf1f6}.receipt-review-action .primary-action{min-width:175px}.receipt-form-message{color:#67778e;font-size:11px;font-weight:750}.receipt-form-message::before{content:"ⓘ";margin-right:6px;color:#315efb}.receipt-form-message.success{color:#16865c}.receipt-form-message.success::before{content:"✓";color:#16865c}.receipt-form-message.error{color:#b4323b}.receipt-form-message.error::before{content:"!";color:#b4323b;font-weight:900}.receipt-review-section{margin-bottom:16px}.receipt-preview-empty{display:grid!important;place-items:center;min-height:84px;margin-top:0;border:1px dashed #d4deea;border-radius:11px;background:#fafbfc;color:#8794a8;font-size:12px}.receipt-review-section .receipt-preview{margin-top:0}.receipt-preview-panel.highlight{border-color:#bccbff;background:#f5f7ff}.receipt-preview-panel.success{border-color:#bce1ca;background:#f2fbf6}.receipt-preview-panel.success h3{color:#16865c}.warehouse-receipt-footer{bottom:0;margin:0;margin-top:18px;padding:15px 28px 20px}.warehouse-receipt-footer .primary-action{min-width:180px}.warehouse-receipt-footer .primary-action:disabled{cursor:not-allowed}.receipt-save-success{display:block!important;border:1px solid #b9e3ca!important;background:#f1fff6!important}.receipt-success-result{display:flex;align-items:center;gap:13px;padding:15px;color:#135b35}.receipt-success-result>b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#d9f6e4;font-size:20px}.receipt-success-result strong,.receipt-success-result span{display:block}.receipt-success-result span{margin-top:3px;font-size:11px;color:#4b6658}
@media(max-width:900px){.receipt-entry-grid{grid-template-columns:repeat(2,1fr)}.receipt-entry-steps li:not(:last-child)::after{display:none}.receipt-selected-product{align-items:flex-start;flex-direction:column}.receipt-selected-product small{margin-left:0}}
@media(max-width:620px){.warehouse-receipt-head{padding:20px}.receipt-entry-steps{padding:13px 20px}.receipt-entry-steps small{display:none}.receipt-entry-section{margin:12px 14px 0;padding:14px}.receipt-entry-grid{grid-template-columns:1fr}.receipt-review-action{align-items:stretch;flex-direction:column}.receipt-review-action .primary-action{width:100%}.warehouse-receipt-card #receiptResults button{grid-template-columns:1fr}.warehouse-receipt-card #receiptResults button small{display:none}.warehouse-receipt-footer{padding:14px 20px 18px}}

/* Kardex inteligente: consulta guiada, alertas accionables y lectura progresiva. */
.kardex-smart-card{width:min(1460px,97vw);padding:0;background:#f7f9fd}.kardex-smart-head{position:sticky;top:0;z-index:8;padding:23px 28px 18px;background:#fff;border-bottom:1px solid #e3eaf3}.kardex-smart-head .modal-help{margin-bottom:0}.kardex-assistant{display:grid;grid-template-columns:48px 1fr;gap:14px;margin:18px 28px;padding:17px;border:1px solid #bdccff;border-radius:15px;background:linear-gradient(135deg,#f2f5ff,#fff);box-shadow:0 8px 26px #315efb12}.kardex-assistant-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#315efb;color:#fff;font-size:12px;font-weight:900;box-shadow:0 7px 16px #315efb38}.kardex-assistant-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.kardex-assistant-title strong,.kardex-assistant-title small{display:block}.kardex-assistant-title strong{color:#17345e;font-size:14px}.kardex-assistant-title small{margin-top:3px;color:#718198;font-size:11px}.kardex-assistant-title>span{padding:4px 7px;border-radius:999px;background:#e7edff;color:#315efb;font-size:8px;font-weight:900}.kardex-question-row{display:flex;gap:8px;margin-top:12px}.kardex-question-row input{min-width:0;flex:1;height:43px;border:1px solid #cbd7e8;border-radius:9px;background:#fff;padding:0 12px;color:#162033;font-size:12px}.kardex-question-row input:focus{outline:3px solid #315efb1f;border-color:#315efb}.kardex-question-row button{min-width:105px}.kardex-question-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.kardex-question-chips button{border:1px solid #d6e0f0;border-radius:999px;background:#fff;color:#4f6381;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}.kardex-question-chips button:hover{border-color:#315efb;background:#edf2ff;color:#315efb}.kardex-assistant-response{margin-top:11px;padding:10px 12px;border-left:3px solid #315efb;border-radius:0 8px 8px 0;background:#fff;color:#53657d;font-size:11px;line-height:1.45}.kardex-assistant-response b{color:#315efb}.kardex-assistant-response.error{border-left-color:#c33c46;background:#fff7f7;color:#87343a}.kardex-assistant-response.error b{color:#c33c46}.kardex-filter-section,.kardex-detail-section,.kardex-balances,.kardex-downloads{margin:0 28px 16px;padding:17px;border:1px solid #dfe6f1;border-radius:14px;background:#fff}.kardex-section-title,.kardex-section-title>div{display:flex;align-items:flex-start;justify-content:space-between;gap:11px}.kardex-section-title>div>span,.kardex-balances summary>span{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:8px;background:#edf2ff;color:#315efb;font-size:12px;font-weight:900}.kardex-section-title h3{margin:1px 0 3px;font-size:14px}.kardex-section-title p{margin:0;color:#74839a;font-size:11px}.kardex-filter-section .kardex-toolbar{grid-template-columns:140px 140px minmax(260px,1.6fr) minmax(180px,.9fr) auto auto;margin-top:14px;padding:0;border:0;background:transparent}.kardex-filter-section .kardex-toolbar label{color:#53647c}.kardex-filter-section .kardex-toolbar label em{float:right;color:#315efb;font-size:8px;font-style:normal;text-transform:uppercase}.kardex-filter-section .kardex-toolbar label small{float:right;color:#8794a8;font-size:9px;font-weight:600}.kardex-filter-section .kardex-toolbar input,.kardex-filter-section .kardex-toolbar select{height:42px}.kardex-filter-section .kardex-product-results{position:absolute;left:308px;z-index:9;width:min(560px,50vw);margin-top:5px}.kardex-filter-alert{margin-top:11px;padding:10px 12px;border:1px solid #f0c0c4;border-radius:9px;background:#fff6f6;color:#a1262f;font-size:11px;font-weight:800}.kardex-filter-alert::before{content:"!";display:inline-grid;place-items:center;width:19px;height:19px;margin-right:7px;border-radius:50%;background:#ffe0e2}.kardex-status{margin:0 28px 12px;padding:0 2px}.kardex-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 28px 14px}.kardex-overview article{padding:13px 15px;border:1px solid #dfe6f1;border-radius:12px;background:#fff}.kardex-overview span,.kardex-overview strong,.kardex-overview small{display:block}.kardex-overview span{color:#708097;font-size:10px;font-weight:800;text-transform:uppercase}.kardex-overview strong{margin-top:5px;color:#17345e;font-size:24px}.kardex-overview small{margin-top:2px;color:#8794a8;font-size:9px}.kardex-overview .positive{border-color:#bde2cb;background:#f4fcf7}.kardex-overview .positive strong{color:#16865c}.kardex-overview .negative{border-color:#f1c4c7;background:#fff8f8}.kardex-overview .negative strong{color:#b2333c}.kardex-overview .warning{border-color:#f2d29c;background:#fffaf1}.kardex-overview .warning strong{color:#a45a00}.kardex-overview .ok{border-color:#bde2cb}.kardex-overview .ok strong{color:#16865c}.kardex-insights{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0 28px 14px;padding:14px;border:1px solid #efd09a;border-radius:13px;background:#fffaf1}.kardex-insights-title{grid-column:1/-1;display:flex;align-items:baseline;gap:9px;margin-bottom:2px}.kardex-insights-title strong{color:#8b4d00;font-size:12px}.kardex-insights-title span{color:#92744b;font-size:10px}.kardex-insights article{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:10px;border:1px solid #f0dab2;border-radius:9px;background:#fff}.kardex-insights article>b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff0d4;color:#a45a00}.kardex-insights article.critical{border-color:#f0babe;background:#fff7f7}.kardex-insights article.critical>b{background:#ffe0e2;color:#b2333c}.kardex-insights article strong{display:block;color:#593f20;font-size:11px}.kardex-insights article p{margin:3px 0 0;color:#75634c;font-size:10px;line-height:1.4}.kardex-balances{padding:0;overflow:hidden}.kardex-balances summary{display:flex;align-items:flex-start;gap:11px;padding:15px 17px;cursor:pointer;list-style:none}.kardex-balances summary::-webkit-details-marker{display:none}.kardex-balances summary div{flex:1}.kardex-balances summary strong,.kardex-balances summary small{display:block}.kardex-balances summary strong{font-size:13px}.kardex-balances summary small{margin-top:3px;color:#78879b;font-size:10px}.kardex-balances[open] summary{border-bottom:1px solid #e7edf5}.kardex-balances .kardex-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin:0;padding:14px}.kardex-balances .kardex-summary-card{min-width:0}.kardex-summary-card.negative{border-color:#efb8bd;background:#fff6f6}.kardex-summary-card.negative .kardex-summary-base strong{color:#b2333c}.kardex-detail-section{padding:17px}.kardex-detail-section .kardex-table-wrap{margin-top:14px;max-height:430px;overflow:auto}.kardex-detail-section .kardex-table thead{position:sticky;top:0;z-index:2}.kardex-detail-section .kardex-table tbody tr:hover{background:#f8faff}.kardex-missing{display:inline-block;padding:4px 6px;border-radius:6px;background:#fff0df;color:#a45a00;font-size:9px;font-weight:900}.kardex-empty strong,.kardex-empty small{display:block}.kardex-empty small{margin-top:5px}.kardex-downloads{padding:0;overflow:hidden}.kardex-downloads>summary{padding:14px 17px;color:#315efb;font-size:11px;font-weight:900;cursor:pointer}.kardex-downloads[open]>summary{border-bottom:1px solid #e7edf5}.kardex-downloads .kardex-actions{margin:0;padding:14px 17px}.kardex-smart-card>.kardex-downloads:last-child{margin-bottom:26px}
@media(max-width:1050px){.kardex-filter-section .kardex-toolbar{grid-template-columns:repeat(2,1fr)}.kardex-filter-section .kardex-product-filter{grid-column:1/-1}.kardex-filter-section .kardex-product-results{position:relative;left:auto;width:100%}.kardex-overview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.kardex-smart-head{padding:20px}.kardex-assistant{grid-template-columns:1fr;margin:12px 14px}.kardex-assistant-avatar{display:none}.kardex-question-row{flex-direction:column}.kardex-question-row button{width:100%}.kardex-filter-section,.kardex-detail-section,.kardex-balances,.kardex-downloads{margin:0 14px 12px}.kardex-filter-section .kardex-toolbar{grid-template-columns:1fr}.kardex-filter-section .kardex-product-filter{grid-column:auto}.kardex-overview{grid-template-columns:1fr 1fr;margin:0 14px 12px}.kardex-insights{grid-template-columns:1fr;margin:0 14px 12px}.kardex-status{margin-inline:14px}.kardex-insights-title{display:block}.kardex-insights-title span{display:block;margin-top:3px}.kardex-balances .kardex-summary{grid-template-columns:1fr}}
.quote-panel-help{margin:-6px 0 12px;color:#65748b;font-size:11px;line-height:1.45}.quote-identity-row{display:grid;grid-template-columns:110px minmax(150px,1fr) auto;gap:8px;align-items:end;margin-bottom:8px}.quote-identity-row label{display:grid;gap:5px;color:#56677f;font-size:11px;font-weight:800}.quote-identity-row select,.quote-identity-row input{width:100%;height:40px;border:1px solid #d4deeb;border-radius:8px;padding:0 10px;background:#fff;color:#17233d;font:inherit}.quote-identity-row button{height:40px;white-space:nowrap}.quote-identity-status{margin:0 0 12px;padding:8px 10px;border-radius:8px;background:#f2f5f9;color:#65748b;font-size:11px;font-weight:700}.quote-identity-status.loading{background:#eef3ff;color:#315efb}.quote-identity-status.success{background:#ecf9f2;color:#087b48}.quote-identity-status.error{background:#fff1f1;color:#b42318}.quote-email-field{grid-column:1/-1}.quote-delivery-help{margin:10px 0 0;padding:8px 10px;border-left:3px solid #315efb;background:#f4f7ff;color:#536582;font-size:10px}.quotation-share-card{max-width:720px;text-align:center;padding:30px}.quotation-success-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;border-radius:50%;background:#e9f9f0;color:#078348;font-size:30px;font-weight:900}.quotation-share-card h2{margin:4px 0 6px;color:#172d4f}.quotation-share-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;margin:20px 0;text-align:left}.quotation-share-summary>div{min-width:0;padding:13px;border:1px solid #dbe5f1;border-radius:11px;background:#f8fbff}.quotation-share-summary span,.quotation-share-summary small{display:block;color:#6b7d96;font-size:10px}.quotation-share-summary strong{display:block;overflow:hidden;margin:4px 0;color:#17345e;text-overflow:ellipsis}.quotation-share-section{padding:18px;border:1px solid #dbe5f1;border-radius:14px;text-align:left}.quotation-share-section h3{margin:0;color:#172d4f}.quotation-share-section>p{margin:5px 0 14px;color:#667993;font-size:11px}.quotation-share-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.share-action{display:grid;gap:4px;min-height:70px;padding:12px;border:1px solid #cad7e7;border-radius:11px;background:#fff;color:#17345e;text-align:left;cursor:pointer}.share-action strong{font-size:12px}.share-action small{overflow:hidden;color:#6b7d96;font-size:9px;text-overflow:ellipsis}.share-action.whatsapp{border-color:#86d6ad;background:#effbf4;color:#087b48}.share-action.email{border-color:#a8c1ff;background:#f2f6ff;color:#2857d8}.share-action.pdf{border-color:#f2c58c;background:#fff8ee;color:#a95300}.share-action:disabled{filter:grayscale(1);cursor:not-allowed;opacity:.48}.quotation-share-note{margin:13px 0 0;color:#6b7d96;font-size:10px;line-height:1.5}.quotation-share-card .conversion-actions{justify-content:center;margin-top:18px}@media(max-width:760px){.quote-identity-row{grid-template-columns:1fr 1fr}.quote-identity-row button{grid-column:1/-1}.quotation-share-summary,.quotation-share-actions{grid-template-columns:1fr 1fr}.quotation-share-card{padding:22px}}
.quote-saved-label,.quote-contact-label{display:block;margin-top:4px;color:#087b48;font-size:9px;font-weight:800}.quote-contact-label{color:#687b94;font-weight:600}.quote-actions.delivery{display:grid;grid-template-columns:repeat(2,minmax(105px,1fr));min-width:235px}.quote-whatsapp,.quote-email{border:1px solid #86d6ad;border-radius:7px;background:#effbf4;color:#087b48;padding:7px 9px;font-size:10px;font-weight:800;cursor:pointer}.quote-email{border-color:#a8c1ff;background:#f2f6ff;color:#2857d8}.quotation-delivery-card{max-width:610px}.quotation-delivery-card .quote-fields{margin:18px 0}.quotation-delivery-card .modal-message{min-height:20px}@media(max-width:760px){.quote-actions.delivery{grid-template-columns:1fr}.quotation-delivery-card .quote-fields.two{grid-template-columns:1fr}}
.conversion-help{margin:7px 0 14px;color:#687b94;font-size:11px}.conversion-grid.accepting{grid-template-columns:1.15fr 1.4fr .7fr 1.1fr auto}.quote-actions.delivery .quote-convert.accept{grid-column:1/-1;background:#fff5e8;border-color:#f0ae55;color:#9b4d00;font-weight:900}@media(max-width:900px){.conversion-grid.accepting{grid-template-columns:1fr 1fr}.conversion-grid.accepting .conversion-lookup{grid-column:1/-1}}
.modal-backdrop-warning>.modal-card,.modal-backdrop-warning>.product-master-card{animation:modal-protected-pulse .38s ease}@keyframes modal-protected-pulse{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}55%{transform:translateX(5px)}80%{transform:translateX(-2px)}}


/* SUNAT / SIRE */
.sire-card{width:min(980px,96vw);max-height:92vh;overflow:auto}.sire-status{display:flex;gap:12px;align-items:center;margin:14px 0;padding:14px 16px;border:1px solid #d8e3f3;border-radius:12px;background:#f7faff}.sire-status strong{white-space:nowrap}.sire-status span{color:#5f6f86;font-size:13px}.sire-form{padding:16px;border:1px solid #dbe4f0;border-radius:14px;background:#fff}.sire-company{display:flex;gap:12px;align-items:baseline;margin-bottom:14px}.sire-company span{font-size:11px;font-weight:900;color:#70809a;text-transform:uppercase}.sire-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sire-grid label,.sire-period label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:#4f6079}.sire-grid input,.sire-period input{width:100%}.sire-books{display:grid;gap:12px;margin-top:16px}.sire-period{display:flex;align-items:end;gap:12px;padding:12px 14px;border-radius:12px;background:#f6f8fc}.sire-period label{max-width:220px}.sire-period small{padding-bottom:9px;color:#71819a}.sire-books article{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px;border:1px solid #dce5f2;border-radius:14px;background:#fff}.sire-books article span{font-size:10px;font-weight:900;color:#315efb;letter-spacing:.08em}.sire-books article h3{margin:3px 0}.sire-books article p,.sire-books article small{margin:0;color:#6b7b93}.sire-books article>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.modal-message.error{color:#b42318}@media(max-width:760px){.sire-grid{grid-template-columns:1fr}.sire-books article{align-items:flex-start;flex-direction:column}.sire-books article>div:last-child{justify-content:flex-start}.sire-period{align-items:flex-start;flex-direction:column}.sire-period small{padding-bottom:0}}
/* SUNAT / SIRE v2 - importación manual, conciliación y pre-cierre tributario */
.sire-workspace-card{width:min(1320px,97vw);padding:0;background:#f6f8fc;max-height:94vh}.sire-main-head{position:sticky;top:0;z-index:9;padding:22px 26px 18px;background:#fff;border-bottom:1px solid #e2e9f3}.sire-main-head .modal-help{margin-bottom:0}.sire-period-main{position:sticky;top:92px;z-index:8;display:grid;grid-template-columns:220px 1fr auto;align-items:end;gap:14px;margin:0;padding:13px 26px;border-radius:0;background:#f2f5fb;border-bottom:1px solid #dfe7f2}.sire-period-main>div strong,.sire-period-main>div small{display:block}.sire-period-main>div strong{color:#20395e;font-size:12px}.sire-period-main>div small{margin-top:3px;color:#78879b;font-size:10px}.sire-manual-section,.sire-results-section,.sire-preclose-section,.sire-api-details{margin:16px 26px;padding:18px;border:1px solid #dce5f1;border-radius:15px;background:#fff}.sire-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.sire-section-heading h3{margin:3px 0 4px;color:#172f52;font-size:16px}.sire-section-heading p{max-width:770px;margin:0;color:#6c7c93;font-size:11px;line-height:1.5}.sire-kicker{color:#315efb;font-size:9px;font-weight:900;letter-spacing:.1em}.sire-safe-badge{flex:0 0 auto;padding:7px 10px;border:1px solid #a5dcc0;border-radius:999px;background:#eefaf4;color:#087a48;font-size:9px;font-weight:900;text-transform:uppercase}.sire-import-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sire-import-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(230px,.9fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid #dce5f2;border-radius:13px;background:#fbfcff}.sire-import-card span{color:#315efb;font-size:9px;font-weight:900;letter-spacing:.08em}.sire-import-card h3{margin:2px 0;color:#18355d}.sire-import-card p{margin:0 0 5px;color:#6b7c93;font-size:10px}.sire-import-state{display:block;overflow:hidden;max-width:460px;color:#77869a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.sire-import-state.ok{color:#087a48}.sire-import-state.warning{color:#9a6200}.sire-import-state.missing{color:#8b97a8}.sire-file-picker{display:grid;gap:5px;color:#52637b;font-size:10px;font-weight:800}.sire-file-picker input{min-width:0;width:100%;padding:8px;border:1px dashed #bdcbe0;border-radius:9px;background:#fff;font-size:10px}.sire-tabs{display:flex;gap:5px;padding:4px;border-radius:10px;background:#eef2f8}.sire-tabs button{border:0;border-radius:7px;background:transparent;color:#667992;padding:7px 10px;font-size:10px;font-weight:900;cursor:pointer}.sire-tabs button.active{background:#fff;color:#315efb;box-shadow:0 2px 7px #23385a16}.sire-recon-summary{display:grid;grid-template-columns:repeat(8,minmax(90px,1fr));gap:7px;margin-bottom:12px}.sire-recon-summary article{padding:9px 10px;border:1px solid #dfe6f0;border-radius:9px;background:#f9fbfd}.sire-recon-summary span,.sire-recon-summary strong{display:block}.sire-recon-summary span{color:#77869a;font-size:8px;font-weight:800;text-transform:uppercase}.sire-recon-summary strong{margin-top:3px;color:#213b61;font-size:17px}.sire-recon-summary article.ok{border-color:#c9e8d8;background:#f3fbf7}.sire-recon-summary article.ok strong{color:#087a48}.sire-recon-summary article.warn{border-color:#f0d6a8;background:#fffaf1}.sire-recon-summary article.warn strong{color:#9a6200}.sire-recon-summary article.bad{border-color:#f0c4c7;background:#fff7f7}.sire-recon-summary article.bad strong{color:#b4232f}.sire-table-wrap{max-height:320px;overflow:auto;border:1px solid #e0e7f0;border-radius:11px}.sire-table{width:100%;border-collapse:collapse;font-size:10px}.sire-table th{position:sticky;top:0;z-index:2;padding:9px 10px;background:#f1f5fa;color:#5b6e88;text-align:left;white-space:nowrap}.sire-table td{padding:8px 10px;border-top:1px solid #edf1f6;color:#4e6079;white-space:nowrap}.sire-table td.num,.sire-table th.num{text-align:right}.sire-table td.diff{color:#b4232f;font-weight:900}.sire-empty{padding:24px!important;color:#8492a5!important;text-align:center}.sire-row-status{display:inline-block;padding:4px 7px;border-radius:999px;background:#eef2f7;color:#60718a;font-size:8px;font-weight:900}.sire-row-status.coincide{background:#e9f8f0;color:#087a48}.sire-row-status.falta-en-sistema,.sire-row-status.falta-en-sire{background:#fff0f1;color:#b4232f}.sire-row-status.diferencia-monto,.sire-row-status.diferencia-fecha{background:#fff5e4;color:#985e00}.sire-limit-note{display:block;margin-top:7px;color:#8492a5;font-size:9px}.sire-tax-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.sire-tax-grid label{display:grid;gap:5px;color:#53647b;font-size:10px;font-weight:800}.sire-tax-grid label.wide{grid-column:1/-1}.sire-tax-grid input,.sire-tax-grid select{width:100%;height:39px;border:1px solid #ccd7e6;border-radius:8px;background:#fff;padding:0 9px;color:#1f304a}.sire-tax-grid label small{color:#8794a5;font-size:8px;font-weight:600;line-height:1.3}.sire-preclose-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:15px}.sire-preclose-cards article{padding:12px;border:1px solid #dfe6f0;border-radius:11px;background:#f9fbfd}.sire-preclose-cards span,.sire-preclose-cards strong,.sire-preclose-cards small{display:block}.sire-preclose-cards span{color:#718198;font-size:9px;font-weight:800;text-transform:uppercase}.sire-preclose-cards strong{margin:5px 0 2px;color:#17375f;font-size:19px}.sire-preclose-cards small{color:#8995a6;font-size:8px}.sire-preclose-cards article.total{border-color:#a9bfff;background:#f1f5ff}.sire-preclose-cards article.total strong{color:#2755d4}.sire-warning-list{display:grid;gap:5px;margin-top:10px}.sire-warning-list p{margin:0;padding:8px 10px;border-left:3px solid #e0a541;border-radius:0 7px 7px 0;background:#fff9ee;color:#775926;font-size:9px;line-height:1.4}.sire-api-details{padding:0;overflow:hidden}.sire-api-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 17px;color:#29476f;cursor:pointer;list-style:none}.sire-api-details>summary::-webkit-details-marker{display:none}.sire-api-details>summary strong{font-size:12px}.sire-api-details>summary span{color:#7d8ba0;font-size:9px;font-weight:600}.sire-api-details[open]>summary{border-bottom:1px solid #e2e9f2;background:#fafcff}.sire-api-details .sire-status,.sire-api-details .sire-form,.sire-api-details .sire-books{margin:14px 16px}.sire-api-books{padding-bottom:4px}.sire-workspace-card>.modal-message{position:sticky;bottom:0;z-index:10;min-height:0;margin:0;padding:10px 26px;background:#fff;border-top:1px solid #e2e8f1;box-shadow:0 -5px 14px #17233d0b;font-size:10px;font-weight:800}.sire-workspace-card>.modal-message:empty{display:none}
@media(max-width:1120px){.sire-import-grid{grid-template-columns:1fr}.sire-recon-summary{grid-template-columns:repeat(4,1fr)}.sire-tax-grid{grid-template-columns:repeat(2,1fr)}.sire-preclose-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sire-main-head{padding:18px}.sire-period-main{position:static;grid-template-columns:1fr;padding:12px 14px}.sire-manual-section,.sire-results-section,.sire-preclose-section,.sire-api-details{margin:12px 14px;padding:14px}.sire-api-details{padding:0}.sire-section-heading{flex-direction:column}.sire-import-card{grid-template-columns:1fr}.sire-recon-summary{grid-template-columns:repeat(2,1fr)}.sire-tax-grid,.sire-preclose-cards{grid-template-columns:1fr}.sire-tax-grid label.wide{grid-column:auto}.sire-table-wrap{max-height:380px}.sire-api-details>summary{align-items:flex-start;flex-direction:column}.sire-workspace-card>.modal-message{padding:10px 14px}}
