/* 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)}
.login-password-wrap{position:relative}
.login-password-wrap input{padding-right:44px}
.login-password-toggle{position:absolute;top:50%;right:5px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;transform:translateY(-50%);border:0;border-radius:7px;background:transparent;color:var(--text-2);cursor:pointer}
.login-password-toggle:hover{background:#e9eef3;color:var(--accent)}
.login-password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.login-password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-password-toggle .login-eye-hide{display:none}
.login-password-toggle[aria-pressed="true"] .login-eye-show{display:none}
.login-password-toggle[aria-pressed="true"] .login-eye-hide{display:block}
.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:180px minmax(0,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 24px;background:linear-gradient(180deg,var(--bg) 0%,#f7fbfd 100%);min-width:0;box-sizing:border-box}
.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{display:inline-block;font-size:10px;line-height:1.2;padding:2px 8px;border-radius:20px;font-weight:600;text-align:center}
.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)}
.correo-estado{text-align:left}
.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-table-expediente th,.finanzas-table-expediente td,
.finanzas-tabla-pendientes th,.finanzas-tabla-pendientes td,
.finanzas-table-balances th,.finanzas-table-balances td{overflow-wrap:anywhere;word-break:break-word}
.finanzas-table-expediente td.finanzas-monto,.finanzas-tabla-pendientes td.finanzas-monto,.finanzas-table-balances td.finanzas-monto{white-space:normal}
.finanzas-tabla-pendientes td.finanzas-monto{font-weight:400;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.finanzas-table-expediente th:nth-child(1),.finanzas-table-expediente td:nth-child(1){width:12%}
.finanzas-table-expediente th:nth-child(2),.finanzas-table-expediente td:nth-child(2){width:9%}
.finanzas-table-expediente th:nth-child(3),.finanzas-table-expediente td:nth-child(3){width:33%}
.finanzas-table-expediente th:nth-child(4),.finanzas-table-expediente td:nth-child(4){width:11%}
.finanzas-table-expediente th:nth-child(5),.finanzas-table-expediente td:nth-child(5){width:12%}
.finanzas-table-expediente th:nth-child(6),.finanzas-table-expediente td:nth-child(6){width:9%}
.finanzas-table-expediente th:nth-child(7),.finanzas-table-expediente td:nth-child(7){width:14%}
.finanzas-tabla-pendientes th:nth-child(1),.finanzas-tabla-pendientes td:nth-child(1){width:11%}
.finanzas-tabla-pendientes th:nth-child(2),.finanzas-tabla-pendientes td:nth-child(2){width:19%}
.finanzas-tabla-pendientes th:nth-child(3),.finanzas-tabla-pendientes td:nth-child(3){width:23%}
.finanzas-tabla-pendientes th:nth-child(4),.finanzas-tabla-pendientes td:nth-child(4){width:10%}
.finanzas-tabla-pendientes th:nth-child(5),.finanzas-tabla-pendientes td:nth-child(5){width:13%}
.finanzas-tabla-pendientes th:nth-child(6),.finanzas-tabla-pendientes td:nth-child(6){width:12%}
.finanzas-tabla-pendientes th:nth-child(7),.finanzas-tabla-pendientes td:nth-child(7){width:12%}
.finanzas-table-balances th:nth-child(1),.finanzas-table-balances td:nth-child(1){width:22%}
.finanzas-table-balances th:nth-child(2),.finanzas-table-balances td:nth-child(2){width:13%}
.finanzas-table-balances th:nth-child(3),.finanzas-table-balances td:nth-child(3){width:12%}
.finanzas-table-balances th:nth-child(4),.finanzas-table-balances td:nth-child(4){width:12%}
.finanzas-table-balances th:nth-child(5),.finanzas-table-balances td:nth-child(5){width:12%}
.finanzas-table-balances th:nth-child(6),.finanzas-table-balances td:nth-child(6){width:15%}
.finanzas-table-balances th:nth-child(7),.finanzas-table-balances td:nth-child(7){width:14%}
#page-tareas table{table-layout:fixed;width:100%}
#page-tareas table td{overflow-wrap:break-word;word-break:break-word}
#page-tareas table th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}
#page-tareas table th:nth-child(1),#page-tareas table td:nth-child(1){width:27%}
#page-tareas table th:nth-child(2),#page-tareas table td:nth-child(2){width:12%}
#page-tareas table th:nth-child(3),#page-tareas table td:nth-child(3){width:14%}
#page-tareas table th:nth-child(4),#page-tareas table td:nth-child(4){width:15%}
#page-tareas table th:nth-child(5),#page-tareas table td:nth-child(5){width:11%}
#page-tareas table th:nth-child(6),#page-tareas table td:nth-child(6){width:10%}
#page-tareas table th:nth-child(7),#page-tareas table td:nth-child(7){width:11%}
#page-colaboradores table{table-layout:fixed;width:100%}
#page-colaboradores table th,#page-colaboradores table td{overflow-wrap:break-word;word-break:break-word}
#page-colaboradores table th:nth-child(1),#page-colaboradores table td:nth-child(1){width:17%}
#page-colaboradores table th:nth-child(2),#page-colaboradores table td:nth-child(2){width:9%}
#page-colaboradores table th:nth-child(3),#page-colaboradores table td:nth-child(3){width:20%}
#page-colaboradores table th:nth-child(4),#page-colaboradores table td:nth-child(4){width:12%}
#page-colaboradores table th:nth-child(5),#page-colaboradores table td:nth-child(5){width:17%;overflow-wrap:anywhere;word-break:break-all}
#page-colaboradores table th:nth-child(6),#page-colaboradores table td:nth-child(6){width:7%}
#page-colaboradores table th:nth-child(7),#page-colaboradores table td:nth-child(7){width:8%}
#page-colaboradores table th:nth-child(8),#page-colaboradores table td:nth-child(8){width:10%}
#page-expedientes table{table-layout:fixed;width:100%}
#page-expedientes table td{overflow-wrap:break-word;word-break:break-word}
#page-expedientes table th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}
#page-expedientes table th:nth-child(1),#page-expedientes table td:nth-child(1){width:16%}
#page-expedientes table th:nth-child(2),#page-expedientes table td:nth-child(2){width:11%}
#page-expedientes table th:nth-child(3),#page-expedientes table td:nth-child(3){width:11%}
#page-expedientes table th:nth-child(4),#page-expedientes table td:nth-child(4){width:8%}
#page-expedientes table th:nth-child(5),#page-expedientes table td:nth-child(5){width:21%}
#page-expedientes table th:nth-child(6),#page-expedientes table td:nth-child(6){width:11%}
#page-expedientes table th:nth-child(7),#page-expedientes table td:nth-child(7){width:9%}
#page-expedientes table th:nth-child(8),#page-expedientes table td:nth-child(8){width:13%}
.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-table-wrap.finanzas-table-wrap-proformas{overflow-x:hidden}
.finanzas-table.finanzas-table-proformas{width:100%;min-width:0;table-layout:fixed}
.finanzas-table-proformas th:nth-child(1),.finanzas-table-proformas td:nth-child(1){width:15%}
.finanzas-table-proformas th:nth-child(2),.finanzas-table-proformas td:nth-child(2){width:11%}
.finanzas-table-proformas th:nth-child(2){text-align:left}
.finanzas-table-proformas th:nth-child(3),.finanzas-table-proformas td:nth-child(3){width:12%}
.finanzas-table-proformas th:nth-child(4),.finanzas-table-proformas td:nth-child(4){width:12%}
.finanzas-table-proformas th:nth-child(5),.finanzas-table-proformas td:nth-child(5){width:12%}
.finanzas-table-proformas th:nth-child(6),.finanzas-table-proformas td:nth-child(6){width:21%}
.finanzas-table-proformas th:nth-child(7),.finanzas-table-proformas td:nth-child(7){width:17%}
.finanzas-table-proformas td:nth-child(3),.finanzas-table-proformas td:nth-child(4){font-weight:400}
.finanzas-table-proformas .finanzas-col-acciones{min-width:0}
.finanzas-table-proformas .acciones-finanzas-vertical{width:100%;min-width:0;max-width:100%}
.finanzas-table-proformas .finanzas-accion{width:100%;white-space:normal;overflow-wrap:normal;word-break:normal}
.finanzas-table-recibos-expediente td:nth-child(4){font-weight:400}
.finanzas-table-recibos-expediente{table-layout:fixed}
.finanzas-table-recibos-expediente .finanzas-recibo-col-fecha{width:11%}
.finanzas-table-recibos-expediente .finanzas-recibo-col-numero{width:12%}
.finanzas-table-recibos-expediente .finanzas-recibo-col-concepto{width:46%}
.finanzas-table-recibos-expediente .finanzas-recibo-col-monto{width:10%}
.finanzas-table-recibos-expediente .finanzas-recibo-col-estado{width:9%}
.finanzas-table-recibos-expediente .finanzas-recibo-col-acciones{width:12%}
.finanzas-table-recibos-expediente th:nth-child(1){width:11%}
.finanzas-table-recibos-expediente th:nth-child(2){width:12%}
.finanzas-table-recibos-expediente th:nth-child(3){width:46%}
.finanzas-table-recibos-expediente th:nth-child(4){width:10%}
.finanzas-table-recibos-expediente th:nth-child(5){width:9%}
.finanzas-table-recibos-expediente th:nth-child(6){width:12%}
.finanzas-table-recibos-expediente th:nth-child(1),.finanzas-table-recibos-expediente td:nth-child(1){white-space:nowrap}
.finanzas-table-recibos-expediente th:nth-child(4){text-align:left;white-space:nowrap}
.finanzas-table-recibos-expediente td:nth-child(4){text-align:right;white-space:nowrap}
.finanzas-table-recientes td.finanzas-col-costo,
.finanzas-table-recientes td.finanzas-col-cargo,
.finanzas-table-expediente td:nth-child(4),
.finanzas-table-expediente td:nth-child(5){font-weight:400}
.finanzas-row-agrupada td{vertical-align:top}
.finanzas-table-wrap-tarea-gastos{scrollbar-gutter:auto}
.finanzas-table.finanzas-table-tarea-gastos{width:100%;min-width:0;table-layout:fixed}
.finanzas-table-tarea-gastos th:nth-child(1),.finanzas-table-tarea-gastos td:nth-child(1){width:23%}
.finanzas-table-tarea-gastos th:nth-child(2),.finanzas-table-tarea-gastos td:nth-child(2){width:12%}
.finanzas-table-tarea-gastos th:nth-child(3),.finanzas-table-tarea-gastos td:nth-child(3){width:11%;white-space:nowrap}
.finanzas-table-tarea-gastos th:nth-child(4),.finanzas-table-tarea-gastos td:nth-child(4){width:14%}
.finanzas-table-tarea-gastos th:nth-child(5),.finanzas-table-tarea-gastos td:nth-child(5){width:9%}
.finanzas-table-tarea-gastos th:nth-child(6),.finanzas-table-tarea-gastos td:nth-child(6){width:15%}
.finanzas-table-tarea-gastos th:nth-child(7),.finanzas-table-tarea-gastos td:nth-child(7){width:16%}
.finanzas-table-tarea-gastos .finanzas-col-acciones{min-width:0}
.finanzas-table-tarea-gastos .finanzas-acciones{min-width:0;width:auto}
.finanzas-table-tarea-gastos .finanzas-accion{font-size:12px}
.finanzas-table-tarea-gastos td:nth-child(1){text-align:left}
.finanzas-table-tarea-gastos td:nth-child(1) .finanzas-tarea-concepto{font-weight:600;line-height:1.25;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.finanzas-table-tarea-gastos td:nth-child(3),.finanzas-table-tarea-gastos th:nth-child(3){white-space:nowrap}
.finanzas-row-destacada{background:rgba(59,130,246,.08)}
.finanzas-row-destacada td{background:rgba(59,130,246,.08)}
.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)}
.main .search-bar{flex-wrap:wrap}
	.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:minmax(0,2fr) minmax(220px,1fr)}
.documentos-filtros-row-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(150px,auto)}
.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}
.acciones-tabla{gap:4px}
.acciones-verticales{display:flex;flex-direction:column;align-items:flex-start;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-finanzas-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:4px;white-space:normal;min-width:0}
.main:has(#page-finanzas.active){min-width:0;overflow-x:hidden}
#page-finanzas,#finanzasContenido,.finanzas-section{min-width:0;max-width:100%}
.finanzas-movimientos-card{margin-top:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.finanzas-movimientos-header{padding:15px 18px 13px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#f8fcfe,var(--surface))}
.finanzas-movimientos-header h3{margin:0;color:var(--accent);font-size:14px;font-weight:700;line-height:1.3}
.finanzas-movimientos-card .table-wrap{border:0;border-radius:0;box-shadow:none}
.finanzas-table-wrap{display:block;overflow-x:auto;overflow-y:visible;width:100%;max-width:100%;min-width:0;-webkit-overflow-scrolling:touch}
.finanzas-fecha-recibo{display:inline-flex;flex-direction:column;align-items:flex-start;white-space:nowrap;line-height:1.2;font-variant-numeric:tabular-nums}
.finanzas-recibo-modal-resumen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.finanzas-recibo-modal-dato{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.finanzas-recibo-modal-dato span{display:block;margin-bottom:4px;color:var(--text-2);font-size:11px;font-weight:700;text-transform:uppercase}
.finanzas-recibo-modal-dato strong{display:block;color:var(--text);font-size:15px;overflow-wrap:anywhere}
@media(max-width:640px){.finanzas-recibo-modal-resumen{grid-template-columns:1fr}}
.finanzas-col-acciones{width:130px;min-width:130px;vertical-align:top}
.finanzas-acciones,.acciones-finanzas-vertical,.acciones-tabla{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:max-content;min-width:110px;max-width:none}
.finanzas-accion,.finanzas-acciones .btn-sm,.acciones-finanzas-vertical .btn-sm,.acciones-tabla .accion-tabla{appearance:none;-webkit-appearance:none;display:inline-block;align-items:center;justify-content:flex-start;width:auto;max-width:none;min-width:0;height:auto;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--accent);font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.35;text-align:left;text-decoration:none;white-space:nowrap;word-break:normal;overflow-wrap:normal;hyphens:none;cursor:pointer;transition:color .18s,text-decoration-color .18s}
.finanzas-accion:hover,.finanzas-acciones .btn-sm:hover,.acciones-finanzas-vertical .btn-sm:hover,.acciones-tabla .accion-tabla:hover{background:transparent;border-color:transparent;box-shadow:none;transform:none;color:#0f5f8a;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.finanzas-accion:focus-visible,.finanzas-acciones .btn-sm:focus-visible,.acciones-finanzas-vertical .btn-sm:focus-visible,.acciones-tabla .accion-tabla:focus-visible{outline:2px solid rgba(0,119,168,.35);outline-offset:2px;border-radius:3px}
.finanzas-accion--peligro,.finanzas-acciones .btn-sm.danger,.acciones-finanzas-vertical .btn-sm.danger,.acciones-tabla .accion-tabla.danger{color:var(--danger)}
.finanzas-accion--peligro:hover,.finanzas-acciones .btn-sm.danger:hover,.acciones-finanzas-vertical .btn-sm.danger:hover,.acciones-tabla .accion-tabla.danger:hover{color:#991b1b;background:transparent;border-color:transparent}
.finanzas-table-expediente td.finanzas-col-acciones,.finanzas-tabla-pendientes td.finanzas-col-acciones,.finanzas-table-balances td.finanzas-col-acciones{width:auto;min-width:0}
.finanzas-table-expediente .finanzas-acciones,.finanzas-table-expediente .acciones-finanzas-vertical,.finanzas-table-expediente .acciones-tabla,
.finanzas-tabla-pendientes .finanzas-acciones,.finanzas-tabla-pendientes .acciones-finanzas-vertical,.finanzas-tabla-pendientes .acciones-tabla,
.finanzas-table-balances .finanzas-acciones,.finanzas-table-balances .acciones-finanzas-vertical,.finanzas-table-balances .acciones-tabla{width:100%;min-width:0;max-width:100%}
.finanzas-table-expediente .finanzas-accion,.finanzas-tabla-pendientes .finanzas-accion,.finanzas-table-balances .finanzas-accion{white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%;align-self:stretch}
td.finanzas-col-acciones{padding:6px 10px}
td.finanzas-col-acciones .finanzas-acciones,
td.finanzas-col-acciones .acciones-finanzas-vertical,
td.finanzas-col-acciones .acciones-tabla{gap:0;margin:0;padding:0}
td.finanzas-col-acciones .finanzas-accion,
td.finanzas-col-acciones .finanzas-acciones .btn-sm,
td.finanzas-col-acciones .acciones-finanzas-vertical .btn-sm,
td.finanzas-col-acciones .acciones-tabla .accion-tabla{padding:0;margin:0;font-size:12px;line-height:1.1}
.finanzas-table-recientes{width:100%;max-width:100%;min-width:0;table-layout:fixed}
.finanzas-table-recientes th,.finanzas-table-recientes td{padding:10px 12px;vertical-align:top;word-break:break-word;overflow-wrap:anywhere;hyphens:none}
.finanzas-table-recientes td.finanzas-monto{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.finanzas-table-recientes th.finanzas-col-tipo,.finanzas-table-recientes td.finanzas-col-tipo,
.finanzas-table-recientes th.finanzas-col-estado,.finanzas-table-recientes td.finanzas-col-estado{word-break:normal;overflow-wrap:normal}
.finanzas-table-recientes th{line-height:1.15}
.finanzas-table-recientes th.finanzas-col-fecha,.finanzas-table-recientes td.finanzas-col-fecha{width:11%;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.finanzas-table-recientes th.finanzas-col-tipo,.finanzas-table-recientes td.finanzas-col-tipo{width:10%}
.finanzas-table-recientes th.finanzas-col-concepto,.finanzas-table-recientes td.finanzas-col-concepto{width:18%}
.finanzas-table-recientes th.finanzas-col-expediente,.finanzas-table-recientes td.finanzas-col-expediente{width:15%}
.finanzas-table-recientes th.finanzas-col-costo,.finanzas-table-recientes td.finanzas-col-costo{width:10%;font-variant-numeric:tabular-nums}
.finanzas-table-recientes th.finanzas-col-cargo,.finanzas-table-recientes td.finanzas-col-cargo{width:11%;font-variant-numeric:tabular-nums}
.finanzas-table-recientes th.finanzas-col-cargo,.finanzas-table-recientes td.finanzas-col-cargo,.finanzas-table-recientes td.finanzas-col-estado{padding-left:8px}
.finanzas-table-recientes th.finanzas-col-estado,.finanzas-table-recientes td.finanzas-col-estado{width:11%}
.finanzas-table-recientes th.finanzas-col-acciones,.finanzas-table-recientes td.finanzas-col-acciones{width:14%}
.finanzas-table-recientes td.finanzas-col-acciones{padding:6px 10px}
.finanzas-table-recientes .finanzas-acciones,
.finanzas-table-recientes .acciones-finanzas-vertical,
.finanzas-table-recientes .acciones-tabla{gap:0;margin:0;padding:0;min-width:0;width:100%;max-width:100%}
.finanzas-table-recientes .finanzas-accion,
.finanzas-table-recientes .finanzas-acciones .btn-sm,
.finanzas-table-recientes .acciones-finanzas-vertical .btn-sm,
.finanzas-table-recientes .acciones-tabla .accion-tabla{display:inline-flex;padding:0;margin:0;font-size:12px;line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%;align-self:stretch;box-sizing:border-box}
.finanzas-table-recientes .finanzas-accion--dos-lineas{align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important}
.finanzas-table-recientes .finanzas-accion--dos-lineas span{display:block;width:100%;text-align:left!important}
.finanzas-table tbody td.finanzas-col-estado{padding-left:6px}
.finanzas-table-recientes tbody td.finanzas-col-estado,
.finanzas-table-expediente tbody td:nth-child(6),
.finanzas-table-proformas tbody td:nth-child(2),
.finanzas-table-recibos-expediente tbody td:nth-child(5){
  text-align:left;
  padding-left:2px;
}
.finanzas-table-recientes tbody td.finanzas-col-estado .badge,
.finanzas-table-expediente tbody td:nth-child(6) .badge,
.finanzas-table-proformas tbody td:nth-child(2) .badge,
.finanzas-table-recibos-expediente tbody td:nth-child(5) .badge{
  text-align:left;
}
.documentos-filtros #filtroClienteDocumento{display:none}
.documentos-filtros datalist{display:none}
.tareas-filtros{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr) minmax(0,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-general th:nth-child(1){width:24%}
.documentos-tabla-general th:nth-child(2){width:10%}
.documentos-tabla-general th:nth-child(2),.documentos-tabla-general td:nth-child(2){padding-left:8px;padding-right:8px;overflow-wrap:normal;word-break:normal}
.documentos-tabla-general th:nth-child(3){width:10%}
.documentos-tabla-general th:nth-child(4){width:5%}
.documentos-tabla-general th:nth-child(5){width:29%}
.documentos-tabla-general th:nth-child(6){width:10%}
.documentos-tabla-general th:nth-child(7){width:12%}
.documentos-tabla-general td:nth-child(7),.documentos-tabla-general th:nth-child(7){white-space:nowrap}
.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)}
.main .table-wrap{overflow-x:auto;overflow-y:hidden}
	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{display:inline-block;font-size:10px;line-height:1.2;padding:3px 10px;border-radius:20px;font-weight:600;text-align:center}
.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}
	.record-actions{display:flex;gap:10px;align-items:center;white-space:nowrap}
.agenda-actions-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:nowrap}
.agenda-actions-vertical span{font-size:12px;line-height:1.2}
.agenda-actions-vertical .accion-link{display:block;border:0;background:transparent;padding:0;margin:0;color:var(--accent);font-size:12px;line-height:1.2;cursor:pointer;text-align:left;text-decoration:none}
.agenda-actions-vertical .accion-link.danger{color:#dc2626}
.agenda-accion-expediente{display:none!important}
.finanzas-accion--dos-lineas{display:inline-flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;white-space:normal;line-height:1.05}
.agenda-tabla{table-layout:fixed;width:100%}
.agenda-tabla td,.agenda-tabla th{overflow-wrap:break-word;word-break:break-word}
.agenda-tabla .td-link{overflow-wrap:break-word;word-break:break-word}
.agenda-tabla th:nth-child(1),.agenda-tabla td:nth-child(1){width:12%}
.agenda-tabla th:nth-child(2),.agenda-tabla td:nth-child(2){width:11%;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.agenda-tabla th:nth-child(3),.agenda-tabla td:nth-child(3){width:22%}
.agenda-tabla th:nth-child(4),.agenda-tabla td:nth-child(4){width:18%}
.agenda-tabla th:nth-child(5),.agenda-tabla td:nth-child(5){width:15%}
.agenda-tabla th:nth-child(6),.agenda-tabla td:nth-child(6){width:12%}
.agenda-tabla th:nth-child(7),.agenda-tabla td:nth-child(7){width:10%}
.agenda-tabla th:nth-child(5),.agenda-tabla th:nth-child(6),.agenda-tabla th:nth-child(7),
.agenda-tabla td:nth-child(7),.agenda-tabla .novedad-etiqueta{white-space:nowrap;word-break:normal;overflow-wrap:normal}
.agenda-hora{font-size:11px;color:var(--text-2)}
.agenda-estado{font-size:11px;color:var(--text-2)}
.colaboradores-actions-vertical{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:nowrap}
.colaboradores-actions-vertical span{font-size:12px;line-height:1.2;white-space:nowrap;word-break:normal;overflow-wrap:normal}
#page-colaboradores .colaboradores-col-estado{width:110px;min-width:110px;white-space:nowrap}
#page-colaboradores .colaboradores-col-acciones{width:105px;min-width:105px;white-space:nowrap;vertical-align:top}
.correo-adjuntos-acciones{display:flex;gap:10px;align-items:stretch}
.correo-adjuntos-acciones .btn-sm{flex:1 1 0;height:40px;display:flex;align-items:center;justify-content:center;white-space:nowrap}
@media(max-width:520px){.correo-adjuntos-acciones{flex-direction:column}.correo-adjuntos-acciones .btn-sm{flex:1 1 auto}}
.td-acciones{vertical-align:top;min-width:120px}
.acciones-tarea{display:flex;flex-direction:column;align-items:flex-start;gap:6px;white-space:nowrap}
.acciones-tarea .accion-link{display:block;border:0;background:transparent;padding:0;margin:0;color:var(--accent);font-size:12px;line-height:1.2;cursor:pointer;text-align:left}
.acciones-tarea .accion-link.danger{color:#dc2626}
.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 .acciones-tarea,
.task-row .acciones-tarea *{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}
.record-row[tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.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;gap:10px;align-items:center;white-space:nowrap}
.doc-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start;white-space:normal}
.doc-actions .accion-link{display:block;border:0;background:transparent;padding:0;margin:0;color:var(--accent);font-size:12px;line-height:1.2;cursor:pointer;text-align:left;text-decoration:none}
.doc-actions .accion-link.danger{color:#dc2626}
.mail-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.mail-actions span{font-size:12px;line-height:1.2}
.mail-actions .accion-link{display:block;border:0;background:transparent;padding:0;margin:0;color:var(--accent);font-size:12px;line-height:1.2;cursor:pointer;text-align:left;text-decoration:none}
.mail-actions .accion-link.danger{color:#dc2626}
.correos-tabla{table-layout:fixed;width:100%}
.correos-tabla td,.correos-tabla th{overflow-wrap:break-word;word-break:break-word}
.correos-tabla .col-fecha{width:9%;white-space:nowrap}
.correos-tabla .col-asunto{width:29%}
.correos-tabla .col-remitente{width:18%;max-width:none;overflow:hidden;white-space:normal}
.correos-tabla .col-estado{width:13%;white-space:nowrap}
.correos-tabla .col-vinculo{width:16%}
.correos-tabla .col-acciones{width:15%;white-space:nowrap}
.linked-mail-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.linked-mail-table{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;max-width:100%}
.linked-mail-grid{width:100%;min-width:920px;table-layout:fixed;border-collapse:collapse}
.linked-mail-grid th,.linked-mail-grid td{font-size:12px;padding:8px 10px;vertical-align:top;border-bottom:1px solid #edf1f4}
.linked-mail-grid thead th{
  position:sticky;
  top:0;
  background:#f8fafc;
  z-index:1;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:10px;
  color:#6b7280;
  font-weight:700;
}
.linked-mail-grid tbody tr:last-child td{border-bottom:none}
.linked-mail-grid td,
.linked-mail-grid th{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.linked-mail-grid .correo-col-fecha{width:82px;white-space:nowrap}
.linked-mail-grid .correo-col-tipo{width:86px}
.linked-mail-grid .correo-col-asunto{width:260px}
.linked-mail-grid .correo-col-remitente{width:155px}
.linked-mail-grid .correo-col-destinatarios{width:190px}
.linked-mail-grid .correo-col-estado{width:120px}
.linked-mail-grid .correo-col-adj{width:56px;text-align:center}
.linked-mail-grid .correo-col-vinculo{width:140px}
.linked-mail-grid .correo-col-acciones{width:70px;text-align:center}
.linked-mail-grid td.correo-col-fecha,
.linked-mail-grid td.correo-col-remitente,
.linked-mail-grid td.correo-col-destinatarios,
.linked-mail-grid td.correo-col-asunto,
.linked-mail-grid td.correo-col-estado,
.linked-mail-grid td.correo-col-vinculo{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.linked-mail-grid td.correo-col-asunto{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.linked-mail-grid td.correo-col-fecha{font-variant-numeric:tabular-nums}
.linked-mail-grid td.correo-col-remitente .correo-remitente-doble-linea{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  white-space:normal;
  line-height:1.25;
}
.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)}

/* 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}
	.modal{position:relative;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-cerrar-superior{
  position:sticky;
  top:0;
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:34px;
  margin:-2.25rem -2.25rem -34px auto;
  padding:0;
  border:0;
  border-radius:0 15px 0 8px;
  background:transparent;
  color:var(--text-2);
  font:300 26px/1 Arial,sans-serif;
  cursor:pointer;
  transition:background .15s,color .15s;
}
.modal-cerrar-superior:hover,
.modal-cerrar-superior:focus-visible{
  background:#e81123;
  color:#fff;
  outline:none;
}
.preview-header>.modal-cerrar-superior{
  position:static;
  flex:0 0 46px;
  margin:0;
  border-radius:6px;
}
.confirm-box>.modal-cerrar-superior{
  position:absolute;
  top:0;
  right:0;
  margin:0;
}
/* El margen superior negativo del cierre anulaba el padding del modal y dejaba
   el título pegado al borde. Se conserva sticky para que la X siga visible al
   desplazar fichas largas. */
.modal>.modal-cerrar-superior{
  margin-top:0;
}
.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[hidden]{display:none!important}
.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)}
#modalEstadoCuentaFinanzas .modal{display:flex;flex-direction:column;width:min(1180px,96vw);height:92vh;max-height:92vh;padding:0;overflow:hidden}
.estado-cuenta-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;padding:16px 62px 16px 22px;border-bottom:1px solid var(--border);background:var(--surface)}
.estado-cuenta-modal-header h3{margin:0;color:var(--accent);font-size:17px}
.estado-cuenta-filtros{display:flex;align-items:flex-end;gap:10px;flex:0 0 auto;padding:12px 22px;border-bottom:1px solid var(--border);background:#f8fafb;white-space:nowrap}
.estado-cuenta-filtros .form-field{min-width:145px}
.estado-cuenta-filtros .form-field label{margin-bottom:4px}
.estado-cuenta-filtros .form-field input,.estado-cuenta-filtros .form-field select{padding:7px 9px}
.estado-cuenta-filtros .estado-cuenta-periodo{min-width:180px}
@media(max-width:760px){.estado-cuenta-filtros{align-items:stretch;flex-wrap:wrap;white-space:normal}.estado-cuenta-filtros .form-field{flex:1 1 145px}.estado-cuenta-filtros .estado-cuenta-periodo{flex:1 1 180px}}
#modalEstadoCuentaFinanzas .modal-cerrar-superior{position:absolute;top:0;right:0;margin:0}
#estadoCuentaFinanzasFrame{display:block;flex:1;width:100%;min-height:0;border:0;background:#eef3f6}
#modalEstadoCuentaFinanzas .modal-footer{margin:0;padding:13px 22px;background:var(--surface);flex:0 0 auto}
.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,calc(100vw - 80px));max-height:calc(100vh - 64px);padding:2.25rem;background:#fbfcfd}
.agenda-modal h3{margin:0 0 1.35rem}
.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-history-item{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;padding:12px 0;border:0;border-bottom:1px solid #edf1f4;background:transparent;color:#111827;font-family:var(--sans);text-align:left;cursor:pointer}
.agenda-history-item:first-child{padding-top:0}
.agenda-history-item:last-child{padding-bottom:0;border-bottom:0}
.agenda-history-item:hover .agenda-history-result{color:var(--accent)}
.agenda-history-meta{font-size:10px;color:#6b7280;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.agenda-history-result{font-size:14px;color:#111827;line-height:1.45;transition:color .15s}
.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)}
#modalFichaExpediente .modal,
#modalFichaCliente .modal{width:min(1120px,96vw);padding:2rem}
#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}
#modalFichaExpediente #fichaExpedienteTabs,
#modalFichaCliente #fichaClienteTabs{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:8px;
  width:100%;
  margin:2px 0 0;
  padding:0 0 2px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
}
#modalFichaExpediente #fichaExpedienteTabs::-webkit-scrollbar,
#modalFichaCliente #fichaClienteTabs::-webkit-scrollbar{
  height:6px;
}
#modalFichaExpediente #fichaExpedienteTabs::-webkit-scrollbar-thumb,
#modalFichaCliente #fichaClienteTabs::-webkit-scrollbar-thumb{
  background:rgba(87,83,78,.22);
  border-radius:999px;
}
#modalFichaExpediente #fichaExpedienteTabs .ficha-tab,
#modalFichaCliente #fichaClienteTabs .ficha-tab{
  flex:0 0 auto;
  min-width:max-content;
  padding:9px 14px;
  border:1px solid #d8e1e7;
  border-radius:999px;
  background:#fff;
  color:#4b5563;
  font-family:var(--sans);
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.03em;
  cursor:pointer;
  appearance:none;
  box-shadow:0 1px 1px rgba(15,23,42,.03);
  white-space:nowrap;
}
#modalFichaExpediente #fichaExpedienteTabs .ficha-tab:hover,
#modalFichaCliente #fichaClienteTabs .ficha-tab:hover{
  background:#f8fafc;
  border-color:#cfd8e1;
  color:#1f2937;
}
#modalFichaExpediente #fichaExpedienteTabs .ficha-tab.active,
#modalFichaCliente #fichaClienteTabs .ficha-tab.active{
  background:linear-gradient(135deg,#0077a8,#00b4d8);
  border-color:transparent;
  color:#fff;
  box-shadow:0 3px 10px rgba(0,119,168,.2);
}
#page-configuracion #configuracionTabs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:14px 0 18px;
}
#page-configuracion #configuracionTabs .ficha-tab{
  flex:0 0 auto;
  padding:9px 16px;
  border:1px solid #d8e1e7;
  border-radius:999px;
  background:#fff;
  color:#4b5563;
  font-family:var(--sans);
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  appearance:none;
  box-shadow:0 1px 1px rgba(15,23,42,.03);
  white-space:nowrap;
}
#page-configuracion #configuracionTabs .ficha-tab:hover{
  background:#f8fafc;
  border-color:#cfd8e1;
  color:#1f2937;
}
#page-configuracion #configuracionTabs .ficha-tab.active{
  background:linear-gradient(135deg,#0077a8,#00b4d8);
  border-color:transparent;
  color:#fff;
  box-shadow:0 3px 10px rgba(0,119,168,.2);
}
#page-configuracion [data-panel="general"] > .grid2{
  grid-template-columns:minmax(0,1fr);
  width:100%;
}

#page-configuracion [data-correo-categoria]{
  accent-color:var(--accent);
}
#page-configuracion .correo-opcion-linea{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0;
  color:var(--text-1);
  font-size:13px;
  cursor:pointer;
}
#page-configuracion .correo-opcion-linea span{flex:1}
#page-configuracion .form-section-title{
  margin:0 0 10px;
  color:var(--text-2);
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#page-finanzas #finanzasTabsBar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:14px 0 18px;
}
#page-finanzas #finanzasTabsBar .ficha-tab{
  flex:0 0 auto;
  padding:9px 16px;
  border:1px solid #d8e1e7;
  border-radius:999px;
  background:#fff;
  color:#4b5563;
  font-family:var(--sans);
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  appearance:none;
  box-shadow:0 1px 1px rgba(15,23,42,.03);
  white-space:nowrap;
}
#page-finanzas #finanzasTabsBar .ficha-tab:hover{
  background:#f8fafc;
  border-color:#cfd8e1;
  color:#1f2937;
}
#page-finanzas #finanzasTabsBar .ficha-tab.active{
  background:linear-gradient(135deg,#0077a8,#00b4d8);
  border-color:transparent;
  color:#fff;
  box-shadow:0 3px 10px rgba(0,119,168,.2);
}
.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}
#modalFichaExpediente .ficha-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 18px;
}
#modalFichaExpediente .ficha-tab-panel > .form-grid,
#fichaClienteContenido .ficha-tab-panel > .form-grid{
  display:flex;
  flex-direction:column;
  gap:18px;
}
#modalFichaExpediente .ficha-tab-panel > .form-grid > *,
#fichaClienteContenido .ficha-tab-panel > .form-grid > *{
  width:100%;
  min-width:0;
}
#modalFichaExpediente .ficha-tab-panel,
#fichaClienteContenido .ficha-tab-panel{
  width:100%;
  min-width:0;
}
#modalFichaExpediente .ficha-tab-panel .ficha-section,
#modalFichaExpediente .ficha-tab-panel .ficha-grid,
#modalFichaExpediente .ficha-tab-panel .ficha-stack,
#fichaClienteContenido .ficha-tab-panel .ficha-section,
#fichaClienteContenido .ficha-tab-panel .ficha-grid,
#fichaClienteContenido .ficha-tab-panel .ficha-stack{
  min-width:0;
}
#modalFichaExpediente .ficha-section,
#modalFichaExpediente .ficha-field,
#modalFichaExpediente .ficha-label,
#modalFichaExpediente .ficha-value,
#modalFichaCliente .ficha-section,
#modalFichaCliente .ficha-field,
#modalFichaCliente .ficha-label,
#modalFichaCliente .ficha-value{
  min-width:0;
}
#modalFichaExpediente .ficha-label,
#modalFichaExpediente .ficha-value,
#modalFichaCliente .ficha-label,
#modalFichaCliente .ficha-value{
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}
#modalFichaExpediente .ficha-value,
#modalFichaCliente .ficha-value{
  line-height:1.5;
}
#modalFichaCliente .ficha-cliente-table-wrap,
#modalFichaExpediente .ficha-cliente-table-wrap{
  width:100%;
  overflow-x:auto;
}
#modalFichaCliente .ficha-cliente-table-wrap table,
#modalFichaExpediente .ficha-cliente-table-wrap table{
  min-width:900px;
}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla,
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla{
  min-width:820px;
}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla th,
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla td,
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla th,
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla td{
  padding-left:10px;
  padding-right:10px;
}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(1),
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(1){width:230px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(2),
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(2){width:120px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(3),
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(3){width:90px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(4),
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(4){width:100px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(5),
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(5){width:80px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(6),
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(6){width:90px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(7),
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla th:nth-child(7){width:110px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla td:nth-child(7) a,
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla td:nth-child(7) a{
  text-decoration:none;
}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla-sin-estado{
  min-width:760px;
}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla-sin-estado th:nth-child(1){width:230px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla-sin-estado th:nth-child(2){width:120px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla-sin-estado th:nth-child(3){width:90px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla-sin-estado th:nth-child(4){width:130px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla-sin-estado th:nth-child(5){width:80px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla-sin-estado th:nth-child(6){width:110px}
#modalFichaCliente .ficha-cliente-table-wrap .documentos-tabla-sin-estado td:nth-child(6) a{
  text-decoration:none;
}
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla-sin-relacion{
  min-width:760px;
}
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla-sin-relacion th:nth-child(1){width:250px}
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla-sin-relacion th:nth-child(2){width:140px}
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla-sin-relacion th:nth-child(3){width:100px}
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla-sin-relacion th:nth-child(4){width:80px}
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla-sin-relacion th:nth-child(5){width:100px}
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla-sin-relacion th:nth-child(6){width:110px}
#modalFichaExpediente .ficha-cliente-table-wrap .documentos-tabla-sin-relacion td:nth-child(6) a{
  text-decoration:none;
}
#modalFichaCliente .ficha-cliente-table-wrap .acciones-tarea,
#modalFichaCliente .ficha-cliente-table-wrap .record-actions,
#modalFichaExpediente .ficha-cliente-table-wrap .acciones-tarea,
#modalFichaExpediente .ficha-cliente-table-wrap .record-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
#modalFichaCliente .ficha-cliente-table-wrap .record-actions .accion-link{
  display:block;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  color:var(--accent);
  font-size:12px;
  line-height:1.2;
  cursor:pointer;
  text-align:left;
  text-decoration:none;
}
#modalCorreoEntrante .correo-vinculacion-note,
#modalCorreoSaliente .correo-vinculacion-note{
  font-size:12px;
  line-height:1.45;
  margin-top:2px;
}
#modalCorreoEntrante .correo-vinculacion-empty,
#modalCorreoSaliente .correo-vinculacion-empty{
  font-size:12px;
  line-height:1.5;
  margin-top:-2px;
}
#modalCorreoEntrante .correo-adjunto-tag,
#modalCorreoSaliente .correo-adjunto-tag{
  vertical-align:middle;
}
.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:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:1.5rem}
  .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}
  #modalFichaExpediente .ficha-grid{grid-template-columns:1fr}
}

/* 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{position:relative;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;color:var(--accent)}
.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;
    }
  }

.item-novedad { background: rgba(59, 130, 246, 0.06); }
.novedad-etiqueta { display: inline-flex; align-items: center; padding: 2px 8px; margin-right: 8px; border-radius: 999px; font-size: 11px; font-weight: 700; line-height: 1.2; text-transform: uppercase; letter-spacing: 0; vertical-align: middle; }
.novedad-etiqueta.nuevo { background: #dcfce7; color: #166534; }
.novedad-etiqueta.actualizado { background: #fef3c7; color: #92400e; }

.correos-tabla td.col-remitente .correo-remitente-doble-linea{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  white-space:normal;
  line-height:1.2;
}
.correos-tabla td.col-remitente .correo-remitente-linea1,
.correos-tabla td.col-remitente .correo-remitente-linea2{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  display:block;
}
.correos-tabla td.col-remitente .correo-remitente-linea2{
  color:var(--text-2);
  font-size:11px;
}

/* Task modal visual refresh */
#modalTarea .modal.task-modal{
  width:min(920px,94vw);
  padding:2rem 2.1rem 1.9rem;
}
#modalTarea #modalTareaTitulo{
  margin-top:.75rem;
}
#modalTarea .ficha-tabs{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:8px;
  width:100%;
  margin:0 0 12px;
  padding:0 0 2px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
}
#modalTarea .ficha-tabs::-webkit-scrollbar{height:6px}
#modalTarea .ficha-tabs::-webkit-scrollbar-thumb{background:rgba(87,83,78,.22);border-radius:999px}
#modalTarea .ficha-tab{
  flex:0 0 auto;
  min-width:max-content;
  padding:9px 14px;
  border:1px solid #d8e1e7;
  border-radius:999px;
  background:#fff;
  color:#4b5563;
  font-family:var(--sans);
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.03em;
  cursor:pointer;
  appearance:none;
  box-shadow:0 1px 1px rgba(15,23,42,.03);
}
#modalTarea .ficha-tab:hover{
  background:#f8fafc;
  border-color:#cfd8e1;
  color:#1f2937;
}
#modalTarea .ficha-tab.active{
  background:linear-gradient(135deg,#0077a8,#00b4d8);
  border-color:transparent;
  color:#fff;
  box-shadow:0 3px 10px rgba(0,119,168,.2);
}
#modalTarea .ficha-tab-panel{
  grid-column:1/-1;
  min-width:0;
  width:100%;
}
#modalTarea .ficha-tab-panel.active{display:block}
#modalTarea .tab-form,
#modalTarea .seg-item,
#modalTarea .adj-item,
#modalTarea .paso-item{
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  box-shadow:0 1px 1px rgba(15,23,42,.03);
}
#modalTarea .tab-form{display:none}
#modalTarea .tab-form.visible{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:12px 14px;
  padding:14px;
}
#modalTarea .tab-form-title{
  grid-column:1/-1;
  padding-bottom:8px;
  border-bottom:1px solid #edf1f4;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#4b5563;
}
#modalTarea .tab-form-grid{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:12px 14px;
  min-width:0;
}
#modalTarea .tab-form-field{
  grid-column:span 6;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
#modalTarea .tab-form-field.full{grid-column:1/-1}
#modalTarea .tab-form-field label{
  font-size:10px;
  color:#6b7280;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#modalTarea .tab-form-field input,
#modalTarea .tab-form-field select,
#modalTarea .tab-form-field textarea{
  width:100%;
  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;
  box-sizing:border-box;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
#modalTarea .tab-form-field input:focus,
#modalTarea .tab-form-field select:focus,
#modalTarea .tab-form-field textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(30,58,95,.07);
}
#modalTarea .tab-form-field textarea{
  min-height:86px;
  resize:vertical;
}
#modalTarea .tab-form-footer{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  padding-top:4px;
}
#modalTarea .tab-section-hdr{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin:2px 0 0;
}
#modalTarea .tab-section-title{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#4b5563;
}
#modalTarea .tab-section-count{
  font-size:11px;
  font-weight:700;
  color:#6b7280;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:4px 9px;
}
#modalTarea .seg-list,
#modalTarea .adj-list{
  display:grid;
  gap:12px;
}
#modalTarea .seg-item,
#modalTarea .adj-item,
#modalTarea .paso-item{
  padding:12px 14px;
}
#modalTarea .seg-item{
  display:grid;
  gap:8px;
}
#modalTarea .seg-item-header{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
#modalTarea .seg-desc,
#modalTarea .seg-meta,
#modalTarea .adj-meta,
#modalTarea .paso-meta{
  font-size:13px;
  line-height:1.45;
  color:#4b5563;
  overflow-wrap:anywhere;
}
#modalTarea .seg-actions,
#modalTarea .adj-actions,
#modalTarea .paso-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
#modalTarea .seg-actions button,
#modalTarea .adj-actions button,
#modalTarea .paso-actions button{
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  font:inherit;
  color:var(--accent);
  cursor:pointer;
  line-height:1.2;
}
#modalTarea .seg-actions button.del,
#modalTarea .adj-actions button.del,
#modalTarea .paso-actions button.del{color:#dc2626}
#modalTarea .adj-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
#modalTarea .adj-icon{
  flex:0 0 auto;
  width:36px;
  height:36px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f5f7fa;
  color:#475569;
  font-size:12px;
  font-weight:800;
}
#modalTarea .adj-body{min-width:0;flex:1 1 auto;display:grid;gap:4px}
#modalTarea .adj-nombre,
#modalTarea .paso-titulo{
  font-size:14px;
  font-weight:700;
  color:#111827;
  overflow-wrap:anywhere;
}
#modalTarea .paso-item{
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  gap:10px 12px;
  align-items:start;
}
#modalTarea .paso-orden{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  font-size:12px;
  font-weight:700;
  color:#475569;
}
#modalTarea .paso-check{
  width:28px;
  height:28px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d8e1e7;
  color:#6b7280;
  background:#fff;
}
#modalTarea .paso-check.en-proceso{background:#eef8fd;border-color:#cfe9f6;color:#0277a8}
#modalTarea .paso-check.completado{background:var(--ok-lt);border-color:#d7f0df;color:var(--ok)}
#modalTarea .paso-check.cancelado{background:#faf5f5;border-color:#e8d8d8;color:#9b1c1c}
#modalTarea .paso-body{min-width:0;display:grid;gap:6px}
#modalTarea .paso-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#modalTarea .tab-form + .tab-section-hdr,
#modalTarea .seg-list,
#modalTarea .adj-list,
#modalTarea .paso-item{margin-top:12px}
#modalTarea .empty-state{padding:14px 16px}
@media(max-width:720px){
  #modalTarea .ficha-tabs{gap:6px}
  #modalTarea .ficha-tab{padding:8px 12px}
  #modalFichaExpediente #fichaExpedienteTabs,
  #modalFichaCliente #fichaClienteTabs{gap:6px;padding-bottom:4px}
  #modalFichaExpediente #fichaExpedienteTabs .ficha-tab,
  #modalFichaCliente #fichaClienteTabs .ficha-tab{padding:8px 12px;font-size:11px}
  .linked-mail-grid{min-width:760px}
  #modalTarea .tab-form,
  #modalTarea .tab-form-grid{grid-template-columns:1fr}
  #modalTarea .tab-form-field,
  #modalTarea .tab-form-field.full{grid-column:1/-1}
  #modalTarea .tab-form-footer{justify-content:stretch}
  #modalTarea .tab-form-footer .btn-sm{flex:1 1 calc(50% - 4px)}
  #modalTarea .adj-item,
  #modalTarea .paso-item{grid-template-columns:1fr}
  #modalTarea .paso-orden,
  #modalTarea .paso-check{justify-self:start}
}
input.campo-monetario[type="number"]::-webkit-outer-spin-button,
input.campo-monetario[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

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

.finanzas-comprobantes-lista{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.finanzas-comprobante-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
  padding:9px 10px;
}
.finanzas-comprobante-meta{
  min-width:0;
  display:grid;
  gap:2px;
}
.finanzas-comprobante-nombre{
  font-size:13px;
  font-weight:700;
  color:var(--text);
  overflow-wrap:anywhere;
}
.finanzas-comprobante-detalle{
  font-size:12px;
  color:var(--text-2);
}
.finanzas-comprobante-estado{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  width:max-content;
  line-height:1.15;
  margin-top:4px;
}
@media(max-width:720px){
  .finanzas-comprobante-item{grid-template-columns:1fr}
  .finanzas-comprobante-item .btn-sm{justify-self:start}
}


/* HOTFIX_MODAL_CONFIRM_ZINDEX
   Mantiene la confirmación por encima de tareas, gastos y otros modales anidados. */
#modalConfirm.modal-overlay {
  z-index: 10000 !important;
}

#modalConfirm .confirm-box {
  position: relative;
  z-index: 1;
}

/* RESPONSIVE_LISTADOS_SIN_SCROLL
   Oculta columnas secundarias en listados principales para evitar scroll horizontal
   en pantallas angostas. No aplica a modales (fuera de #page-*). */
@media(max-width:1024px){
  #page-clientes table th:nth-child(3),#page-clientes table td:nth-child(3),
  #page-clientes table th:nth-child(4),#page-clientes table td:nth-child(4){display:none}
  #page-colaboradores table th:nth-child(4),#page-colaboradores table td:nth-child(4),
  #page-colaboradores table th:nth-child(6),#page-colaboradores table td:nth-child(6){display:none}
  #page-expedientes table th:nth-child(3),#page-expedientes table td:nth-child(3),
  #page-expedientes table th:nth-child(4),#page-expedientes table td:nth-child(4){display:none}
  #page-tareas table th:nth-child(5),#page-tareas table td:nth-child(5),
  #page-tareas table th:nth-child(6),#page-tareas table td:nth-child(6){display:none}
  .documentos-tabla-general th:nth-child(3),.documentos-tabla-general td:nth-child(3),
  .documentos-tabla-general th:nth-child(4),.documentos-tabla-general td:nth-child(4){display:none}
  .documentos-tabla-general th:nth-child(1),.documentos-tabla-general td:nth-child(1){width:38%}
  .correos-tabla .col-vinculo{display:none}
  .correos-tabla .col-asunto{width:36%}
}
@media(max-width:768px){
  #page-clientes table th:nth-child(5),#page-clientes table td:nth-child(5){display:none}
  #page-colaboradores table th:nth-child(3),#page-colaboradores table td:nth-child(3){display:none}
  #page-expedientes table th:nth-child(6),#page-expedientes table td:nth-child(6){display:none}
  #page-tareas table th:nth-child(3),#page-tareas table td:nth-child(3){display:none}
  .agenda-tabla th:nth-child(2),.agenda-tabla td:nth-child(2){display:none}
  .agenda-tabla th:nth-child(5),.agenda-tabla td:nth-child(5){display:none}
  .documentos-tabla-general th:nth-child(2),.documentos-tabla-general td:nth-child(2){display:none}
  .documentos-tabla-general th:nth-child(1),.documentos-tabla-general td:nth-child(1){width:40%}
  .documentos-tabla-general th:nth-child(5),.documentos-tabla-general td:nth-child(5){width:30%}
  .documentos-tabla-general th:nth-child(6),.documentos-tabla-general td:nth-child(6){width:16%}
  .documentos-tabla-general th:nth-child(7),.documentos-tabla-general td:nth-child(7){width:14%}
  .finanzas-table-recientes th.finanzas-col-expediente,.finanzas-table-recientes td.finanzas-col-expediente{display:none}
  .finanzas-table-recientes th.finanzas-col-concepto,.finanzas-table-recientes td.finanzas-col-concepto{width:32%}
  .finanzas-tabla-pendientes th:nth-child(5),.finanzas-tabla-pendientes td:nth-child(5){display:none}
  .finanzas-tabla-pendientes th:nth-child(1),.finanzas-tabla-pendientes td:nth-child(1){width:14%}
  .finanzas-tabla-pendientes th:nth-child(2),.finanzas-tabla-pendientes td:nth-child(2){width:19%}
  .finanzas-tabla-pendientes th:nth-child(3),.finanzas-tabla-pendientes td:nth-child(3){width:23%}
  .finanzas-tabla-pendientes th:nth-child(4),.finanzas-tabla-pendientes td:nth-child(4){width:14%}
  .finanzas-tabla-pendientes th:nth-child(6),.finanzas-tabla-pendientes td:nth-child(6){width:15%}
  .finanzas-tabla-pendientes th:nth-child(7),.finanzas-tabla-pendientes td:nth-child(7){width:15%}
  .finanzas-table-expediente th:nth-child(2),.finanzas-table-expediente td:nth-child(2){display:none}
  .finanzas-table-expediente th:nth-child(1),.finanzas-table-expediente td:nth-child(1){width:16%}
  .finanzas-table-expediente th:nth-child(3),.finanzas-table-expediente td:nth-child(3){width:28%}
  .finanzas-table-expediente th:nth-child(4),.finanzas-table-expediente td:nth-child(4){width:15%}
  .finanzas-table-expediente th:nth-child(5),.finanzas-table-expediente td:nth-child(5){width:13%}
  .finanzas-table-expediente th:nth-child(6),.finanzas-table-expediente td:nth-child(6){width:14%}
  .finanzas-table-expediente th:nth-child(7),.finanzas-table-expediente td:nth-child(7){width:14%}
}
.reportes-f1-filtros{margin-bottom:16px}.reportes-f1-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.reportes-f1-filter-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.reportes-f1-filter-actions .row-meta{flex:1;min-width:180px}.reportes-f1-resumen{margin-bottom:16px}.reportes-f1-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.reportes-f1-kpi{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:8px;padding:12px;min-width:0}.reportes-f1-kpi span{display:block;color:var(--muted,#6b7280);font-size:12px;line-height:1.3}.reportes-f1-kpi strong{display:block;color:var(--text,#111827);font-size:22px;margin-top:4px}.reportes-f1-secciones{display:grid;gap:16px}.reportes-f1-seccion .card-hdr{display:flex;align-items:center;justify-content:space-between;gap:10px}.reportes-f1-actions{display:flex;gap:6px;flex-wrap:wrap}.reportes-f1-summary{font-size:12px;color:var(--muted,#6b7280);margin:0 0 10px}.reportes-f1-table-wrap{overflow:hidden}.reportes-f1-table-wrap table{width:100%;table-layout:fixed}.reportes-f1-table-wrap th,.reportes-f1-table-wrap td{overflow-wrap:anywhere;word-break:break-word}.reportes-f1-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:12px;color:var(--muted,#6b7280);margin-top:10px}.reportes-f1-otros{margin-top:16px}.reportes-f1-otros>.card{box-shadow:none;border:0;padding:0}@media(max-width:1100px){.reportes-f1-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reportes-f1-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:768px){.reportes-f1-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reportes-f1-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.reportes-f1-seccion .card-hdr{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.reportes-f1-filter-grid{grid-template-columns:1fr}.reportes-f1-kpis{grid-template-columns:1fr 1fr}.reportes-f1-kpi strong{font-size:19px}}
.reportes-f1-combo{position:relative;width:100%}.reportes-f1-combo>input[type=search]{width:100%;padding-right:32px}.reportes-f1-combo-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted,#6b7280);font-size:18px;line-height:1;cursor:pointer;padding:2px 5px}.reportes-f1-combo-options{position:absolute;z-index:30;top:calc(100% + 3px);left:0;right:0;max-height:220px;overflow-y:auto;background:var(--surface,#fff);border:1px solid var(--border,#d1d5db);border-radius:6px;box-shadow:0 8px 18px rgba(15,23,42,.14)}.reportes-f1-combo-option{display:block;width:100%;padding:8px 10px;border:0;background:transparent;text-align:left;cursor:pointer;white-space:normal;overflow-wrap:anywhere}.reportes-f1-combo-option:hover,.reportes-f1-combo-option:focus{background:var(--bg,#f4f6f8);outline:0}.reportes-f1-combo-option small{display:block;color:var(--muted,#6b7280);font-size:11px;margin-top:2px}.reportes-f1-combo-empty{padding:9px 10px;color:var(--muted,#6b7280);font-size:12px}
.reportes-f1-content-choice{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border,#e5e7eb);font-size:12px}.reportes-f1-content-choice label{display:inline-flex;align-items:center;gap:5px}.reportes-f1-content-title{font-weight:700;color:var(--text,#111827);margin-right:4px}
.reportes-f1-periodo-nota{margin-top:8px;color:var(--muted,#6b7280);font-size:12px;line-height:1.4}
.reportes-f1-table-wrap th[data-rpt-exp-orden]{cursor:pointer}.reportes-f1-table-wrap th[data-rpt-exp-orden]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.reportes-f1-sort-indicator{display:inline-block;min-width:10px;margin-left:3px;font-size:9px;color:var(--accent);vertical-align:middle}
.reportes-f1-estado-distribucion{margin-top:12px;padding:10px 12px;border:1px solid var(--border,#e5e7eb);border-radius:8px;background:var(--card,#fff)}.reportes-f1-estado-title{font-size:12px;font-weight:700;color:var(--text,#111827);margin-bottom:8px}.reportes-f1-estado-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 14px}.reportes-f1-estado-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:baseline;font-size:12px}.reportes-f1-estado-row small{color:var(--muted,#6b7280);min-width:48px;text-align:right}@media(max-width:768px){.reportes-f1-estado-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.reportes-f1-estado-list{grid-template-columns:1fr}}
.paginacion-listado {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 4px 2px;
  color: var(--text-2);
  font-size: 13px;
}

.paginacion-listado-acciones,
.paginacion-listado-tamano {
  display: flex;
  align-items: center;
  gap: 8px;
}

.paginacion-listado-boton,
.paginacion-listado-tamano select {
  min-height: 34px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
  color: var(--text-1);
  font: inherit;
}

.paginacion-listado-boton {
  padding: 6px 12px;
  cursor: pointer;
}

.paginacion-listado-boton:hover:not(:disabled) {
  border-color: var(--accent);
  color: var(--accent);
}

.paginacion-listado-boton:disabled {
  cursor: default;
  opacity: .45;
}

.paginacion-listado-tamano select {
  padding: 5px 28px 5px 9px;
}

.paginacion-listado-pagina,
.paginacion-listado-resumen {
  white-space: nowrap;
}

@media (max-width: 680px) {
  .paginacion-listado {
    align-items: flex-start;
    flex-direction: column;
  }

  .paginacion-listado-acciones {
    flex-wrap: wrap;
  }
}
.correo-vistas-tabs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:14px 0 18px;
}
.correo-vistas-tabs .ficha-tab{
  flex:0 0 auto;
  padding:9px 16px;
  border:1px solid #d8e1e7;
  border-radius:999px;
  background:#fff;
  color:#4b5563;
  font-family:var(--sans);
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  appearance:none;
  box-shadow:0 1px 1px rgba(15,23,42,.03);
  white-space:nowrap;
}
.correo-vistas-tabs .ficha-tab:hover{
  background:#f8fafc;
  border-color:#cfd8e1;
  color:#1f2937;
}
.correo-vistas-tabs .ficha-tab.active{
  background:linear-gradient(135deg,#0077a8,#00b4d8);
  border-color:transparent;
  color:#fff;
  box-shadow:0 3px 10px rgba(0,119,168,.2);
}
.correo-vista[hidden]{display:none!important}
.correo-vista>.page-hdr{margin-top:0!important}
/* Foco visible para controles visuales habilitados para teclado. */
[data-control-accesible="1"]:focus-visible,
[data-orden-accesible="1"]:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
  border-radius: 4px;
}

.mobile-app-bar,.mobile-menu-backdrop{display:none}

@media(max-width:768px){
  body.menu-movil-bloqueado{overflow:hidden}
  .app.visible{display:block;min-width:0}
  .mobile-app-bar{position:fixed;inset:0 0 auto 0;z-index:190;display:flex;align-items:center;gap:12px;height:58px;padding:8px 14px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}
  .mobile-app-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent);font-family:var(--serif);font-size:18px}
  .mobile-menu-toggle{display:grid;align-content:center;gap:4px;width:40px;height:40px;padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--accent);cursor:pointer}
  .mobile-menu-toggle span{display:block;width:100%;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s}
  .mobile-menu-toggle:focus-visible{outline:3px solid rgba(0,119,168,.25);outline-offset:2px}
  .app.menu-movil-abierto .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .app.menu-movil-abierto .mobile-menu-toggle span:nth-child(2){opacity:0}
  .app.menu-movil-abierto .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .sidebar{position:fixed;inset:0 auto 0 0;z-index:210;width:min(82vw,300px);height:100dvh;transform:translateX(-102%);transition:transform .22s ease;box-shadow:12px 0 30px rgba(15,23,42,.2)}
  .app.menu-movil-abierto .sidebar{transform:translateX(0)}
  .mobile-menu-backdrop{position:fixed;inset:0;z-index:200;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}
  .app.menu-movil-abierto .mobile-menu-backdrop{display:block}
  .main{width:100%;min-width:0;padding:76px 12px 24px;overflow-x:hidden}
  .topbar{align-items:flex-start;gap:12px;margin-bottom:1.25rem}
  .topbar h1{font-size:22px}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .grid2{grid-template-columns:1fr;gap:12px}
  .page-hdr{align-items:flex-start;gap:12px;flex-wrap:wrap;padding:14px}
  .page-hdr h2{font-size:21px}
  .page-hdr>.btn-sm,.page-hdr>button{max-width:100%}
  .card{padding:14px}
  .alertas-panel{top:64px;right:10px;left:10px;width:auto;max-height:calc(100dvh - 78px)}
  .modal-overlay.open:not([hidden]){align-items:flex-end}
  .modal,.modal.task-modal,.agenda-modal,#modalFichaExpediente .modal,#modalFichaCliente .modal{width:100%;max-width:none;max-height:94dvh;margin:0;padding:20px 16px;border-radius:16px 16px 0 0}
  .modal-footer{position:sticky;bottom:-20px;z-index:2;flex-wrap:wrap;margin-left:-16px;margin-right:-16px;padding:12px 16px;background:var(--surface)}
  .modal-footer .btn-sm{flex:1 1 140px;min-height:42px}
  .login-box{width:calc(100vw - 28px);padding:28px 20px}
  .preview-box{width:100vw;max-height:100dvh;border-radius:0}
  .preview-body{min-height:0}
}

@media(max-width:480px){
  .metrics{grid-template-columns:1fr}
  .main{padding-left:10px;padding-right:10px}
  .page-hdr{padding:12px}
}
.acuerdo-financiero-panel{display:grid;gap:14px}
.acuerdo-financiero-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.acuerdo-financiero-resumen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.acuerdo-financiero-metrica{padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}
.acuerdo-financiero-metrica .m-label{font-size:12px;color:var(--muted);margin-bottom:5px}
.acuerdo-financiero-metrica .m-val{font-size:20px;font-weight:700;color:var(--text)}
.acuerdo-financiero-clausula{padding:14px 16px;border-radius:10px;background:#f4f9fc;color:var(--text)}
#modalAcuerdoFinanciero input[type="number"]{-moz-appearance:textfield;appearance:textfield}
#modalAcuerdoFinanciero input[type="number"]::-webkit-inner-spin-button,
#modalAcuerdoFinanciero input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#acuerdoTasaInteresCampo[hidden]{display:none}
.acuerdo-financiero-clausulas{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;flex-wrap:wrap}
.acuerdo-financiero-clausulas>span{flex:1 1 280px;min-width:0}
.acuerdo-financiero-clausulas>span:nth-child(2){font-size:.9em;white-space:nowrap}
.acuerdo-penalidad-calculo{display:flex;align-items:stretch;gap:8px;min-width:0}
.acuerdo-penalidad-calculo input{flex:1;min-width:0}
.acuerdo-penalidad-calculo .btn-sm{flex:0 0 auto}
.acuerdo-penalidad-field{position:relative;left:0}
.acuerdo-cuotas-table td,.acuerdo-cuotas-table th{white-space:normal;overflow-wrap:normal;word-break:normal}
@media(max-width:900px){.acuerdo-financiero-resumen{grid-template-columns:repeat(2,minmax(0,1fr))}.acuerdo-penalidad-field{grid-column:1/-1}.acuerdo-financiero-clausulas>span:nth-child(2){font-size:1em;white-space:normal}}
@media(max-width:480px){.acuerdo-financiero-resumen{grid-template-columns:1fr}.acuerdo-penalidad-field{left:0}}
.acuerdos-filtros {
  display: grid;
  grid-template-columns: minmax(280px, 2fr) minmax(170px, .8fr) minmax(190px, .9fr) auto;
  gap: 12px;
  align-items: center;
}

.acuerdos-resumen {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.acuerdos-resumen .acuerdo-financiero-metrica { min-height: 82px; }
.acuerdos-tabla-general td { vertical-align: top; }
.acuerdo-vencido-texto { color: var(--danger); margin-top: 5px; }

/* Acuerdos dentro de Finanzas: reutiliza el lenguaje visual del módulo. */
#finanzasAcuerdosContenido{font-family:var(--sans);color:var(--text-1)}
#finanzasAcuerdosContenido .finanzas-acuerdos-filtros{display:grid;grid-template-columns:minmax(320px,1fr) minmax(170px,220px) auto auto;align-items:end;gap:10px;margin-bottom:14px}
#finanzasAcuerdosContenido .finanzas-acuerdos-filtros .form-field{min-width:0;margin:0}
#finanzasAcuerdosContenido .finanzas-acuerdos-filtros .form-field.full{min-width:0}
#finanzasAcuerdosContenido .finanzas-acuerdos-filtros label{display:block;margin-bottom:5px;color:var(--text-2);font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
#finanzasAcuerdosContenido .finanzas-acuerdos-filtros input,
#finanzasAcuerdosContenido .finanzas-acuerdos-filtros select{width:100%;height:40px;min-width:0;font-family:var(--sans);font-size:13px;color:var(--text-1)}
#finanzasAcuerdosContenido .finanzas-acuerdos-filtros .btn-sm{height:40px;min-width:112px;padding:0 14px;font-family:var(--sans);white-space:nowrap}
#finanzasAcuerdosContenido .finanzas-acuerdos-resumen{margin-bottom:16px}
#finanzasAcuerdosContenido .finanzas-acuerdos-principal{margin-bottom:16px}
#finanzasAcuerdosContenido .finanzas-acuerdos-solicitudes{margin:0;padding:0;overflow:hidden}
#finanzasAcuerdosContenido .finanzas-acuerdos-solicitudes .card-hdr{padding:13px 14px;margin:0}
#finanzasAcuerdosContenido .finanzas-autorizaciones-controles{display:flex;align-items:center;gap:10px;padding:0 14px 12px;flex-wrap:wrap}
#finanzasAcuerdosContenido .finanzas-autorizaciones-historial{min-width:220px}
#finanzasAcuerdosContenido .finanzas-autorizaciones-historial summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:700;list-style-position:inside}
#finanzasAcuerdosContenido .finanzas-autorizaciones-historial[open]{flex:1 1 100%;padding-top:4px}
#finanzasAcuerdosContenido .finanzas-autorizaciones-filtros{display:flex;align-items:center;gap:7px;padding:0 14px 12px;flex-wrap:wrap}
#finanzasAcuerdosContenido .finanzas-autorizaciones-historial .finanzas-autorizaciones-filtros{padding:10px 0 0 18px}
#finanzasAcuerdosContenido .finanzas-autorizacion-filtro{appearance:none;padding:7px 12px;border:1px solid #d8e1e7;border-radius:999px;background:#fff;color:#4b5563;font-family:var(--sans);font-size:12px;font-weight:700;cursor:pointer}
#finanzasAcuerdosContenido .finanzas-autorizacion-filtro:hover{background:#f8fafc;color:#1f2937}
#finanzasAcuerdosContenido .finanzas-autorizacion-filtro.active{border-color:transparent;background:linear-gradient(135deg,#0077a8,#00b4d8);color:#fff;box-shadow:0 2px 8px rgba(0,119,168,.18)}
#finanzasAcuerdosContenido .finanzas-acuerdos-solicitudes .finanzas-table-wrap{border:0;border-top:1px solid var(--border);border-radius:0}
#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo{width:100%;min-width:0;table-layout:fixed}
#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo th,#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo td{overflow-wrap:normal;word-break:normal}
#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo th:nth-child(1),#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo td:nth-child(1){width:26%}
#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo th:nth-child(2),#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo td:nth-child(2){width:12%}
#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo th:nth-child(3),#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo td:nth-child(3){width:12%}
#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo th:nth-child(4),#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo td:nth-child(4){width:12%}
#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo th:nth-child(5),#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo td:nth-child(5){width:14%}
#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo th:nth-child(6),#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo td:nth-child(6){width:14%}
#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo th:nth-child(7),#finanzasAcuerdosContenido .finanzas-table-solicitudes-acuerdo td:nth-child(7){width:10%}
#finanzasAcuerdosContenido .autorizacion-utilizada{color:var(--success);font-weight:700}
#finanzasAcuerdosContenido .finanzas-card{min-width:0}
#finanzasAcuerdosContenido .finanzas-card .valor{font-family:var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}
#finanzasAcuerdosContenido .finanzas-table-wrap{overflow-x:hidden}
#finanzasAcuerdosContenido .finanzas-table-acuerdos{width:100%;min-width:0;table-layout:fixed;font-family:var(--sans)}
#finanzasAcuerdosContenido .finanzas-table-acuerdos th,
#finanzasAcuerdosContenido .finanzas-table-acuerdos td{font-family:var(--sans);overflow-wrap:normal;word-break:normal}
#finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(1),
#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(1){width:26%}
#finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(2),
#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(2){width:10%}
#finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(3),
#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(3){width:13%}
#finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(4),
#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(4){width:12%}
#finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(5),
#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(5){width:12%}
#finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(6),
#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(6){width:13%}
#finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(7),
#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(7){width:14%}
#finanzasAcuerdosContenido .finanzas-table-acuerdos .finanzas-monto{font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}
#finanzasAcuerdosContenido .finanzas-table-acuerdos .finanzas-col-acciones{padding:7px 10px}
#finanzasAcuerdosContenido .finanzas-table-acuerdos .finanzas-acciones{width:100%;min-width:0;gap:1px}
#finanzasAcuerdosContenido .finanzas-table-acuerdos .finanzas-accion{width:100%;font-family:var(--sans);font-size:12px;line-height:1.2;white-space:nowrap}
@media(max-width:900px){
  #finanzasAcuerdosContenido .finanzas-acuerdos-filtros{grid-template-columns:minmax(0,1fr) minmax(160px,.45fr)}
  #finanzasAcuerdosContenido .finanzas-acuerdos-filtros .btn-sm{width:100%}
  #finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(4),#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(4){display:none}
}
@media(max-width:640px){
  #finanzasAcuerdosContenido .finanzas-acuerdos-filtros{grid-template-columns:1fr}
  #finanzasAcuerdosContenido .finanzas-table-wrap{overflow-x:hidden}
  #finanzasAcuerdosContenido .finanzas-table-acuerdos{min-width:0}
  #finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(3),#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(3),
  #finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(4),#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(4),
  #finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(5),#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(5){display:none}
  #finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(1),#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(1){width:42%}
  #finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(2),#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(2){width:16%}
  #finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(6),#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(6){width:22%}
  #finanzasAcuerdosContenido .finanzas-table-acuerdos th:nth-child(7),#finanzasAcuerdosContenido .finanzas-table-acuerdos td:nth-child(7){width:20%}
}

.ficha-acuerdo-financiero-modal{
  display:flex;
  flex-direction:column;
  width:min(980px,94vw);
  max-height:90vh;
  padding:0;
  overflow:hidden;
}
.ficha-acuerdo-cabecera{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--border);
}
.ficha-acuerdo-cabecera h3{margin:0 0 5px;color:var(--accent)}
.ficha-acuerdo-contenido{display:grid;gap:14px;padding:20px 24px;overflow-y:auto}
.ficha-acuerdo-estado{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}
.ficha-acuerdo-financiero-modal>.modal-footer{margin:0;padding:15px 24px;border-top:1px solid var(--border);background:#fff}
.acuerdo-gestion-modal{width:min(620px,94vw)}
.acuerdo-pago-anticipado-aviso{margin:0 0 14px;padding:10px 12px;border:1px solid #cfe5ef;border-radius:9px;background:#f2f9fc;color:var(--text-2);font-family:var(--sans);font-size:12px;line-height:1.4}
.acuerdo-pago-anticipado-aviso.requiere-autorizacion{border-color:#ead9ad;background:#fffaf0;color:#74531a}
.acciones-tarea .acuerdo-accion-autorizacion{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;white-space:nowrap}
.acuerdo-autorizacion-resultado{display:grid;gap:2px;margin-top:8px;padding:7px 8px;border-radius:8px;background:#f2f6f8;color:var(--text-2);font-size:11px;line-height:1.25}
.acuerdo-autorizacion-resultado strong{color:var(--text);font-size:11px}
.acuerdo-autorizacion-resultado.estado-aprobada,.acuerdo-autorizacion-resultado.estado-utilizada{background:#edf8f2}
.acuerdo-autorizacion-resultado.estado-aprobada strong,.acuerdo-autorizacion-resultado.estado-utilizada strong{color:#13734a}
.acuerdo-autorizacion-resultado.estado-rechazada{background:#fff1f1}
.acuerdo-autorizacion-resultado.estado-rechazada strong{color:#b42318}
.acuerdo-autorizacion-resultado.detallado{margin:0;padding:12px 14px;font-size:12px}
.acuerdo-autorizacion-resultado.detallado strong{font-size:12px}
.acuerdo-autorizacion-resultado .acuerdo-aplicar-pago-autorizado{width:max-content;margin-top:3px;font-weight:700;color:var(--accent)}
.acuerdo-cuotas-table tr.cuota-reestructurada{background:#f7f8fa;color:var(--muted)}
.acuerdo-cuotas-table tr.cuota-reestructurada td{opacity:.82}
#reestructurarAcuerdoError{margin:12px 0 0;padding:10px 12px;border:1px solid #f0b6b6;border-radius:9px;background:#fff3f3;color:#a61b1b;font-size:12px;line-height:1.35}
.acuerdo-reestructuracion-metricas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}
.acuerdo-reestructuracion-metricas>div{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:#f8fafc}
.acuerdo-reestructuracion-metricas span{color:var(--muted);font-size:11px}
.acuerdo-reestructuracion-metricas strong{color:var(--text);font-size:15px}
.acuerdo-reestructuracion-motivo{padding:0 14px 14px;color:var(--text-2);font-size:12px}
.acuerdo-calendario-historico>summary{cursor:pointer;padding:14px 16px;color:var(--accent);font-weight:700}
.acuerdo-versiones-historicas{display:grid;gap:14px;padding:0 14px 14px}
.acuerdo-version-historica{overflow:hidden;border:1px solid var(--border);border-radius:9px;background:#fafbfc}
@media(max-width:768px){.acuerdo-reestructuracion-metricas{grid-template-columns:1fr 1fr}}
.acuerdo-historial{display:grid;gap:8px;max-height:55vh;overflow-y:auto;margin-top:14px}
.acuerdo-historial-item{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid var(--border);border-radius:10px;background:#f8fafc}
.acuerdo-historial-item time{flex:0 0 auto;color:var(--muted);font-size:12px}
@media(max-width:768px){
  .ficha-acuerdo-financiero-modal{width:100%;max-height:94dvh;border-radius:16px 16px 0 0}
  .ficha-acuerdo-cabecera,.ficha-acuerdo-contenido{padding-left:16px;padding-right:16px}
  .ficha-acuerdo-financiero-modal>.modal-footer{margin:0;padding:12px 16px}
  .acuerdo-historial-item{display:grid;gap:5px}
}

.acuerdo-expedientes-resultados {
  display: grid;
  gap: 6px;
  max-height: 250px;
  margin-top: 7px;
  overflow-y: auto;
}

.acuerdo-expediente-opcion {
  display: grid;
  grid-template-columns: minmax(92px, auto) 1fr;
  gap: 3px 12px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--surface);
  color: var(--text-1);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.acuerdo-expediente-opcion:hover,
.acuerdo-expediente-opcion:focus-visible { border-color: var(--accent); background: var(--accent-soft); outline: none; }
.acuerdo-expediente-opcion span { overflow-wrap: anywhere; }
.acuerdo-expediente-opcion small { grid-column: 2; color: var(--text-2); }

.acuerdo-vista-previa {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface-2);
}

.acuerdo-vista-previa-cabecera {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  color: var(--text-1);
}

.acuerdo-vista-previa-cabecera span { color: var(--text-2); font-size: 12px; }

@media (max-width: 980px) {
  .acuerdos-filtros { grid-template-columns: 1fr 1fr; }
  .acuerdos-resumen { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .acuerdos-filtros, .acuerdos-resumen { grid-template-columns: 1fr; }
  .acuerdos-tabla-general th:nth-child(3), .acuerdos-tabla-general td:nth-child(3),
  .acuerdos-tabla-general th:nth-child(4), .acuerdos-tabla-general td:nth-child(4) { display: none; }
}
