/* Se mantiene la tipografía, los tokens y los componentes existentes. */
.fin-flow { display:flex; flex-direction:column; gap:16px; min-width:0; }
.fin-flow h2,.fin-flow h3 { margin:0; font-size:16px; }
.fin-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.fin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.fin-flow .form-group { min-width:0; }
.fin-flow .input { width:100%; min-width:0; }
.fin-list { display:flex; flex-direction:column; gap:8px; min-width:0; }
.fin-row { width:100%; min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:14px; border:1px solid var(--border); background:var(--bg-1); color:var(--tx-1); border-radius:8px; padding:12px; text-align:left; overflow-wrap:anywhere; }
.fin-row span { min-width:0; }
.fin-row small,.fin-flow p small { display:block; font-size:12px; color:var(--tx-3); margin-top:4px; }
.fin-amount { width:140px!important; flex-shrink:0; }
.fin-check { display:flex; align-items:center; gap:12px; min-height:44px; }
.fin-check input { width:20px; height:20px; flex-shrink:0; }
.fin-error { color:var(--s-cuenta); margin:0; }
.fin-facts { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; margin:0; }
.fin-facts dd { margin:0; overflow-wrap:anywhere; }
.fin-flow button,.fin-flow select,.fin-flow input,.compra-form button,.gastos-form-actions button { min-height:44px; }
.fin-flow button:focus-visible,.fin-flow input:focus-visible,.fin-flow select:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.list-detail-panel-footer { flex-wrap:wrap; }
#modal-overlay.open ~ #update-notice { display:none; }
.list-detail-panel-footer>.btn,#ing-cat-label,#gasto-tipo-label { min-height:44px; }
.proveedores-layout--compras { height:auto!important; overflow-y:auto; }
.compra-form { flex:none!important; min-height:0; height:auto!important; }
.compra-items-section { flex:none!important; min-height:240px; }
.compra-items-table { flex:none!important; min-height:180px; max-height:350px; overflow-y:auto; }
.compra-item-row { min-height:56px; flex-shrink:0; }
.compra-datos-grid { grid-template-columns:minmax(160px,0.6fr) minmax(220px,1fr) minmax(260px,1fr); }
.compra-pago-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:1024px) { .compra-datos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .compra-datos-grid>div:last-child { grid-column:1/-1; } }
@media (max-width:600px) { .fin-grid,.compra-datos-grid,.compra-pago-grid { grid-template-columns:minmax(0,1fr); } .compra-datos-grid>div:last-child { grid-column:auto; } .fin-row { flex-wrap:wrap; } .fin-amount { width:100%!important; } .compra-items-table { max-height:none; } .compra-items-section { min-height:240px; } .compra-item-row>.input-wrapper { grid-column:1/-1; } .fin-facts { grid-template-columns:1fr; gap:6px; } }
@media print { body>* { visibility:hidden; } #modal-overlay,#modal-overlay * { visibility:visible; } #modal-overlay { position:absolute; inset:0; background:white; } #modal-overlay .modal { box-shadow:none; max-height:none; width:100%; } #modal-overlay .modal-body { overflow:visible; flex:none; } .modal-footer,.modal-close,.fin-flow>button { display:none!important; } .fin-print { color:black; background:white; } }
