/* Fase 7·4 — NotaVentaEdicion (nota de crédito / débito V2, FormV2). Prefijo ncv-. */
/* ── Nota de crédito / débito V2 · FormV2 (prefijo ncv-) ──
   Solo lo propio del módulo; el resto sale de FormV2Estilos (gv-*). */
.ncv .gv-mdl-b { flex: 1; min-height: 0; background: var(--de-ground) }
.ncv-grid2 { display: grid; grid-template-columns: 1.25fr 1fr; gap: 12px }
.ncv-bottom { display: grid; grid-template-columns: 1fr 360px; gap: 12px; align-items: start }
@media (max-width: 900px) { .ncv-grid2, .ncv-bottom { grid-template-columns: 1fr } }
.ncv-reftop { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px }
.ncv-refnum { font-family: var(--mono); font-size: 17px; font-weight: 600; color: var(--de-acc-deep); letter-spacing: .02em }
.ncv-kv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px 14px; margin: 0 }
.ncv-kv > div { min-width: 0 }
.ncv-kv small { display: block; color: var(--de-muted); font-size: 11px }
.ncv-kv span { font-weight: 600; overflow-wrap: anywhere }
.ncv-kv .full { grid-column: 1 / -1 }
@media (max-width: 640px) { .ncv-kv { grid-template-columns: 1fr 1fr } }

.ncv-saldo { margin-top: 12px; border: 1px solid var(--de-acc-line); background: var(--de-acc-soft); border-radius: 10px; padding: 10px 12px }
.ncv-saldo.bad { border-color: var(--err-line); background: var(--err-bg) }
.ncv-saldo-top { display: flex; align-items: center; gap: 8px; margin-bottom: 8px }
.ncv-saldo-top .t { font-weight: 700; color: var(--de-ink-2); font-size: 11px; text-transform: uppercase; letter-spacing: .06em }
.ncv-saldo-top > i { color: var(--de-acc) }
.ncv-saldo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px }
@media (max-width: 640px) { .ncv-saldo-grid { grid-template-columns: 1fr 1fr } }
.ncv-saldo-grid small { display: block; color: var(--de-muted); font-size: 10.5px }
.ncv-saldo-grid b { font-family: var(--mono); font-size: 13px; font-weight: 600 }
.ncv-saldo-grid .hl b { font-size: 17px; color: var(--ok) }
.ncv-saldo.bad .ncv-saldo-grid .hl b { color: var(--err) }
.ncv-saldo-grid b.neg { color: var(--err) }
.ncv-bar { position: relative; height: 8px; border-radius: 6px; background: var(--de-line); overflow: hidden; margin-top: 10px }
.ncv-bar span { position: absolute; top: 0; bottom: 0 }
.ncv-bar .ap { background: var(--de-faint) }
.ncv-bar .nt { background: var(--de-acc) }
.ncv-bar-leg { display: flex; gap: 12px; font-size: 10.5px; color: var(--de-muted); margin-top: 5px; flex-wrap: wrap }
.ncv-bar-leg i { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 4px }

.ncv-caja { border: 1px solid var(--de-line); border-radius: 8px; padding: 8px 10px; background: #fff }
.ncv-caja .gv-hint { margin: 2px 0 0 45px }
.ncv-credito { padding: 8px 10px; background: var(--de-acc-soft); border: 1px solid var(--de-acc-line); border-radius: 8px; font-size: 12px; color: var(--de-ink-2) }
.ncv-credito i { color: var(--de-acc); margin-right: 4px }

.ncv-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 8px 12px; border-bottom: 1px solid var(--de-line) }
.ncv-srch { position: relative }
.ncv-srch i { position: absolute; left: 9px; top: 50%; transform: translateY(-50%); color: var(--de-faint); font-size: 12px }
.ncv-srch .gv-inp { padding-left: 28px; width: 260px }
.ncv-tw { overflow: auto }
.ncv-ctbl { min-width: 980px; width: 100%; border-collapse: separate; border-spacing: 0 }
.ncv-ctbl td { padding: 6px 8px }
.ncv-ctbl .gv-inp { height: 29px }
.ncv-ctbl td.n { text-align: right; font-family: var(--mono); font-size: 12px; white-space: nowrap }
.ncv-ctbl .igv { color: var(--warn) }
.ncv-ctbl .tot { color: var(--ok); font-weight: 700 }

.ncv-son { font-size: 12px; background: #fff; border: 1px dashed var(--de-line-strong); border-radius: 8px; padding: 9px 12px; color: var(--de-ink-2) }
.ncv-totbig { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; padding: 10px 12px; border-radius: 8px; color: #fff; background: var(--de-acc-deep) }
.ncv-totbig b { font-family: var(--mono); font-size: 19px; font-weight: 600 }
.ncv-kbd { font: 10px var(--mono); background: rgba(255,255,255,.22); border-radius: 3px; padding: 1px 4px }
.gv-ghost .ncv-kbd { background: var(--de-surface-3) }

.ncv-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; text-align: left }
.ncv-meta div { background: var(--de-surface-2); border: 1px solid var(--de-line); border-radius: 8px; padding: 7px 9px; min-width: 0; overflow-wrap: anywhere }
.ncv-meta small { display: block; color: var(--de-muted); font-size: 10.5px }
.ncv-meta .err { color: var(--err) }
.ncv-meta .warn { color: var(--warn) }
.ncv-golink { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 8px; border: 1px solid var(--warn-line); border-left: 4px solid var(--warn); background: var(--warn-bg); color: #6b3b04; border-radius: 8px; padding: 9px 12px; text-align: left }
.ncv-golink .go { margin-left: auto; font-weight: 700; white-space: nowrap }
.ncv-spin { display: inline-block; width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.5); border-top-color: #fff; border-radius: 50%; animation: ncvSpin .7s linear infinite; vertical-align: -2px }
.ncv-spin-c { display: inline-block; width: 26px; height: 26px; border: 3px solid var(--de-acc-soft); border-top-color: var(--de-acc); border-radius: 50%; animation: ncvSpin .7s linear infinite }
.ncv-spin-c.sm { width: 16px; height: 16px; border-width: 2px }
@keyframes ncvSpin { to { transform: rotate(360deg) } }
.ncv-loading { padding: 60px 20px; display: flex; flex-direction: column; align-items: center; gap: 12px; color: var(--de-muted) }
.ncv-wa .gv-mdl-h > i { color: #1faa53 !important }

/* Modo modal (hospedado en otra pantalla): el gv-root no ocupa la página; el gv-ovl lleva el fondo. */
.ncv.ncv-modal { min-height: 0; background: none }
