/* Sprint 3 · Finanzas */
.finance-tabs { display:flex; gap:4px; overflow-x:auto; margin-bottom:14px; padding:5px; border:1px solid var(--border); border-radius:12px; background:rgba(255,255,255,.76); box-shadow:var(--shadow-sm); }
.finance-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.finance-metric { position:relative; min-width:0; min-height:105px; padding:16px; border:1px solid var(--border); border-radius:12px; background:rgba(255,255,255,.94); box-shadow:var(--shadow-sm); }
.finance-metric::before { content:""; position:absolute; left:0; top:14px; bottom:14px; width:3px; border-radius:0 4px 4px 0; background:var(--primary); }
.finance-metric.success::before { background:var(--success); }.finance-metric.warning::before { background:var(--warning); }.finance-metric.alert::before { background:var(--danger); }.finance-metric.system::before { background:var(--system); }
.finance-metric span { display:block; color:var(--muted); font-size:10px; font-weight:850; letter-spacing:.025em; text-transform:uppercase; }.finance-metric strong { display:block; margin-top:12px; color:var(--text-strong); font-size:23px; line-height:1; letter-spacing:-.03em; }.finance-metric small { display:block; margin-top:8px; color:var(--muted-2); font-size:9px; }
.cash-flow-box { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.cash-flow-box>div { padding:16px; border:1px solid var(--border); border-radius:11px; background:#f8fafc; }.cash-flow-box span { display:block; color:var(--muted); font-size:9px; font-weight:850; text-transform:uppercase; }.cash-flow-box strong { display:block; margin-top:8px; color:var(--text-strong); font-size:18px; }.cash-flow-box .net { background:var(--primary-soft); border-color:#cddcff; }.cash-flow-box .net strong { color:var(--primary); }
.movement-sign { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; font-size:16px; font-weight:900; }.movement-sign.INGRESO { background:var(--success-soft); color:var(--success); }.movement-sign.EGRESO { background:var(--danger-soft); color:var(--danger); }
.finance-note { display:flex; align-items:center; gap:12px; margin-top:14px; padding:13px 16px; background:#f7f9fc; }.finance-note strong { color:var(--text-strong); font-size:10px; }.finance-note span { color:var(--muted); font-size:10px; }.danger-text { color:var(--danger)!important; font-weight:800; }
.badge.POR_VENCER,.badge.PAGO_PARCIAL { color:var(--warning); border-color:#f2dba9; background:var(--warning-soft); }.badge.VENCIDO,.badge.VENCIDA { color:var(--danger); border-color:#f1c8c4; background:var(--danger-soft); }.badge.PAGADO,.badge.COBRADA,.badge.TIMBRADA,.badge.FACTURADA { color:var(--success); border-color:#ccebdc; background:var(--success-soft); }.badge.BORRADOR { color:#667085; background:#f2f4f7; }.badge.POR_REVISAR,.badge.LISTA_PARA_FACTURAR { color:var(--primary); border-color:#cedcff; background:var(--primary-soft); }
@media (max-width:1260px){.finance-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}}@media (max-width:700px){.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.cash-flow-box{grid-template-columns:1fr;}}@media (max-width:430px){.finance-metrics{grid-template-columns:1fr;}}

/* Sprint 3.1 · Claridad fiscal y vista previa de prefacturas */
.readonly-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.readonly-field { min-width:0; padding:12px 13px; border:1px solid var(--border); border-radius:10px; background:#f8fafc; }
.readonly-field.wide { grid-column:1/-1; }
.readonly-field span { display:block; margin-bottom:5px; color:var(--muted-2); font-size:9px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.readonly-field strong { display:block; color:var(--text-strong); font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.fiscal-preview { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:13px; border:1px solid #cbdcf5; border-radius:11px; background:#f4f8ff; }
.fiscal-preview>div { min-width:0; }
.fiscal-preview span { display:block; color:var(--muted-2); font-size:9px; font-weight:800; text-transform:uppercase; }
.fiscal-preview strong { display:block; margin-top:3px; color:var(--text-strong); font-size:11px; overflow-wrap:anywhere; }
.fiscal-preview.missing { display:flex; flex-direction:column; gap:3px; border-color:var(--border); background:#f8fafc; }
.fiscal-preview.missing strong { margin:0; }
.fiscal-preview.missing span { text-transform:none; font-weight:600; }
.invoice-preview { display:grid; gap:16px; }
.invoice-preview-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; padding:14px 15px; border:1px solid #cfddf0; border-radius:12px; background:linear-gradient(135deg,#f7faff,#eef5ff); }
.invoice-preview-head>div span { display:block; color:var(--muted-2); font-size:9px; font-weight:850; text-transform:uppercase; }
.invoice-preview-head>div strong { display:block; margin-top:4px; color:var(--text-strong); font-size:17px; }
.invoice-preview section { padding-top:2px; }
.invoice-preview section h3 { margin:0 0 9px; color:var(--text-strong); font-size:12px; }
.invoice-concept { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; padding:11px 12px; border:1px solid var(--border); border-radius:10px; background:#fff; }
.invoice-concept+ .invoice-concept { margin-top:8px; }
.invoice-concept strong { display:block; color:var(--text-strong); font-size:11px; }
.invoice-concept span { display:block; margin-top:3px; color:var(--muted); font-size:9px; }
.invoice-concept>div:last-child { text-align:right; }
.invoice-summary { display:grid; gap:7px; margin-left:auto; width:min(320px,100%); padding:13px 14px!important; border:1px solid var(--border); border-radius:11px; background:#f8fafc; }
.invoice-summary>div { display:flex; justify-content:space-between; gap:16px; color:var(--muted); font-size:10px; }
.invoice-summary>div strong { color:var(--text-strong); }
.invoice-summary .total { margin-top:3px; padding-top:8px; border-top:1px solid var(--border); color:var(--text-strong); font-weight:850; }
.invoice-summary .total strong { color:var(--primary); font-size:15px; }
.source-note { margin:8px 0 0; color:var(--muted-2); font-size:9px; line-height:1.45; }
.preview-notes { margin:0; padding:11px 12px; border:1px solid var(--border); border-radius:10px; background:#f8fafc; color:var(--muted); font-size:10px; line-height:1.5; white-space:pre-wrap; }
@media (max-width:700px){.readonly-grid,.fiscal-preview{grid-template-columns:1fr}.readonly-field.wide{grid-column:auto}.invoice-concept{grid-template-columns:1fr}.invoice-concept>div:last-child{text-align:left}}
