/* =========================================
   ESTADO BADGES
========================================= */
.badge-activo {
    background: #dcfce7; color: #16a34a;
    padding: 4px 12px; border-radius: 20px;
    font-size: .75rem; font-weight: 700;
    border: 1px solid #bbf7d0;
}
.badge-anulado {
    background: #fee2e2; color: #dc2626;
    padding: 4px 12px; border-radius: 20px;
    font-size: .75rem; font-weight: 700;
    border: 1px solid #fecaca;
}

/* =========================================
   BADGE ÍTEMS
========================================= */
.badge-items {
    background: #dbeafe; color: #1d4ed8;
    padding: 4px 12px; border-radius: 20px;
    font-size: .75rem; font-weight: 700;
    border: 1px solid #bfdbfe;
}

/* =========================================
   COMPROBANTE BADGES
========================================= */
.comp-badge {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 6px;
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .3px;
}
.comp-F  { background: #dbeafe; color: #1d4ed8; border: 1px solid #bfdbfe; }
.comp-B  { background: #d1fae5; color: #065f46; border: 1px solid #a7f3d0; }
.comp-NV { background: #f3f4f6; color: #374151; border: 1px solid #d1d5db; }
.comp-emitido  { font-size: .7rem; color: #16a34a; font-weight: 600; }
.comp-pendiente { font-size: .7rem; color: #d97706; font-weight: 600; }

/* =========================================
   OFFCANVAS ÍTEMS
========================================= */
#offcanvasItems {
    width: 360px;
    background: #f4f6f8;
    border-left: none;
    box-shadow: -8px 0 32px rgba(15,23,42,.12);
}
#offcanvasItems .offcanvas-header {
    background: #ffffff;
    border-bottom: 1px solid #eef2f7;
    padding: 18px 20px;
}
#offcanvasItems .offcanvas-title {
    font-size: .95rem;
    font-weight: 700;
    color: #111827;
}
#offcanvasItems .offcanvas-body {
    padding: 16px;
    overflow-y: auto;
}
.oc-item {
    background: #ffffff;
    border: 1px solid #eef2f7;
    border-radius: 14px;
    padding: 12px 14px;
    margin-bottom: 10px;
}
.oc-item-nombre {
    font-size: .88rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 4px;
}
.oc-item-detalle {
    font-size: .78rem;
    color: #6b7280;
}
.oc-item-subtotal {
    font-size: .92rem;
    font-weight: 700;
    color: #111827;
    white-space: nowrap;
}
.oc-total {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #eef2f7;
    border-radius: 14px;
    padding: 14px 16px;
    margin-top: 6px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.oc-total-label {
    font-size: .75rem;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.oc-total-monto {
    font-size: 1.2rem;
    font-weight: 800;
    color: #111827;
}

/* =========================================
   TOTAL BOX FOOTER
========================================= */
.total-box {
    margin-top: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #eef2f7;
    border-radius: 16px;
    padding: 16px 20px;
    text-align: right;
    color: #374151;
    font-size: .92rem;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.total-box span { font-weight: 700; }
#total_visible { font-size: 1.15rem; color: #111827; }

/* =========================================
   MODAL DETALLE
========================================= */
#modalDetalle .modal-content {
    border: none; border-radius: 22px;
    background: #f4f6f8;
    box-shadow: 0 20px 50px rgba(15,23,42,.12);
    overflow: hidden;
}
#modalDetalle .modal-header {
    background: #ffffff !important;
    border-bottom: 1px solid #eef2f7;
    padding: 18px 22px;
}
#modalDetalle .modal-title {
    font-size: 1rem; font-weight: 700; color: #111827;
}
#modalDetalle .close { border: none; background: transparent; }
#modalDetalle .modal-body {
    padding: 20px 22px;
    background: linear-gradient(180deg, #f8fafc 0%, #f4f6f8 100%);
}

/* =========================================
   OFFCANVAS META BLOCK
========================================= */
.oc-meta {
    background: #fff;
    border: 1px solid #eef2f7;
    border-radius: 14px;
    padding: 12px 14px;
    margin-bottom: 12px;
}
.oc-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 4px 0;
}
.oc-meta-label {
    font-size: .72rem;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
}
.oc-meta-val {
    font-size: .80rem;
    font-weight: 600;
    color: #111827;
    text-align: right;
}
.oc-section-title {
    font-size: .70rem;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 8px;
    padding-left: 2px;
}

/* =========================================
   OFFCANVAS IGV BREAKDOWN
========================================= */
.oc-breakdown {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #eef2f7;
    border-radius: 14px;
    padding: 12px 16px;
    margin-top: 8px;
}
.oc-brow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 0;
}
.oc-blabel       { font-size: .73rem; font-weight: 500; color: #9ca3af; }
.oc-bval         { font-size: .83rem; font-weight: 600; color: #374151; }
.oc-bdivider     { height: 1px; background: #e5e7eb; margin: 4px 0; }
.oc-blabel-total { font-size: .73rem; font-weight: 700; color: #374151; text-transform: uppercase; letter-spacing: .04em; }
.oc-bval-total   { font-size: 1.1rem; font-weight: 800; color: #111827; }

.oc-notas-box {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.oc-notas-label {
    font-size: .68rem;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.oc-notas-count {
    font-size: .88rem;
    font-weight: 800;
    color: #111827;
}
.nota-row {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 8px;
    background: #fff;
}
.venta-nc-vinculada{margin-top:5px;padding:3px 7px;border:1px solid #f0b429;border-radius:7px;background:#fff8dd;color:#815d00;font-size:10px;font-weight:800;line-height:1.2;cursor:pointer}.venta-nc-vinculada:hover{background:#ffefad;color:#604600}.venta-nc-vinculada i{margin-right:4px}
.nota-resultado-popup{width:min(620px,calc(100vw - 28px))!important;border-radius:24px!important;padding:28px!important}.nota-resultado-popup .swal2-title{color:#1b2940!important;font-size:25px!important;font-weight:800!important}.nota-resultado{text-align:left}.nota-resultado-aviso{display:flex;align-items:flex-start;gap:9px;margin-bottom:14px;padding:11px 13px;border:1px solid #bcd5ff;border-radius:12px;background:#eef5ff;color:#31548c;font-size:12px;font-weight:600}.nota-resultado-sunat{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #bce9cd;border-radius:14px;background:#effbf3;color:#18723d}.nota-resultado-sunat>i{font-size:25px}.nota-resultado-sunat span{display:flex;flex-direction:column}.nota-resultado-sunat strong{font-size:15px}.nota-resultado-sunat small{margin-top:2px;color:#548265;font-size:11px}.nota-resultado-datos{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:14px;overflow:hidden;border:1px solid #e0e6ef;border-radius:14px;background:#e0e6ef}.nota-resultado-datos>div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;background:#f8faff}.nota-resultado-datos span{color:#7a879a;font-size:10px;font-weight:700;text-transform:uppercase}.nota-resultado-datos strong{overflow-wrap:anywhere;color:#263650;font-size:13px}.nota-resultado-stock{display:flex;align-items:center;gap:9px;margin-top:14px;padding:11px 13px;border-radius:12px;background:#f4f1ff;color:#5945a7;font-size:12px;font-weight:700}.nota-resultado-imprimir{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;min-height:58px;padding:10px 18px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,#1d2735,#303d50);box-shadow:0 10px 24px rgba(20,31,47,.2);cursor:pointer}.nota-resultado-imprimir:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(20,31,47,.26)}.nota-resultado-imprimir>i{font-size:21px}.nota-resultado-imprimir span{display:flex;flex-direction:column;text-align:left}.nota-resultado-imprimir strong{font-size:14px}.nota-resultado-imprimir small{margin-top:2px;color:#cdd5e0;font-size:10px;font-weight:500}
@media(max-width:520px){.nota-resultado-popup{padding:22px 16px!important}.nota-resultado-datos{grid-template-columns:1fr}}

/* =========================================
   INPUT DATE ICON
========================================= */
.input-groupicon { position: relative; display: flex; align-items: center; }
.input-groupicon input { width: 100%; padding-right: 35px; }
.input-groupicon .addonset {
    position: absolute; top: 50%; right: 8px;
    z-index: 10; display: flex; align-items: center;
    cursor: pointer; transform: translateY(-50%);
}
.input-groupicon .addonset img { width: 18px; height: 18px; }

/* Mantener la acción de anulación alineada con los demás botones de la tabla. */
#tablaListado .venta-accion-compacta {
    width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    border-radius: 4px !important;
}
#tablaListado .venta-accion-compacta i { font-size: 14px !important; }

/* Emisor desde una nota: mismo lenguaje visual que Venta Pro. */
.venta-emision-popup{box-sizing:border-box!important;width:min(760px,calc(100vw - 28px))!important;border:1px solid #e1e7f1!important;border-radius:24px!important;padding:22px 30px 28px!important;box-shadow:0 26px 80px rgba(16,30,54,.25)!important}.venta-emision-popup .swal2-title{padding:9px 42px 14px!important;color:#17243a!important;font-size:25px!important;font-weight:800!important}.venta-emision-popup .swal2-html-container{margin:0!important}.venta-emision-modal{display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:left}.venta-emision-modal section>label{display:block;margin-bottom:8px;color:#657188;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.venta-emision-documentos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.venta-emision-documento{display:grid;grid-template-columns:34px minmax(0,1fr) 13px;align-items:center;gap:9px;min-height:55px;padding:8px 10px;text-align:left;border:1px solid #dce4ef;border-radius:13px;background:#f8faff;color:#33415a}.venta-emision-documento>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#567cff,#775cf7)}.venta-emision-documento strong{overflow:hidden;text-overflow:ellipsis;font-size:12px;text-transform:capitalize;white-space:nowrap}.venta-emision-documento>.fa-check{color:#b2bdcc;font-size:10px}.venta-emision-documento:hover,.venta-emision-documento.activo{border-color:#6475ff;background:#eef1ff;box-shadow:0 6px 16px rgba(76,94,184,.12)}.venta-emision-documento.activo>.fa-check{color:#4b62eb}.venta-emision-cliente-seccion{grid-column:1/-1}.venta-emision-cliente{display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:8px;width:100%;height:62px;padding:0 14px;text-align:left;border:1px solid #dce4ef;border-radius:13px;background:#f8faff;cursor:pointer}.venta-emision-cliente:hover{border-color:#6475ff;background:#f1f3ff}.venta-emision-cliente-icono{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;background:linear-gradient(135deg,#3867ff,#7b61ff)}.venta-emision-cliente-datos{display:flex;flex-direction:column;min-width:0;gap:3px}.venta-emision-cliente-datos strong,.venta-emision-cliente-datos small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.venta-emision-cliente-datos strong{color:#263650;font-size:13px}.venta-emision-cliente-datos small{color:#7a879a;font-size:10px}.venta-emision-cliente em{padding:4px 8px;border-radius:999px;color:#4054cc;background:#e7ebff;font-size:9px;font-style:normal;font-weight:800}.venta-emision-cliente>.fa-search{color:#6475df}.venta-emision-error{display:block;min-height:18px;margin-top:6px;color:#d44e5e;font-size:11px;font-weight:600}.venta-emision-ayuda{display:block;margin-top:7px;color:#718097;font-size:10px}.venta-emision-resumen{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px!important;overflow:hidden;border:1px solid #e0e6ef;border-radius:14px;background:#e0e6ef}.venta-emision-resumen>div{display:flex;flex-direction:column;gap:4px;padding:12px 15px;background:#f8faff}.venta-emision-resumen span{color:#79869a;font-size:10px;text-transform:uppercase}.venta-emision-resumen strong{color:#2d3b52;font-size:15px}.venta-emision-resumen .total{background:#eef1ff}.venta-emision-resumen .total strong{color:#314ee2;font-size:19px}.venta-emision-confirmar{grid-column:1/-1;min-height:50px;border:0;border-radius:13px;color:#fff;background:linear-gradient(135deg,#3478f6,#7457f7);font-size:14px;font-weight:800;box-shadow:0 10px 24px rgba(83,100,255,.27)}.venta-selector-popup{width:min(620px,calc(100vw - 28px))!important;border-radius:20px!important;padding:22px!important}.venta-selector-busqueda{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #cfd8e7;border-radius:11px}.venta-selector-busqueda:focus-within{border-color:#5064ff;box-shadow:0 0 0 3px rgba(80,100,255,.12)}.venta-selector-busqueda i{color:#7b8799}.venta-selector-busqueda input{width:100%;height:46px;border:0;outline:0;background:transparent}.venta-selector-lista{margin-top:12px;max-height:min(52vh,430px);overflow:auto}.venta-selector-opcion{display:flex;flex-direction:column;gap:3px;width:100%;padding:12px 10px;text-align:left;border:0;border-bottom:1px solid #edf0f5;background:#fff;color:#263651}.venta-selector-opcion:hover,.venta-selector-opcion.activo{background:#f2f5ff}.venta-selector-opcion strong{font-size:14px}.venta-selector-opcion span{font-size:12px;color:#718097}.venta-comprobante-cerrar{top:13px!important;right:13px!important;width:34px!important;height:34px!important;border-radius:50%!important;color:#6d7990!important}
@media(max-width:650px){.venta-emision-popup{padding:18px 15px 22px!important}.venta-emision-modal{grid-template-columns:1fr;gap:13px}.venta-emision-resumen{grid-column:1;grid-template-columns:1fr 1fr}.venta-emision-resumen .total{grid-column:1/-1}.venta-emision-confirmar{grid-column:1}}
