/* Bloque CSS extraído #1 desde index.html */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f4f6f8;
  --surface:#ffffff;
  --surface-2:#f5f7f9;
  --border:#dce5eb;
  --text-1:#1c1917;--text-2:#57534e;--text-3:#a8a29e;
  --accent:#0077a8;--accent-2:#00b4d8;--accent-lt:#e8f2f7;
  --danger:#b91c1c;--danger-lt:#fef2f2;
  --warn:#92400e;--warn-lt:#fffbeb;
  --ok:#065f46;--ok-lt:#ecfdf5;
  --sidebar:#0077a8;--sidebar-hover:rgba(255,255,255,.1);--sidebar-active:rgba(255,255,255,.18);
  --sidebar-text:rgba(255,255,255,.7);--sidebar-text-active:#ffffff;
  --sans:'DM Sans',sans-serif;--serif:'DM Serif Display',serif;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --shadow:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);
  --shadow-lg:0 12px 32px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.06);
  --radius:12px;
}
html,body{height:100%;font-family:var(--sans);background:var(--bg);color:var(--text-1);font-size:14px;-webkit-font-smoothing:antialiased}
body.modal-scroll-locked{position:fixed;width:100%;overflow:hidden}

/* LOGIN */
.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#005f85 0%,#0077a8 50%,#00b4d8 100%)}
.login-box{background:#fff;border-radius:18px;padding:2.75rem;width:380px;box-shadow:var(--shadow-lg)}
.login-logo{display:block;width:100%;max-height:150px;object-fit:contain;margin:0 auto 1.35rem}
.login-title{font-family:var(--serif);font-size:22px;color:var(--accent);margin-bottom:3px;letter-spacing:-.01em}
.login-sub{font-size:12px;color:var(--text-3);margin-bottom:2rem;font-weight:300;text-align:center}
.field{margin-bottom:1rem}
.field label{display:block;font-size:10px;color:var(--text-2);margin-bottom:5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em}
.field input{width:100%;padding:10px 13px;border:1.5px solid var(--border);border-radius:9px;font-family:var(--sans);font-size:13px;color:var(--text-1);background:var(--surface-2);outline:none;transition:all .2s}
.field input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(30,58,95,.08)}
.btn{width:100%;padding:11px;background:linear-gradient(135deg,#0077a8,#00b4d8);color:#fff;border:none;border-radius:9px;font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(0,119,168,.3)}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,119,168,.4)}
.btn:active{transform:translateY(0)}
.error-msg{font-size:12px;color:var(--danger);margin-top:10px;text-align:center}

/* APP LAYOUT */
.app{display:none;grid-template-columns:220px 1fr;min-height:100vh}
.app.visible{display:grid}

/* SIDEBAR */
.sidebar{background:var(--sidebar);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{padding:1.5rem 1.3rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.07)}
.brand-logo{display:block;width:100%;max-height:88px;object-fit:contain;background:#fff;border-radius:8px}
.brand-name{font-family:var(--serif);font-size:15px;color:#ffffff;line-height:1.3;letter-spacing:.01em;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.2)}
.brand-sub{font-size:10px;color:rgba(255,255,255,.7);margin-top:3px;font-weight:400;letter-spacing:.02em}
.nav-sec{font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.25);padding:1.2rem 1.3rem 0.35rem}
.nav-item{display:flex;align-items:center;gap:10px;position:relative;padding:8px 3rem 8px 1.3rem;font-size:13px;color:var(--sidebar-text);cursor:pointer;border-left:2px solid transparent;transition:all .18s;margin:1px 0}
.nav-item:hover{color:rgba(255,255,255,.85);background:var(--sidebar-hover)}
.nav-item.active{color:var(--sidebar-text-active);background:var(--sidebar-active);border-left-color:var(--accent-2);font-weight:500}
.nav-item svg{width:15px;height:15px;flex-shrink:0;opacity:.6}
.nav-item.active svg{opacity:1}
.sidebar-footer{margin-top:auto;padding:1rem 1.3rem;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:9px}
.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#00b4d8,#0077a8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}
.av-name{font-size:12px;font-weight:500;color:rgba(255,255,255,.85)}
.av-role{font-size:10px;color:rgba(255,255,255,.35)}
.logout-btn{margin-left:auto;font-size:11px;color:rgba(255,255,255,.3);cursor:pointer;padding:4px;transition:color .15s}
.logout-btn:hover{color:#f87171}
.bell-btn{position:relative;cursor:pointer;padding:6px;border-radius:8px;transition:background .2s;display:flex;align-items:center}
.bell-btn:hover{background:var(--surface-2,#f3f4f6)}
.bell-btn svg{width:20px;height:20px;stroke:var(--text-2);stroke-width:1.5;fill:none}
.nav-badge{position:absolute;top:50%;right:1rem;transform:translateY(-50%);min-width:14px;height:14px;padding:0 4px;border-radius:999px;background:rgba(8,80,115,.78);color:#f8fbff;font-size:9px;font-weight:700;line-height:1;letter-spacing:0;display:none;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.nav-badge.visible{display:flex}
.bell-badge{position:absolute;top:3px;right:4px;min-width:14px;height:14px;padding:0 4px;border-radius:999px;background:#b94c4c;color:#fff;font-size:9px;font-weight:700;line-height:1;letter-spacing:0;display:none;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.bell-badge.visible{display:flex}
.alertas-panel{position:fixed;top:56px;right:16px;width:360px;max-height:480px;background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:999;display:none;flex-direction:column;overflow:hidden}
.alertas-panel.open{display:flex}
.alertas-panel-header{padding:14px 16px;border-bottom:1px solid var(--border,#e5e7eb);font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:space-between}
.alertas-panel-body{overflow-y:auto;flex:1}
.alerta-item{padding:12px 16px;border-bottom:1px solid var(--border,#f3f4f6);display:flex;gap:10px;align-items:flex-start}
.alerta-item:last-child{border-bottom:none}
.alerta-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}
.alerta-dot.alta{background:var(--danger,#ef4444)}
.alerta-dot.media{background:var(--warning,#f59e0b)}
.alerta-dot.baja{background:var(--success,#10b981)}
.alerta-dot.normal{background:var(--primary,#6366f1)}
.alerta-dot.urgente{background:var(--danger,#ef4444)}
.alerta-titulo{font-size:13px;font-weight:500;color:var(--text-1,#111)}
.alerta-meta{font-size:11px;color:var(--text-3,#9ca3af);margin-top:2px}
.alerta-categoria{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-3,#9ca3af)}
.alertas-empty{padding:32px 16px;text-align:center;color:var(--text-3,#9ca3af);font-size:13px}
.preview-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:300;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.preview-overlay.open{display:flex}
.preview-box{background:var(--surface);border-radius:16px;width:90vw;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg)}
.preview-header{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.preview-title{font-size:14px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px}
.preview-actions{display:flex;gap:8px;flex-shrink:0}
.preview-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background:#f0f0f0;min-height:400px}
.preview-body iframe{width:100%;height:70vh;border:none}
.preview-body img{max-width:100%;max-height:70vh;object-fit:contain}
.preview-no-support{text-align:center;padding:3rem;color:var(--text-3)}
.topbar{display:flex;align-items:center;justify-content:space-between}
.topbar-right{display:flex;align-items:center;gap:8px}
	.main{padding:2.25rem 2.5rem;background:linear-gradient(180deg,var(--bg) 0%,#f7fbfd 100%)}
.page{display:none}
.page.active{display:block}
.topbar{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem}
.topbar h1{font-family:var(--serif);font-size:26px;color:var(--text-1);letter-spacing:-.01em}
.topbar span{font-size:11px;color:var(--text-3);font-weight:300;text-transform:capitalize}

/* MÉTRICAS */
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:1.5rem}
.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.metric::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0077a8,#00b4d8)}
.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.m-label{font-size:10px;color:var(--text-3);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.m-val{font-family:var(--serif);font-size:32px;color:var(--text-1);line-height:1;letter-spacing:-.02em}
.m-val.d{color:var(--danger)}.m-val.w{color:var(--warn)}
.m-sub{font-size:10px;color:var(--text-3);margin-top:6px;font-weight:300}

/* CARDS */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:var(--shadow-sm)}
.card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.card-title{font-size:10px;font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em}
.card-link{font-size:11px;color:var(--accent);cursor:pointer;font-weight:500;transition:color .15s}
.card-link:hover{color:var(--accent-2)}
.row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
.row:last-child{border-bottom:none;padding-bottom:0}
.row:first-child{padding-top:0}
.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px}
.dot.d{background:var(--danger)}.dot.w{background:var(--warn)}.dot.i{background:var(--accent)}.dot.ok{background:var(--ok)}
.row-body{flex:1;min-width:0}
.row-title{font-size:12px;color:var(--text-1);line-height:1.4;display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-weight:500}
.row-meta{font-size:11px;color:var(--text-3);margin-top:2px;font-weight:300}
.badge{font-size:10px;padding:2px 8px;border-radius:20px;font-weight:600}
.badge.d{background:var(--danger-lt);color:var(--danger)}
.badge.w{background:var(--warn-lt);color:var(--warn)}
.badge.i{background:var(--accent-lt);color:var(--accent)}
.badge.ok{background:var(--ok-lt);color:var(--ok)}
.finanzas-table{table-layout:fixed}
.finanzas-table th,.finanzas-table td{vertical-align:top}
.finanzas-table th:nth-child(1){width:8%}
.finanzas-table th:nth-child(2){width:10%}
.finanzas-table th:nth-child(3){width:22%}
.finanzas-table th:nth-child(4){width:16%}
.finanzas-table th:nth-child(5){width:11%}
.finanzas-table th:nth-child(6){width:13%}
.finanzas-table th:nth-child(7){width:8%}
.finanzas-table th:nth-child(8){width:10%}
.finanzas-table th:nth-child(9){width:10%}
.finanzas-head-compact{display:inline-block;max-width:100%;line-height:1.1;white-space:normal;vertical-align:bottom}
.finanzas-cargo-cell{white-space:nowrap;font-variant-numeric:tabular-nums}
.finanzas-cargo-meta{display:block;margin-top:3px;font-size:10px;line-height:1.2;color:var(--text-3);white-space:normal}
.finanzas-table .finanzas-monto{white-space:nowrap;font-variant-numeric:tabular-nums}
.finanzas-row-agrupada td{vertical-align:top}
.acts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.acts-grid .row{padding-right:1rem;border-right:1px solid var(--border);border-bottom:none}
.acts-grid .row:nth-child(2){padding:0 1rem}
.acts-grid .row:last-child{padding-left:1rem;border-right:none;padding-right:0}

/* PÁGINAS */
	.page-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.35rem;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
	.page-hdr h2{font-family:var(--serif);font-size:24px;letter-spacing:-.01em;color:var(--accent)}
	.search-bar{display:flex;gap:10px;margin-bottom:1rem;padding:12px;background:rgba(255,255,255,.72);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
	.search-bar input{flex:1;padding:10px 13px;border:1.5px solid var(--border);border-radius:9px;font-family:var(--sans);font-size:13px;background:var(--surface);outline:none;transition:all .2s;box-shadow:var(--shadow-sm)}
.search-bar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(30,58,95,.07)}
	.search-bar select{padding:10px 13px;border:1.5px solid var(--border);border-radius:9px;font-family:var(--sans);font-size:13px;background:var(--surface);color:var(--text-1);outline:none;box-shadow:var(--shadow-sm)}
.documentos-filtros{display:flex;flex-direction:column;gap:10px;align-items:stretch;width:100%}
.documentos-filtros-row{display:grid;gap:10px;width:100%;align-items:center}
.documentos-filtros-row-top{grid-template-columns:1fr 0.55fr 0.55fr}
.documentos-filtros-row-bottom{grid-template-columns:0.8fr 1fr 0.5fr}
.documentos-filtros input,.documentos-filtros select,.documentos-filtros button{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis}
.documentos-clear-btn{height:40px;white-space:nowrap;background:var(--surface);box-shadow:var(--shadow-sm)}
.finanzas-consulta{align-items:end;flex-wrap:nowrap}
.finanzas-consulta .form-field{flex:1 1 640px;min-width:320px;margin:0}
.finanzas-consulta .form-field input{width:100%;height:40px}
.finanzas-consulta .btn-sm{flex:0 0 auto;min-width:86px;width:auto;height:40px;padding:0 14px;white-space:nowrap}
.finanzas-consulta .btn-sm.primary{min-width:104px}
.documentos-filtros #filtroClienteDocumento{display:none}
.documentos-filtros datalist{display:none}
.tareas-filtros{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr)) minmax(240px,2fr) minmax(220px,1.4fr) minmax(150px,auto);align-items:center}
.tareas-filtros input,.tareas-filtros select,.tareas-filtros button{width:100%;min-width:0}
.tareas-filtros datalist{display:none}
.tareas-clear-btn{height:40px;white-space:nowrap;background:var(--surface);box-shadow:var(--shadow-sm)}
.clientes-clear-btn{height:40px;white-space:nowrap;background:var(--surface);box-shadow:var(--shadow-sm)}
.documentos-tabla{width:100%;table-layout:fixed}
.documentos-tabla th,.documentos-tabla td{white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.documentos-tabla th:nth-child(1){width:24%}
.documentos-tabla th:nth-child(2){width:10%}
.documentos-tabla th:nth-child(3){width:10%}
.documentos-tabla th:nth-child(4){width:5%}
.documentos-tabla th:nth-child(5){width:29%}
.documentos-tabla th:nth-child(6){width:10%}
.documentos-tabla th:nth-child(7){width:12%}
.documentos-tabla td:nth-child(7),.documentos-tabla th:nth-child(7){white-space:nowrap}
.documentos-tabla td:nth-child(7) a,.documentos-tabla td:nth-child(7) span{white-space:nowrap;display:block;margin:0 0 4px 0!important;line-height:1.25}
.doc-expediente-cell{line-height:1.32}
.doc-expediente-cliente{font-size:12px;color:var(--text-2);font-weight:600}
.doc-expediente-numero{font-size:12px;color:var(--accent);font-weight:700}
.doc-expediente-nombre{font-size:12px;color:var(--text);margin-top:2px}

@media(max-width:900px){.documentos-filtros-row-top,.documentos-filtros-row-bottom{grid-template-columns:1fr}}
@media(max-width:720px){.finanzas-consulta{flex-wrap:wrap;align-items:stretch}.finanzas-consulta .form-field{flex:1 1 100%;min-width:0}.finanzas-consulta .btn-sm{flex:1 1 calc(50% - 5px);width:100%}}
@media(max-width:1100px){.tareas-filtros{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.tareas-filtros{grid-template-columns:1fr}}

/* TABLA */
	.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
	table{width:100%;border-collapse:collapse;font-size:13px}
	thead{background:linear-gradient(180deg,#f3fbfe,var(--surface-2))}
	th{padding:12px 16px;text-align:left;font-size:10px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.07em;border-bottom:1.5px solid var(--border)}
	td{padding:14px 16px;color:var(--text-1);border-bottom:1px solid var(--border)}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--surface-2);transition:background .15s}
.status-pill{font-size:10px;padding:3px 10px;border-radius:20px;font-weight:600}
.status-pill.activo{background:var(--ok-lt);color:var(--ok)}
.status-pill.acuerdo{background:var(--warn-lt);color:var(--warn)}
.status-pill.inactivo,.status-pill.archivado,.status-pill.cerrado{background:var(--surface-2);color:var(--text-3)}
.td-link{color:var(--accent);cursor:pointer;font-weight:500;transition:color .15s}
.td-link:hover{color:var(--accent-2)}
	.empty-state{text-align:center;padding:3.5rem;color:var(--text-3);font-size:13px}
	.record-row td{vertical-align:top}
	.record-row td:first-child{border-left:4px solid var(--accent)}
	.record-title{font-weight:700;color:var(--accent);line-height:1.35;cursor:pointer}
	.record-title:hover{color:var(--accent-2)}
	.record-sub{font-size:12px;color:var(--text-2);margin-top:4px;line-height:1.4}
	.record-muted{font-size:12px;color:var(--text-3);margin-top:4px;line-height:1.4}
	.record-meta{font-size:13px;color:var(--text-1);line-height:1.4}
	.table-actions,.acciones-tabla,.acciones-columna,.record-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:normal}
.table-actions span,.table-actions a,.table-actions button,.acciones-tabla span,.acciones-tabla a,.acciones-tabla button,.acciones-columna span,.acciones-columna a,.acciones-columna button,.record-actions span,.record-actions a,.record-actions button{font-size:12px;line-height:1.2}
.acciones-tabla{gap:4px}
.acciones-tabla .accion-tabla{display:inline-flex;align-items:center;padding:0;border:none;background:transparent;box-shadow:none;font-size:12px;line-height:1.25;font-weight:500;color:var(--accent);text-decoration:none;cursor:pointer;text-align:left;white-space:normal}
.acciones-tabla .accion-tabla:hover{color:var(--accent-2);text-decoration:underline}
.acciones-tabla .accion-tabla.danger{color:var(--danger)}
.acciones-tabla .accion-tabla.danger:hover{color:var(--danger);text-decoration:underline}
.task-row{cursor:pointer}
.task-row td{vertical-align:top;transition:background .15s;cursor:pointer}
.task-row:hover td{background:var(--surface-2)}
.task-row .task-status-select,
.task-row .task-actions,
.task-row .record-actions,
.task-row .task-actions *,
.task-row .record-actions *{cursor:auto}
.task-row.alta td:first-child{border-left:4px solid var(--danger)}
.task-row.media td:first-child{border-left:4px solid var(--warn)}
.task-row.baja td:first-child{border-left:4px solid var(--accent)}
.task-row.vencida td{background:var(--danger-lt)}
.task-row.vencida:hover td{background:#fde8e8}
.task-title{font-weight:700;color:var(--text-1);line-height:1.35}
.task-desc{font-size:12px;color:var(--text-2);margin-top:4px;line-height:1.4}
.task-meta{font-size:12px;color:var(--text-3);line-height:1.45}
.task-date{color:var(--text-1)}
.task-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:normal}
.task-actions-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:normal}
.task-actions-vertical span{font-size:12px;line-height:1.2}
.task-actions-vertical .task-action-danger{display:inline-flex;align-items:center;margin-top:4px;padding-top:4px;border-top:1px solid var(--border);font-weight:600}
.task-actions-vertical .task-action-danger:hover{text-decoration:underline}
.colaboradores-actions-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:normal}
.colaboradores-actions-vertical span{font-size:12px;line-height:1.2}
.agenda-actions-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:normal}
.agenda-actions-vertical span{font-size:12px;line-height:1.2}
.acciones-verticales{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:normal}
.acciones-verticales span{font-size:12px;line-height:1.2}
.acciones-finanzas-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:4px;white-space:normal;min-width:0}
.acciones-finanzas-vertical .btn-sm{display:block;width:auto;min-width:0;padding:0;border:none;background:transparent;box-shadow:none;height:auto;line-height:1.25;font-size:12px;font-weight:500;color:var(--accent);white-space:normal;text-align:left}
.acciones-finanzas-vertical .btn-sm:hover{background:transparent;border:none;color:var(--accent-2);text-decoration:underline;transform:none;box-shadow:none}
.acciones-finanzas-vertical .btn-sm.danger.subtle{color:var(--danger)}
.acciones-finanzas-vertical .btn-sm.danger.subtle:hover{background:transparent;border:none;color:var(--danger);text-decoration:underline}
.finanzas-acciones-lista{display:flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:normal;min-width:0}
.finanzas-acciones-lista .btn-sm{display:inline-flex;width:auto;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;height:auto;line-height:1.05;font-size:11px;font-weight:500;color:var(--accent);white-space:normal;text-align:left;margin:0}
.finanzas-acciones-lista .btn-sm:hover{background:transparent;border:0;color:var(--accent-2);text-decoration:underline;transform:none;box-shadow:none}
.finanzas-acciones-lista .btn-sm.danger.subtle{color:var(--danger)}
.finanzas-acciones-lista .btn-sm.danger.subtle:hover{background:transparent;border:0;color:var(--danger);text-decoration:underline}
.finanzas-detalle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.finanzas-detalle-card{padding:10px 12px;min-height:56px;border-radius:8px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.finanzas-detalle-label{font-size:10px;line-height:1.1;margin-bottom:6px;letter-spacing:.06em;text-transform:uppercase}
.finanzas-detalle-valor{font-size:15px;line-height:1.25;font-weight:700}
.finanzas-detalle-card .finanzas-detalle-valor.finanzas-positive,.finanzas-detalle-card .finanzas-detalle-valor.finanzas-negative{font-size:15px;line-height:1.25;font-weight:700}
@media (max-width: 1100px){.finanzas-detalle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.finanzas-detalle-grid{grid-template-columns:1fr}}
.doc-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start;white-space:normal}
.doc-actions span,.doc-actions a{font-size:12px;line-height:1.2}
.mail-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.mail-actions span{font-size:12px;line-height:1.2}
.linked-mail-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.linked-mail-table{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
.linked-mail-table table{width:100%;min-width:860px}
.linked-mail-table th,.linked-mail-table td{font-size:12px;padding:8px 10px;vertical-align:top}
.task-status-select{font-size:12px;padding:6px 9px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-1);outline:none;box-shadow:var(--shadow-sm)}
.task-status-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(30,58,95,.07)}

.ficha-tabs{display:flex;border-bottom:2px solid var(--border);margin:-.25rem 0 1.25rem;gap:0;overflow-x:auto;flex-shrink:0}
.ficha-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;transition:color .15s;font-family:var(--sans);white-space:nowrap}
.ficha-tab:hover{color:var(--accent)}
.ficha-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.ficha-tab-panel{display:none}
.ficha-tab-panel.active{display:block}
.ficha-tab-panel[hidden]{display:none!important}


/* MODALES */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
.modal-overlay[hidden]{display:none!important}
.modal-overlay:not(.open){display:none!important}
.modal-overlay.open:not([hidden]){display:flex;overflow:hidden;overscroll-behavior:contain}
  #modalConfirm.modal-overlay{z-index:200000;background:rgba(15,23,42,.62);backdrop-filter:blur(3px)}
  #modalConfirm .modal{box-shadow:0 24px 80px rgba(0,0,0,.34)}
	.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2.25rem;width:min(820px,92vw);max-height:90vh;overflow-y:auto;overscroll-behavior:contain;box-shadow:var(--shadow-lg)}
	.modal.task-modal{width:min(820px,92vw);padding:2.25rem}
	.modal h3{font-family:var(--serif);font-size:22px;margin-bottom:1.35rem;letter-spacing:-.01em;color:var(--accent)}
.modal-purpose{grid-column:1/-1;margin:-.65rem 0 .2rem;color:var(--text-2);font-size:13px;line-height:1.4}
.selected-expediente{font-size:12px;color:var(--text-3);padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.selected-expediente.ok{color:var(--ok);font-weight:600}
.expediente-results{display:flex;flex-direction:column;gap:6px;max-height:190px;overflow:auto}
.expediente-pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-1);font-family:var(--sans);font-size:13px;cursor:pointer;text-align:left}
.expediente-pick:hover{border-color:var(--accent);background:var(--surface-2)}
.expediente-pick small{color:var(--text-3);font-size:11px}
.form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;align-items:start}
.form-grid>.form-field{grid-column:span 6;min-width:0}
.form-grid .full{grid-column:1/-1}
.form-grid .date-field{max-width:none}
.form-grid .task-title-field,.form-grid .task-wide-field{grid-column:1/-1;max-width:none}
.task-date-exp-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.task-date-exp-row>.form-field:first-child{grid-column:span 4}
.task-date-exp-row>.form-field:last-child{grid-column:span 8}
.task-inline-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:1rem}
.agenda-form-grid .modal-purpose,
.agenda-title-field,
.agenda-linked-field,
.agenda-wide-field{grid-column:1/-1;max-width:none}
.agenda-main-row,
.agenda-time-place-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.form-field{display:flex;flex-direction:column;gap:5px}
.form-field label{font-size:10px;color:var(--text-2);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.form-field input,.form-field select,.form-field textarea{padding:9px 11px;border:1.5px solid var(--border);border-radius:8px;font-family:var(--sans);font-size:13px;color:var(--text-1);background:var(--surface);outline:none;transition:all .2s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(30,58,95,.07)}
.form-field textarea{resize:vertical;min-height:75px}
@media(max-width:720px){
  .form-grid>.form-field,
  .task-date-exp-row>.form-field:first-child,
  .task-date-exp-row>.form-field:last-child{grid-column:1/-1}
  .task-inline-fields,
  .agenda-main-row,
  .agenda-time-place-row{grid-template-columns:1fr}
}
.field-label-help{display:flex;align-items:center;gap:6px}
.help-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--accent);font-size:11px;font-weight:700;cursor:help;text-transform:none;letter-spacing:0}
.help-icon::after{content:attr(data-help);display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(calc(-50% + 38px));width:220px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-1);box-shadow:var(--shadow-md);font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;text-transform:none;z-index:220}
.help-icon:hover::after,.help-icon:focus::after{display:block}
.field-help-link{display:inline-flex;margin-top:7px;color:var(--accent);font-size:12px;font-weight:600;text-decoration:none;cursor:pointer}
.guide-intro{font-size:13px;color:var(--text-1);line-height:1.45;margin-bottom:1rem;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.guide-table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.guide-table caption{text-align:left;font-weight:700;color:var(--accent);font-size:14px;margin-bottom:8px}
.guide-table th,.guide-table td{padding:9px 10px;border-bottom:1px solid var(--border);font-size:12px;text-align:left;vertical-align:top}
.guide-table th{background:var(--surface-2);color:var(--text-1);font-weight:700}
.guide-table tr:last-child td{border-bottom:none}
@media(max-width:900px){.guide-grid{grid-template-columns:1fr}.help-icon::after{left:auto;right:0;transform:none}}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:1.35rem;padding-top:1.1rem;border-top:1px solid var(--border)}
.btn-sm{padding:9px 20px;border-radius:8px;font-family:var(--sans);font-size:13px;cursor:pointer;font-weight:500;border:1.5px solid var(--border);background:transparent;color:var(--text-2);transition:all .18s}
.btn-sm:hover{background:var(--surface-2);border-color:var(--text-3)}
.btn-sm.primary{background:linear-gradient(135deg,#0077a8,#00b4d8);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(0,119,168,.25)}
.btn-sm.primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,119,168,.35)}
.btn-sm.danger.subtle{color:var(--danger);border-color:#f1c8c8;background:#fff}
.btn-sm.danger.subtle:hover{background:var(--danger-lt);border-color:#e5a8a8}
.footer-spacer{flex:1}

/* Agenda / eventos */
.agenda-modal{width:min(980px,94vw);padding:2rem;background:#fbfcfd}
.agenda-modal h3{margin-bottom:1rem}
.agenda-form-grid{gap:1rem}
.agenda-section{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;padding:1rem;border:1px solid #e1e7ec;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.agenda-section-title{grid-column:1/-1;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);padding-bottom:.45rem;border-bottom:1px solid #edf1f4}
.agenda-section .form-field{grid-column:span 4}
.agenda-section .agenda-title-field,
.agenda-section .agenda-linked-field,
.agenda-section .agenda-wide-field{grid-column:1/-1}
.agenda-section .agenda-place-field{grid-column:span 8}
.agenda-section .agenda-derived-client{grid-column:1/-1}
.agenda-section .form-field label{color:#5f6770;letter-spacing:.055em}
.agenda-section .form-field input,
.agenda-section .form-field select,
.agenda-section .form-field textarea{background:#fff;border-color:#d9e2e8;box-shadow:0 1px 1px rgba(15,23,42,.025)}
.agenda-section .form-field input:disabled,
.agenda-section .form-field select:disabled{background:#f6f8fa;color:#69727d;opacity:1}
.agenda-section .form-field input:focus,
.agenda-section .form-field select:focus,
.agenda-section .form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,119,168,.08)}
.agenda-title-field input,
.agenda-linked-field input{font-size:14px;min-height:40px}
.derived-value{min-height:39px;padding:10px 11px;border:1px solid #d9e2e8;border-radius:8px;background:#f8fafb;color:var(--text-1);font-size:13px;line-height:1.35}
.agenda-related-tasks{border:1px solid #e1e7ec;border-radius:8px;background:#fbfcfd;min-height:58px;overflow:hidden}
.agenda-related-tasks .empty-state{padding:1rem;color:var(--text-3);text-align:left}
.agenda-related-task{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-bottom:1px solid #edf1f4}
.agenda-related-task:last-child{border-bottom:none}
.agenda-related-task strong{font-size:13px;color:var(--text-1)}
.agenda-related-task span{font-size:12px;color:var(--text-2)}
.agenda-related-task-btn{align-self:flex-start;margin-top:8px}
.agenda-modal-footer{align-items:center}
.agenda-detail-head{padding:0 0 14px;margin-top:-2px;border-bottom:1px solid #e5e7eb;background:#fff}
.agenda-detail-subline{font-size:13px;color:#6b7280;line-height:1.45;margin-bottom:10px}
.agenda-detail-chips{display:flex;gap:6px;flex-wrap:wrap}
#modalFichaAgenda .modal{background:#fff;border-color:#e5e7eb;border-radius:14px;box-shadow:0 24px 70px rgba(15,23,42,.18),0 4px 14px rgba(15,23,42,.08)}
#modalFichaAgenda.modal-overlay{background:rgba(241,245,249,.88);backdrop-filter:blur(3px)}
#modalFichaAgenda h3{font-family:var(--serif);font-size:26px;line-height:1.18;margin-bottom:8px;color:var(--accent);letter-spacing:0}
#fichaAgendaContenido{gap:18px}
.agenda-detail-section{padding:16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.agenda-detail-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#4b5563;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #f1f3f5}
.agenda-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.agenda-detail-stack{display:grid;gap:14px}
.agenda-detail-field{min-width:0}
.agenda-detail-field.wide{grid-column:1/-1}
.agenda-detail-field label{display:block;font-size:10px;color:#6b7280;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
.agenda-detail-field div{font-size:14px;color:#111827;line-height:1.45;overflow-wrap:anywhere}
#modalFichaAgenda .modal-footer{margin-top:18px;padding-top:16px;border-top:1px solid #e5e7eb}

.ficha-modal .modal,
#modalFichaTarea .modal,
#modalFichaCliente .modal,
#modalFichaColaborador .modal,
#modalFichaDocumento .modal,
#modalFichaExpediente .modal,
#modalCorreoEntrante .modal{background:#fff;border-color:#e5e7eb;border-radius:14px;box-shadow:0 24px 70px rgba(15,23,42,.18),0 4px 14px rgba(15,23,42,.08)}
#modalFichaTarea.modal-overlay,
#modalFichaCliente.modal-overlay,
#modalFichaColaborador.modal-overlay,
#modalFichaDocumento.modal-overlay,
#modalFichaExpediente.modal-overlay,
#modalCorreoEntrante.modal-overlay{background:rgba(241,245,249,.88);backdrop-filter:blur(3px)}
#modalFichaTarea h3,
#modalFichaCliente h3,
#modalFichaColaborador h3,
#modalFichaDocumento h3,
#modalFichaExpediente h3,
#modalCorreoEntrante h3{font-family:var(--serif);font-size:26px;line-height:1.18;margin-bottom:8px;color:var(--accent);letter-spacing:0}
.ficha-contenido{gap:18px}
.ficha-header{grid-column:1/-1;padding:0 0 14px;margin-top:-2px;border-bottom:1px solid #e5e7eb;background:#fff}
.ficha-subtitle{font-size:13px;color:#6b7280;line-height:1.45;margin-bottom:10px}
.ficha-chips{display:flex;gap:6px;flex-wrap:wrap}
.ficha-section{grid-column:1/-1;padding:16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.ficha-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#4b5563;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #f1f3f5}
.ficha-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.ficha-stack{display:grid;gap:14px}
.ficha-field{min-width:0}
.ficha-field.wide{grid-column:1/-1}
.ficha-label{display:block;font-size:10px;color:#6b7280;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
.ficha-value{font-size:14px;color:#111827;line-height:1.45;overflow-wrap:anywhere}
.ficha-value.muted{color:#6b7280}
.ficha-list-item{padding:10px 0;border-bottom:1px solid #edf1f4}
.ficha-list-item:last-child{border-bottom:none}
.ficha-related-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ficha-related-actions{display:flex;gap:8px;flex-shrink:0}
.ficha-email-body{max-height:320px;overflow:auto;padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fbfcfd;color:#111827;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
#modalFichaTarea .modal-footer,
#modalFichaCliente .modal-footer,
#modalFichaColaborador .modal-footer,
#modalFichaDocumento .modal-footer,
#modalFichaExpediente .modal-footer,
#modalCorreoEntrante .modal-footer{margin-top:18px;padding-top:16px;border-top:1px solid #e5e7eb}

@media(max-width:720px){
  .agenda-modal{width:94vw;padding:1.25rem}
  .agenda-section{grid-template-columns:1fr}
  .agenda-section .form-field,
  .agenda-section .agenda-place-field{grid-column:1/-1}
  .agenda-detail-grid{grid-template-columns:1fr}
  .ficha-grid{grid-template-columns:1fr}
  .ficha-related-row{align-items:flex-start;flex-direction:column}
}

/* TOAST & CONFIRM */
.toast{position:fixed;bottom:1.75rem;right:1.75rem;background:var(--text-1);color:#fff;padding:11px 20px;border-radius:10px;font-size:13px;z-index:200;opacity:0;transition:all .3s;pointer-events:none;box-shadow:var(--shadow-lg)}
.toast.show{opacity:1}
.confirm-box{background:var(--surface);border-radius:16px;padding:2rem;width:420px;text-align:center;box-shadow:var(--shadow-lg)}
.confirm-box h4{font-family:var(--serif);font-size:19px;margin-bottom:.5rem}
.confirm-box p{font-size:13px;color:var(--text-2);margin-bottom:1.5rem;line-height:1.5}
.confirm-actions{display:flex;justify-content:center;gap:10px}
.link-expediente-cliente{color:inherit;cursor:pointer;text-decoration:none;font-weight:600}
.link-expediente-cliente:hover{color:#2563eb;text-decoration:underline}

.documentos-tabla th:nth-child(3){white-space:nowrap}
.documentos-tabla th:nth-child(7){white-space:nowrap}
.documentos-tabla td:nth-child(7){white-space:nowrap}
.documentos-tabla td:nth-child(7) a,
.documentos-tabla td:nth-child(7) span{
  display:block;
  white-space:nowrap;
  line-height:1.25;
  margin-bottom:4px!important;
}



/* Ajuste fino tabla documentos */
.documentos-tabla th:nth-child(4),
.documentos-tabla td:nth-child(4),
.documentos-tabla th:nth-child(6),
.documentos-tabla td:nth-child(6),
.documentos-tabla th:nth-child(7),
.documentos-tabla td:nth-child(7){
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

.documentos-tabla td:nth-child(7) a,
.documentos-tabla td:nth-child(7) span{
  display:block;
  white-space:nowrap!important;
  line-height:1.08;
  margin-bottom:1px!important;
}


/* Bloque CSS extraído #2 desde index.html */
#expedientesFiltrosLayout {
    display: grid;
    gap: 10px;
    margin: 10px 0 14px;
  }

  #expedientesFiltrosLayout .exp-filter-row {
    display: grid;
    gap: 10px;
    align-items: start;
  }

  #expedientesFiltrosLayout .exp-filter-row.top {
    grid-template-columns: minmax(360px, 2fr) minmax(280px, 1fr);
  }

  #expedientesFiltrosLayout .exp-filter-row.bottom {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
  }

  #expedientesFiltrosLayout .exp-filter-cell input,
  #expedientesFiltrosLayout .exp-filter-cell select {
    width: 100%;
  }

  #estadoFiltroClienteExpediente {
    min-height: 14px;
  }

  @media (max-width: 900px) {
    #expedientesFiltrosLayout .exp-filter-row.top,
    #expedientesFiltrosLayout .exp-filter-row.bottom {
      grid-template-columns: 1fr;
    }
  }

/* Bloque CSS restaurado para seguimientos de tarea */
.tab-section-hdr{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.tab-form{border:1px solid var(--border);border-radius:10px;padding:14px 15px;background:var(--surface-2);margin-bottom:14px;display:none}
.tab-form.visible{display:block}
.tab-form-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin-bottom:10px}
.tab-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tab-form-grid .full{grid-column:1/-1}
.tab-form-field label{display:block;font-size:10px;color:var(--text-2);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.tab-form-field input,.tab-form-field select,.tab-form-field textarea{width:100%;padding:7px 10px;border:1.5px solid var(--border);border-radius:7px;font-family:var(--sans);font-size:13px;color:var(--text-1);background:#fff;outline:none;transition:border-color .15s}
.tab-form-field input:focus,.tab-form-field select:focus,.tab-form-field textarea:focus{border-color:var(--accent)}
.tab-form-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.seg-list{display:flex;flex-direction:column;gap:10px}
.seg-item{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:#fff;position:relative}
.seg-item-header{display:flex;align-items:center;gap:7px;margin-bottom:5px;flex-wrap:wrap;padding-right:72px}
.seg-actions{position:absolute;top:10px;right:10px;display:flex;gap:4px}
.seg-actions button{font-size:11px;color:var(--text-3);background:none;border:none;cursor:pointer;padding:2px 7px;border-radius:4px;transition:color .15s}
.seg-actions button:hover{color:var(--accent)}
.seg-actions button.del:hover{color:var(--danger)}


/* Ocultar spinners nativos de campos numéricos */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]:hover::-webkit-outer-spin-button,
input[type="number"]:hover::-webkit-inner-spin-button,
input[type="number"]:focus::-webkit-outer-spin-button,
input[type="number"]:focus::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

/* Resumen financiero del expediente */
#finanzasResumen.finanzas-grid,
.finanzas-summary-grid.ficha-finanzas-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 16px;
}

#finanzasResumen .finanzas-card,
.finanzas-summary-grid.ficha-finanzas-summary .finanzas-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
  padding: 14px 16px;
  min-width: 0;
  min-height: 96px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#finanzasResumen .finanzas-card .label,
.finanzas-summary-grid.ficha-finanzas-summary .finanzas-card .label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-2);
  margin-bottom: 6px;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  min-height: 2.5em;
}

#finanzasResumen .finanzas-card .valor,
.finanzas-summary-grid.ficha-finanzas-summary .finanzas-card .valor {
  font-size: 24px;
  line-height: 1.05;
  font-weight: 800;
  color: var(--accent);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-variant-numeric: tabular-nums;
}

#finanzasResumen .finanzas-card.finanzas-positive .valor,
#finanzasResumen .finanzas-card .valor.finanzas-positive,
.finanzas-summary-grid.ficha-finanzas-summary .finanzas-card.finanzas-positive .valor,
.finanzas-summary-grid.ficha-finanzas-summary .finanzas-card .valor.finanzas-positive {
  color: var(--success, #15803d);
}

#finanzasResumen .finanzas-card.finanzas-negative .valor,
#finanzasResumen .finanzas-card .valor.finanzas-negative,
.finanzas-summary-grid.ficha-finanzas-summary .finanzas-card.finanzas-negative .valor,
.finanzas-summary-grid.ficha-finanzas-summary .finanzas-card .valor.finanzas-negative {
  color: var(--danger, #b91c1c);
}

@media (max-width: 1100px) {
  #finanzasResumen.finanzas-grid,
  .finanzas-summary-grid.ficha-finanzas-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  #finanzasResumen.finanzas-grid,
  .finanzas-summary-grid.ficha-finanzas-summary {
    grid-template-columns: 1fr;
  }

  #finanzasResumen .finanzas-card,
  .finanzas-summary-grid.ficha-finanzas-summary .finanzas-card {
    min-height: 88px;
  }

  #finanzasResumen .finanzas-card .valor,
  .finanzas-summary-grid.ficha-finanzas-summary .finanzas-card .valor {
    font-size: 22px;
  }
}

.finanzas-detalle-contenido{display:grid;gap:8px;max-height:min(72vh,780px);overflow:auto;padding-right:4px}
.finanzas-detalle-seccion-grid{display:grid;gap:8px}
.finanzas-detalle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.finanzas-detalle-card{padding:10px 12px;min-height:56px;border-radius:8px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.finanzas-detalle-label{font-size:10px;line-height:1.1;margin-bottom:6px;letter-spacing:.06em;text-transform:uppercase}
.finanzas-detalle-valor{font-size:15px;line-height:1.25;font-weight:700}
.finanzas-detalle-card .finanzas-detalle-valor.finanzas-positive,.finanzas-detalle-card .finanzas-detalle-valor.finanzas-negative{font-size:15px;line-height:1.25;font-weight:700}
.finanzas-detalle-card.finanzas-card{padding:10px 12px;min-height:56px;display:flex;flex-direction:column;justify-content:flex-start;border-radius:8px;box-shadow:0 2px 8px rgba(15,23,42,.04);background:#fff}
.finanzas-detalle-card.finanzas-card .label{font-size:10px;line-height:1.1;margin-bottom:6px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);min-height:0}
.finanzas-detalle-card.finanzas-card .valor{font-size:15px;line-height:1.25;font-weight:700;white-space:normal;overflow:visible}
@media (max-width: 1100px){.finanzas-detalle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.finanzas-detalle-grid{grid-template-columns:1fr}}
