:root{--bg:#f3f4f6;--panel:#fff;--ink:#111827;--muted:#6b7280;--line:#d1d5db;--dark:#1f2937;--accent:#0f766e;--yellow:#fff2cc;--green:#d9ead3}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}header{height:58px;background:var(--dark);color:#fff;display:flex;align-items:center;padding:0 18px;position:sticky;top:0;z-index:50}.hamb{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:24px}.shell{display:flex;min-height:calc(100vh - 58px)}nav{width:230px;background:#111827;padding:16px;position:sticky;top:58px;height:calc(100vh - 58px)}nav a{display:block;color:#e5e7eb;text-decoration:none;padding:10px 12px;border-radius:7px}nav a:hover{background:#374151}main{padding:22px;flex:1;max-width:100%;overflow:hidden}.login,.installer{max-width:600px;margin:50px auto}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.form{max-width:820px}.form.compact{max-width:none}label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:14px;margin-bottom:13px}input,select,textarea{font:inherit;padding:9px 10px;border:1px solid #9ca3af;border-radius:6px}.grid2,.grid3{display:grid;gap:12px}.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}button,.btn{background:var(--accent);color:#fff;border:0;border-radius:7px;padding:10px 14px;text-decoration:none;font-weight:600;cursor:pointer}.btn.secondary{background:#374151}.small{padding:7px 9px;font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px}.card span{display:block;color:var(--muted);margin-bottom:8px}.card strong{font-size:24px}.actions,.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:18px 0}.tablewrap,.matrixwrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:9px 10px;border-bottom:1px solid #e5e7eb;white-space:nowrap;text-align:left}.num{text-align:right}.done{background:#f0fdf4}.flash{padding:12px 14px;border-radius:8px;margin:10px 0 16px}.flash.ok{background:#dcfce7}.flash.error{background:#fee2e2}.checks{border:1px solid var(--line);border-radius:8px;max-height:340px;overflow:auto;margin-bottom:15px}.checks label{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid #eee;margin:0}.matrix{width:max-content;min-width:100%}.matrix th,.matrix td{min-width:96px;border-right:1px solid #e5e7eb}.matrix th small{display:block;color:#6b7280}.matrix .sticky{position:sticky;left:0;z-index:4;background:#fff;min-width:220px;max-width:220px}.matrix thead th{position:sticky;top:0;background:#f9fafb;z-index:5}.matrix thead .sticky{z-index:6}.special th,.special td{background:var(--yellow)!important}.today{background:#dbeafe!important}.celldone{background:var(--green)!important}.cellpartial{background:#fde68a!important}.hint,.note{font-size:13px;color:#4b5563}.note{background:#fff;border:1px solid var(--line);padding:12px;border-radius:8px;margin-top:14px}@media(max-width:800px){.hamb{display:block}nav{position:fixed;left:-250px;top:58px;z-index:40;transition:.2s}.open nav{left:0}main{padding:14px}.cards,.grid2,.grid3{grid-template-columns:1fr}.matrix .sticky{min-width:160px;max-width:160px}.matrix th,.matrix td{min-width:86px;font-size:12px}}

.inline-help{margin:-7px 0 14px;font-size:13px}
.inline-help a{color:#0f766e;font-weight:600;text-decoration:none}
.party-save{display:flex;gap:8px;align-items:end;padding-bottom:13px}
.similar-warning{background:#fff7ed;border:1px solid #fdba74;border-radius:8px;padding:12px;margin:8px 0 14px}
.similar-warning ul{margin:7px 0}
.confirm-line{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-weight:500!important}
.confirm-line input{width:auto}
.inactive{opacity:.58}
.row-actions{display:flex;gap:6px;align-items:center}
.row-actions form{margin:0}
.smallbtn{padding:7px 9px!important;font-size:12px}
.btn.secondary{background:#4b5563}
.style-map{display:grid;grid-template-columns:1fr 190px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #e5e7eb}.style-map small{color:#6b7280;word-break:break-all}.preview-table{max-height:520px}.note strong{color:#111827}.form input[type=file]{background:white}.card h3{margin-top:0}@media(max-width:700px){.style-map{grid-template-columns:1fr}.style-map select{width:100%}}

.cards .card small{display:block;margin-top:7px;color:#6b7280;font-weight:600}
.badge.debit{background:#dbeafe;color:#1e3a8a}
.badge.exact{background:#dcfce7;color:#166534}.badge.probable{background:#fef3c7;color:#854d0e}.badge.unmatched{background:#fee2e2;color:#991b1b}
.match-probable{background:#fffbeb}.match-unmatched{background:#fff1f2}.preview-table td{vertical-align:top}

/* v0.2.2.4 - navegación de matrices largas */
.period-summary{
  background:#fff;border:1px solid #d1d5db;border-radius:8px;
  padding:10px 12px;margin:8px 0;color:#374151;font-size:14px
}
.matrixwrap{
  overflow:auto;
  max-height:68vh;
  scrollbar-gutter:stable both-edges;
}
.matrix-top-scroll{
  overflow-x:auto;
  overflow-y:hidden;
  height:18px;
  margin:0 0 6px 0;
  border:1px solid #d1d5db;
  border-radius:6px;
  background:#f9fafb;
}
#matrixTopScrollInner{height:1px}
.matrix thead th{position:sticky;top:0;z-index:5}
.matrix thead th.sticky{z-index:7}
.matrix th.sticky{z-index:4}
@media(max-width:800px){
  .matrixwrap{max-height:64vh}
  .matrix-top-scroll{height:22px}
}

/* v0.2.2.5 - grupos de clientes/proveedores y facturas descontadas */
.matrix .group-row th,
.matrix .group-row td{
  background:#e5e7eb !important;
  border-top:2px solid #9ca3af;
  border-bottom:1px solid #9ca3af;
  font-weight:800;
}
.matrix .group-row th{
  letter-spacing:.035em;
}
.matrix .party-name{
  font-weight:700;
}
.matrix .celldiscounted{
  background:#f59e0b !important;
  color:#111827;
  font-weight:800;
}

/* v0.2.2.6 - selector Normal | 60 días */
.view-toggle{display:flex;gap:4px;align-items:center}
.btn.active-view{background:#0f766e;color:#fff}

.matrix.compact60{
  table-layout:fixed;
  width:100%;
  min-width:0;
  font-size:10px;
}
.matrix.compact60 th,
.matrix.compact60 td{
  min-width:0 !important;
  width:auto;
  padding:3px 1px;
  line-height:1.05;
  overflow:hidden;
  white-space:nowrap;
}
.matrix.compact60 th.sticky{
  width:150px !important;
  min-width:150px !important;
  max-width:150px !important;
  padding-left:5px;
  font-size:10px;
}
.matrix.compact60 thead th:not(.sticky){
  font-size:9px;
  text-align:center;
  padding:3px 0;
}
.matrix.compact60 thead th small{
  font-size:8px;
  margin-top:1px;
}
.matrix.compact60 td.num{
  text-align:center;
  font-size:8px;
  font-variant-numeric:tabular-nums;
}
.matrix.compact60 .group-row th{font-size:9px}
.compact60-wrap{overflow-x:hidden}
.compact60-wrap + .matrix-top-scroll{display:none}
@media(max-width:1200px){
  .matrix.compact60 th.sticky{
    width:125px !important;
    min-width:125px !important;
    max-width:125px !important;
  }
  .matrix.compact60 td.num{font-size:7px}
}

/* v0.2.2.7 - totales y saldos */
.warn-inline{color:#b45309}
.matrix .total-row th,
.matrix .total-row td{
  font-weight:800;
  border-top:1px solid #9ca3af;
}
.matrix .total-income th,
.matrix .total-income td{background:#ecfdf5!important}
.matrix .total-expense th,
.matrix .total-expense td{background:#fef2f2!important}
.matrix .total-net th,
.matrix .total-net td{background:#f8fafc!important}
.matrix .bank-balance-row th,
.matrix .bank-balance-row td{background:#eef2ff!important}
.matrix .cash-balance-row th,
.matrix .cash-balance-row td{background:#f5f3ff!important}
.matrix .treasury-balance-row th,
.matrix .treasury-balance-row td{
  background:#dbeafe!important;
  border-top:2px solid #2563eb;
  border-bottom:2px solid #2563eb;
  font-weight:900;
}
.matrix td.positive{color:#166534}
.matrix td.negative{color:#b91c1c}
.matrix.compact60 .total-row th{font-size:8px}
.matrix.compact60 .total-row td{font-size:7px}

/* v0.2.2.8 - cabecera, filas especiales y totales fijos dentro de la matriz */

/*
  La matriz usa una única tabla para conservar la alineación perfecta de columnas.
  El thead queda fijo arriba; debajo se fijan las tres filas especiales.
  Las seis filas finales quedan fijas abajo. La zona intermedia es la que se desplaza.
*/
.matrixwrap{
  position:relative;
  max-height:68vh;
  overflow:auto;
}

/* Cabecera de fechas */
.matrix thead th{
  position:sticky;
  top:0;
  z-index:30;
  background:#f9fafb;
}
.matrix thead th.sticky{
  left:0;
  z-index:34;
}

/* Alturas aproximadas y offsets de filas especiales */
.matrix tbody tr.special th,
.matrix tbody tr.special td{
  position:sticky;
  z-index:24;
  background:#fff2cc !important;
}
.matrix tbody tr.special-0 th,
.matrix tbody tr.special-0 td{ top:49px; }
.matrix tbody tr.special-1 th,
.matrix tbody tr.special-1 td{ top:86px; }
.matrix tbody tr.special-2 th,
.matrix tbody tr.special-2 td{ top:123px; }

.matrix tbody tr.special th.sticky{
  left:0;
  z-index:28;
}

/* Separación visual entre bloque superior fijo y zona desplazable */
.matrix tbody tr.special-2 th,
.matrix tbody tr.special-2 td{
  box-shadow:0 2px 0 #9ca3af;
}

/* Totales inferiores fijos */
.matrix .total-row th,
.matrix .total-row td{
  position:sticky;
  z-index:20;
}

/* Se apilan desde abajo hacia arriba */
.matrix .treasury-balance-row th,
.matrix .treasury-balance-row td{ bottom:0; z-index:26; }

.matrix .cash-balance-row th,
.matrix .cash-balance-row td{ bottom:37px; z-index:25; }

.matrix .bank-balance-row th,
.matrix .bank-balance-row td{ bottom:74px; z-index:24; }

.matrix .total-net th,
.matrix .total-net td{ bottom:111px; z-index:23; }

.matrix .total-expense th,
.matrix .total-expense td{ bottom:148px; z-index:22; }

.matrix .total-income th,
.matrix .total-income td{
  bottom:185px;
  z-index:21;
  box-shadow:0 -2px 0 #9ca3af;
}

/* La primera columna sigue fija también en las filas inferiores */
.matrix .total-row th.sticky{
  left:0;
  z-index:29;
}

/* Los grupos siguen desplazándose con el cuerpo */
.matrix .group-row th,
.matrix .group-row td{
  position:static !important;
}

/* En vista 60 días reducimos alturas y offsets para ocupar menos espacio */
.matrix.compact60 tbody tr.special-0 th,
.matrix.compact60 tbody tr.special-0 td{ top:31px; }
.matrix.compact60 tbody tr.special-1 th,
.matrix.compact60 tbody tr.special-1 td{ top:52px; }
.matrix.compact60 tbody tr.special-2 th,
.matrix.compact60 tbody tr.special-2 td{ top:73px; }

.matrix.compact60 .treasury-balance-row th,
.matrix.compact60 .treasury-balance-row td{ bottom:0; }
.matrix.compact60 .cash-balance-row th,
.matrix.compact60 .cash-balance-row td{ bottom:22px; }
.matrix.compact60 .bank-balance-row th,
.matrix.compact60 .bank-balance-row td{ bottom:44px; }
.matrix.compact60 .total-net th,
.matrix.compact60 .total-net td{ bottom:66px; }
.matrix.compact60 .total-expense th,
.matrix.compact60 .total-expense td{ bottom:88px; }
.matrix.compact60 .total-income th,
.matrix.compact60 .total-income td{ bottom:110px; }

@media(max-width:800px){
  .matrixwrap{max-height:62vh}
}

/* =========================================================
   v0.2.2.9 - MATRIZ DE TRES PANELES SINCRONIZADOS
   ========================================================= */

/* Neutralizamos el sticky vertical de v0.2.2.8: ya no es necesario */
.matrix-shell .matrix thead th,
.matrix-shell .matrix tbody tr.special th,
.matrix-shell .matrix tbody tr.special td,
.matrix-shell .matrix .total-row th,
.matrix-shell .matrix .total-row td{
  position:static;
  top:auto;
  bottom:auto;
}

/* La primera columna sí permanece fija horizontalmente en cada panel */
.matrix-shell .matrix th.sticky{
  position:sticky !important;
  left:0;
  z-index:12;
}

/* Contenedor completo */
.matrix-shell{
  border:1px solid #d1d5db;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}

/* Los tres paneles comparten scroll horizontal */
.matrix-panel{
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}
.matrix-panel::-webkit-scrollbar{
  height:0;
  width:0;
}

/* Panel superior */
.matrix-panel-top{
  border-bottom:2px solid #9ca3af;
  background:#fff;
}

/* Panel central: único scroll vertical real */
.matrix-panel-body{
  max-height:42vh;
  overflow-y:auto;
  overflow-x:auto;
  scrollbar-width:auto;
}
.matrix-panel-body::-webkit-scrollbar{
  width:12px;
  height:0;
}

/* Panel inferior siempre visible */
.matrix-panel-bottom{
  border-top:2px solid #9ca3af;
  background:#fff;
}

/* Barra inferior de desplazamiento horizontal visible */
.matrix-bottom-scroll{
  overflow-x:auto;
  overflow-y:hidden;
  height:18px;
  margin:6px 0 0 0;
  border:1px solid #d1d5db;
  border-radius:6px;
  background:#f9fafb;
}
#matrixBottomScrollInner{
  height:1px;
}

/* Todas las tablas usan la misma geometría */
.matrix-shell .matrix{
  margin:0;
  border-radius:0;
}
.matrix-shell .matrix th,
.matrix-shell .matrix td{
  box-sizing:border-box;
}

/* Cabecera superior siempre visible por estar físicamente fuera del área central */
.matrix-panel-top .matrix thead th{
  background:#f9fafb;
}

/* Columna concepto blanca/sólida para no transparentar al desplazar */
.matrix-panel-top th.sticky,
.matrix-panel-body th.sticky,
.matrix-panel-bottom th.sticky{
  background:#fff;
}

/* Filas especiales */
.matrix-panel-top .special th,
.matrix-panel-top .special td{
  background:#fff2cc !important;
}

/* Grupos en el cuerpo */
.matrix-panel-body .group-row th,
.matrix-panel-body .group-row td{
  background:#e5e7eb !important;
}

/* Totales inferiores */
.matrix-panel-bottom .total-income th,
.matrix-panel-bottom .total-income td{background:#ecfdf5!important}
.matrix-panel-bottom .total-expense th,
.matrix-panel-bottom .total-expense td{background:#fef2f2!important}
.matrix-panel-bottom .total-net th,
.matrix-panel-bottom .total-net td{background:#f8fafc!important}
.matrix-panel-bottom .bank-balance-row th,
.matrix-panel-bottom .bank-balance-row td{background:#eef2ff!important}
.matrix-panel-bottom .cash-balance-row th,
.matrix-panel-bottom .cash-balance-row td{background:#f5f3ff!important}
.matrix-panel-bottom .treasury-balance-row th,
.matrix-panel-bottom .treasury-balance-row td{
  background:#dbeafe!important;
  border-top:2px solid #2563eb;
  border-bottom:2px solid #2563eb;
  font-weight:900;
}

/* En modo 60 días, los tres paneles deben ocupar exactamente el mismo ancho */
.compact60-shell .matrix{
  width:100% !important;
  min-width:100% !important;
  table-layout:fixed;
}
.compact60-shell .matrix-panel{
  overflow-x:hidden;
}
.compact60-shell + .matrix-bottom-scroll{
  display:none;
}

/* La barra superior sigue oculta en 60 días porque no hay scroll horizontal */
body:has(.compact60-shell) .matrix-top-scroll{
  display:none;
}

@media(max-width:800px){
  .matrix-panel-body{
    max-height:38vh;
  }
  .matrix-bottom-scroll{
    height:22px;
  }
}

/* =========================================================
   v0.2.3.0 - Vencimientos agrupados + navegación a factura
   ========================================================= */

.due-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
  margin:0 0 18px;
}
.due-summary a{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border:1px solid #d1d5db;
  border-radius:9px;
  background:#fff;
  color:#111827;
  text-decoration:none;
}
.due-summary a:hover{
  border-color:#0f766e;
}
.due-summary strong{
  font-size:22px;
}
.due-summary span{
  color:#6b7280;
  font-size:13px;
}

.due-section{
  margin:24px 0 34px;
  scroll-margin-top:70px;
}
.due-section-title{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  margin-bottom:8px;
}
.due-section-title h2{
  margin:0;
  font-size:18px;
}
.due-section-title span{
  color:#6b7280;
  font-size:13px;
}

.due-table .invoice-clickable{
  cursor:pointer;
}
.due-table .invoice-clickable:hover td{
  background:#e0f2fe !important;
}
.due-table .invoice-clickable:focus{
  outline:2px solid #0f766e;
  outline-offset:-2px;
}
.due-table .discounted-row td{
  background:#fef3c7;
}
.due-table .discounted-row:hover td{
  background:#fde68a !important;
}
.badge.debit{
  background:#e0e7ff;
  color:#3730a3;
}
.badge.discounted{
  background:#f59e0b;
  color:#111827;
  font-weight:700;
}
.empty-cell{
  text-align:center;
  color:#6b7280;
  padding:18px !important;
}

.invoice-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  padding:10px 12px;
  margin:4px 0 16px;
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:7px;
  color:#4b5563;
  font-size:13px;
}

@media(max-width:900px){
  .due-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .due-summary{grid-template-columns:1fr}
}

/* v0.2.3.1 - vencimientos en dos pantallas */
.due-summary-two{
  grid-template-columns:repeat(2,minmax(180px,1fr));
  max-width:720px;
}
@media(max-width:600px){
  .due-summary-two{grid-template-columns:1fr}
}

/* v0.2.3.2 - identidad COABA en pantalla de inicio */
.coaba-home-hero{
  display:flex;
  align-items:center;
  gap:34px;
  padding:24px 30px;
  margin:4px 0 24px;
  background:#fff;
  border:1px solid #d1d5db;
  border-radius:12px;
}
.coaba-home-hero img{
  display:block;
  width:min(360px,36vw);
  height:auto;
  object-fit:contain;
}
.coaba-home-title{
  padding-left:28px;
  border-left:1px solid #e5e7eb;
}
.coaba-home-title h1{
  margin:0 0 8px;
  font-size:30px;
  line-height:1.15;
  color:#111827;
}
.coaba-home-title p{
  margin:0;
  color:#6b7280;
  font-size:15px;
}
@media(max-width:760px){
  .coaba-home-hero{
    flex-direction:column;
    text-align:center;
    gap:18px;
    padding:22px 18px;
  }
  .coaba-home-hero img{
    width:min(420px,82vw);
  }
  .coaba-home-title{
    padding-left:0;
    padding-top:16px;
    border-left:0;
    border-top:1px solid #e5e7eb;
    width:100%;
  }
  .coaba-home-title h1{font-size:25px}
}

/* v0.2.3.3 - Total pendiente de pago */
.pending-total-box{
  display:inline-flex;
  flex-direction:column;
  gap:4px;
  min-width:260px;
  margin:0 0 14px;
  padding:14px 18px;
  border:1px solid #d1d5db;
  border-radius:10px;
  background:#fff;
}
.pending-total-box span{
  font-size:13px;
  font-weight:700;
  color:#6b7280;
  letter-spacing:.02em;
}
.pending-total-box strong{
  font-size:26px;
  line-height:1.1;
  color:#111827;
}
@media(max-width:520px){
  .pending-total-box{
    width:100%;
    min-width:0;
  }
}

/* v0.2.3.4 - vencimientos pendientes ya vencidos */
.due-table .overdue-row td{
  background:#fee2e2 !important;
  border-top-color:#fecaca;
  border-bottom-color:#fecaca;
}
.due-table .overdue-row td:first-child{
  border-left:4px solid #dc2626;
  font-weight:800;
  color:#991b1b;
}
.due-table .overdue-row:hover td{
  background:#fecaca !important;
}
.due-table .overdue-row.discounted-row td{
  background:#fed7aa !important;
}

/* v0.2.3.5 - refuerzo visual y cache-busting para vencidas */
.overdue-label{
  display:inline-block;
  margin-left:8px;
  padding:2px 6px;
  border-radius:999px;
  background:#dc2626;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.03em;
  vertical-align:middle;
}

/* v0.2.3.6 - panel inferior reducido a SALDO TESORERÍA */
.matrix-panel-bottom .treasury-balance-row th,
.matrix-panel-bottom .treasury-balance-row td{
  background:#dbeafe!important;
  border-top:2px solid #2563eb;
  border-bottom:2px solid #2563eb;
  font-weight:900;
}

/* v0.2.3.7 - Tesorería más compacta */
body:has(.treasury-matrix){padding-top:6px}
body:has(.treasury-matrix) h1{margin-top:0;margin-bottom:6px}
body:has(.treasury-matrix) .toolbar{margin-top:2px;margin-bottom:5px;gap:6px}
body:has(.treasury-matrix) .period-summary{margin-top:4px;margin-bottom:4px;padding-top:5px;padding-bottom:5px}
body:has(.treasury-matrix) .hint{margin-top:3px;margin-bottom:4px;line-height:1.2}
.treasury-matrix .matrix th,
.treasury-matrix .matrix td{padding-top:4px!important;padding-bottom:4px!important;line-height:1.08!important;height:auto!important}
.treasury-matrix .matrix thead th{padding-top:5px!important;padding-bottom:5px!important}
.treasury-matrix .matrix .section-row th,
.treasury-matrix .matrix .section-row td{padding-top:5px!important;padding-bottom:5px!important}
.treasury-matrix .matrix-panel-top .matrix tbody th,
.treasury-matrix .matrix-panel-top .matrix tbody td{padding-top:5px!important;padding-bottom:5px!important}
.treasury-matrix .matrix-panel-bottom .matrix th,
.treasury-matrix .matrix-panel-bottom .matrix td{padding-top:6px!important;padding-bottom:6px!important}
.treasury-matrix .matrix-panel{margin-top:0!important;margin-bottom:0!important}
.treasury-matrix .matrix-top-scroll,
.treasury-matrix .matrix-bottom-scroll{margin-top:2px!important;margin-bottom:2px!important}

/* v0.2.3.9 - compactación segura de Tesorería */
main.page-treasury{
  padding-top:10px!important;
}
main.page-treasury h1{
  margin:0 0 6px!important;
  line-height:1.05!important;
}
main.page-treasury .toolbar{
  margin:4px 0 6px!important;
  gap:6px!important;
}
main.page-treasury .toolbar label{
  margin-bottom:0!important;
  gap:3px!important;
}
main.page-treasury .toolbar input,
main.page-treasury .toolbar select{
  padding:6px 9px!important;
}
main.page-treasury .toolbar button,
main.page-treasury .toolbar .btn{
  padding:7px 12px!important;
}
main.page-treasury .period-summary{
  margin:4px 0!important;
  padding:6px 10px!important;
}
main.page-treasury .hint{
  margin:3px 0 5px!important;
  line-height:1.15!important;
}
main.page-treasury .matrix-top-scroll,
main.page-treasury .matrix-bottom-scroll{
  margin:2px 0!important;
}
main.page-treasury .matrix th,
main.page-treasury .matrix td{
  height:26px!important;
  padding:3px 8px!important;
  line-height:1.05!important;
  vertical-align:middle!important;
}
main.page-treasury .matrix thead th{
  height:38px!important;
  padding:4px 8px!important;
}
main.page-treasury .matrix-panel-top tbody th,
main.page-treasury .matrix-panel-top tbody td{
  height:29px!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
}
main.page-treasury .matrix .section-row th,
main.page-treasury .matrix .section-row td{
  height:27px!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
}
main.page-treasury .matrix-panel-bottom th,
main.page-treasury .matrix-panel-bottom td{
  height:29px!important;
  padding-top:3px!important;
  padding-bottom:3px!important;
}
