/* css/modules/haulmer-view.css */

/* ── HEADER ── */
.hv-header        { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; flex-wrap:wrap; gap:12px; }
.hv-header-left   { display:flex; align-items:center; gap:12px; }
.hv-header h2     { font-size:1.4rem; font-weight:800; color:#0f172a; margin:0; }
.hv-verify-btn    { background:#f1f5f9; border:1px solid #cbd5e0; border-radius:8px; padding:5px 12px; font-size:0.78rem; font-weight:600; color:#475569; cursor:pointer; transition:all 0.15s; }
.hv-verify-btn:hover { background:#e2e8f0; color:#1e293b; }

.hv-date-nav      { display:flex; align-items:center; gap:8px; }
.hv-date-nav button { background:none; border:1px solid #e2e8f0; border-radius:6px; width:28px; height:28px; cursor:pointer; font-size:1.1rem; color:#64748b; display:flex; align-items:center; justify-content:center; }
.hv-date-nav button:hover { background:#f8fafc; }
.hv-date-label    { font-size:0.85rem; font-weight:600; color:#334155; }
.hv-date-input    { border:1px solid #e2e8f0; border-radius:6px; padding:4px 8px; font-size:0.78rem; color:#64748b; cursor:pointer; }

/* ── TOTALES GLOBALES ── */
.hv-total-card    { background:#fff; border-radius:12px; border:1px solid #e2e8f0; box-shadow:0 1px 3px rgba(0,0,0,.04); padding:14px 18px; margin-bottom:12px; max-width:980px; }
.hv-total-hdr     { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.hv-total-hdr > div { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.hv-total-title   { font-size:1.1rem; font-weight:700; color:#0f172a; }
.hv-total-grid    { display:flex; flex-wrap:wrap; gap:0; border-top:1px solid #f1f5f9; max-width:100%; }
.hv-ti            { flex:1; min-width:80px; padding:6px 8px 4px; border-right:1px solid #f1f5f9; }
.hv-ti:last-child { border-right:none; }
.hv-ti-lbl        { font-size:0.68rem; color:#475569; font-weight:600; margin-bottom:3px; line-height:1.4; }
.hv-ti-lbl code.hv-col, .hv-ti-lbl .hv-formula { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; display:block; }
.hv-ti-val        { font-size:0.92rem; font-weight:700; color:#0f172a; }
.hv-ti-pend .hv-ti-lbl { color:#94a3b8; }
.hv-ti-pend .hv-ti-val { color:#d97706; }

/* ── MEDIOS DE PAGO ── */
.hv-methods-grid  { display:grid; grid-template-columns:repeat(3,minmax(0,320px)); gap:10px; margin-bottom:16px; max-width:980px; }
@media (max-width:900px) { .hv-methods-grid { grid-template-columns:1fr; } }
.hv-method-card   { background:#fff; border-radius:12px; border:1px solid #e2e8f0; box-shadow:0 1px 3px rgba(0,0,0,.04); padding:12px 14px; }
.hv-method-title  { font-size:0.66rem; font-weight:700; color:#475569; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:1px; }
.hv-method-tot    { font-size:1.15rem; font-weight:800; color:#0f172a; margin-bottom:1px; line-height:1.1; }
.hv-method-body   { display:flex; flex-direction:column; gap:0; margin-top:6px; border-top:1px solid #f1f5f9; padding-top:2px; }

/* ── DISPOSITIVOS ── */
.hv-devices-grid  { display:grid; grid-template-columns:repeat(2,minmax(0,484px)); gap:12px; max-width:980px; }
@media (max-width:900px) { .hv-devices-grid { grid-template-columns:1fr; } }
.hv-device-card   { background:#fff; border-radius:12px; border:1px solid #e2e8f0; box-shadow:0 1px 3px rgba(0,0,0,.04); padding:14px 16px; border-top:3px solid var(--dc,#2563eb); }
.hv-device-hdr    { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:10px; padding-bottom:10px; border-bottom:1px solid #f1f5f9; }
.hv-device-name   { font-size:1rem; font-weight:700; color:#0f172a; }
.hv-device-serial { font-size:0.65rem; color:var(--dc,#2563eb); margin-top:2px; font-family:monospace; }
.hv-device-tvbox  { text-align:right; }
.hv-device-tv     { font-size:1.2rem; font-weight:800; color:#0f172a; }
.hv-device-tv-lbl { font-size:0.6rem; color:#94a3b8; margin-top:1px; }

.hv-dsec          { margin-bottom:4px; }
.hv-sec-hdr       { display:flex; justify-content:space-between; align-items:center; margin-bottom:0; padding:3px 0; border-bottom:1px solid #f1f5f9; }
.hv-sec-title     { font-size:0.6rem; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:0.6px; }
.hv-sec-tot       { font-size:0.8rem; font-weight:700; color:#334155; }

/* ── FILAS ── */
.hv-row           { display:flex; justify-content:space-between; align-items:flex-start; font-size:0.78rem; padding:4px 0; gap:8px; border-bottom:1px solid #f8fafc; }
.hv-row:last-child { border-bottom:none; }
.hv-row .hv-lbl   { color:#1e293b; flex:1; min-width:0; font-weight:500; line-height:1.4; }
.hv-row .hv-val   { font-weight:700; color:#0f172a; white-space:nowrap; padding-top:1px; }
.hv-row-pend .hv-lbl { color:#94a3b8; }
.hv-row-unknown .hv-lbl { color:#b45309; }
.hv-warn-badge    { font-size:0.57rem; background:#fef3c7; color:#b45309; border-radius:3px; padding:1px 4px; margin-left:3px; }

/* ── TAGS: en línea propia debajo del label ── */
code.hv-col       { display:block; font-family:monospace; font-size:0.55rem; color:#94a3b8; background:#f1f5f9; border-radius:2px; padding:0 3px; margin-top:0; font-weight:400; line-height:1.3; }
.hv-formula       { display:block; font-size:0.55rem; color:#94a3b8; font-family:monospace; background:#f1f5f9; border-radius:2px; padding:0 3px; margin-top:0; line-height:1.3; }
.hv-total-hdr .hv-formula, .hv-method-card > .hv-formula { display:inline; margin-left:6px; margin-top:0; }
.hv-pend          { font-size:0.62rem; color:#d97706; background:#fef3c7; border-radius:3px; padding:1px 5px; font-style:italic; vertical-align:middle; }

/* ── MODO COMPARACIÓN DB | HAULMER ── */
.hv-cmp-global-hdr, .hv-cmp-header { display:flex; justify-content:flex-end; gap:4px; font-size:0.6rem; font-weight:700; color:#94a3b8; text-transform:uppercase; margin-bottom:4px; padding-right:20px; letter-spacing:0.4px; }
.hv-cmp-hdr-db    { min-width:58px; text-align:right; }
.hv-cmp-hdr-hl    { min-width:58px; text-align:right; }
.hv-cmp-global-hdr { margin-bottom:8px; max-width:980px; }

.hv-row-cmp       { align-items:flex-start; }
.hv-cmp-vals      { display:flex; align-items:center; gap:4px; margin-left:4px; flex-shrink:0; padding-top:1px; }
.hv-cmp-db        { font-size:0.73rem; color:#94a3b8; min-width:58px; text-align:right; white-space:nowrap; }
.hv-cmp-hl        { font-size:0.73rem; font-weight:700; min-width:58px; text-align:right; white-space:nowrap; }
.hv-cmp-hl.ok     { color:#16a34a; }
.hv-cmp-hl.diff   { color:#dc2626; }
.hv-cmp-hl.na     { color:#94a3b8; font-style:italic; }
.hv-cmp-hl.warn   { color:#b45309; }
.hv-cmp-icon      { font-size:0.7rem; width:14px; text-align:center; color:#16a34a; font-weight:700; }
.hv-cmp-icon.warn { color:#b45309; }
.hv-cmp-pend      { color:#94a3b8; font-style:italic; font-size:0.7rem; }

.hv-calc-val      { font-size:0.9rem; font-weight:700; color:#0f172a; }

/* ── VERIFICADOR (panel paste) ── */
.vr-panel         { background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:14px 18px; margin-bottom:16px; }
.vr-panel-title   { font-size:0.72rem; font-weight:600; color:#64748b; margin-bottom:8px; }
.vr-textarea      { width:100%; border:1px solid #cbd5e0; border-radius:8px; padding:8px 12px; font-size:0.73rem; font-family:monospace; resize:vertical; color:#334155; box-sizing:border-box; background:#fff; }
.vr-btn           { margin-top:8px; background:#0f172a; color:#fff; border:none; border-radius:8px; padding:7px 16px; font-size:0.78rem; font-weight:600; cursor:pointer; }
.vr-btn:hover     { background:#1e293b; }

/* ── MISC ── */
.hv-empty         { text-align:center; color:#94a3b8; padding:48px 0; font-size:0.9rem; }
.hv-calc-badge    { font-size:0.58rem; color:#d97706; background:#fef3c7; border-radius:3px; padding:1px 4px; font-style:italic; vertical-align:middle; }
.hv-header-left   { display:flex; align-items:center; gap:10px; }
