
/* SENDA 3.19 · Sistema visual sobrio
   Base neutra: blanco, grafito y grises.
   Verde solo como acento funcional. */
:root{
  --senda-ink:#101b28;
  --senda-muted:#6b7480;
  --senda-line:#dde3ec;
  --senda-surface:#ffffff;
  --senda-soft:#eef2f7;
  --senda-accent:#2c5279;
  --senda-accent-soft:#eef2f7;
  --senda-danger:#9c3a33;
  --senda-danger-soft:#fbf1f0;
  --senda-shadow:0 18px 55px rgba(16, 27, 40, .14);
  --senda-radius:16px;
}
html{background:#f5f7fa}
body{color:var(--senda-ink)}
button,input,select,textarea{font:inherit}
.primary-button{
  background:#1b3a5c!important;
  border-color:#1b3a5c!important;
  color:#ffffff!important;
  box-shadow:none!important;
}
.primary-button:hover{background:#101b28!important}
.secondary-button{
  background:#ffffff!important;
  border-color:#dde3ec!important;
  color:#2c5279!important;
  box-shadow:none!important;
}
.page-heading h1,.main-content h1{letter-spacing:-.025em}
.supplier-card,.doc-card,.account-card,.bank-account-card,
.supplier-ledger,.bank-reconciliation-panel{
  border-color:var(--senda-line)!important;
  box-shadow:0 8px 28px rgba(27, 58, 92, .055)!important;
}
.positive-amount{color:var(--senda-accent)!important}
.negative-amount{color:var(--senda-danger)!important}

/* Detalle de cuenta */
#accountDetailModal{backdrop-filter:blur(4px)}
.account-detail-modal{
  width:min(920px,94vw)!important;
  border:1px solid rgba(255, 255, 255, .9)!important;
  border-radius:22px!important;
  background:var(--senda-surface)!important;
  box-shadow:var(--senda-shadow)!important;
  overflow:hidden!important;
}
.account-detail-modal .modal-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  padding:24px 28px!important;
  border-bottom:1px solid var(--senda-line)!important;
  background:#ffffff!important;
}
.account-detail-heading{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  min-width:0!important;
}
.account-detail-logo,.account-detail-fallback{
  width:72px!important;
  height:72px!important;
  flex:0 0 72px!important;
  border-radius:15px!important;
  object-fit:cover!important;
}
.account-detail-heading>div:last-child{min-width:0}
.account-detail-heading span{
  display:block!important;
  margin:0 0 4px!important;
  color:var(--senda-muted)!important;
  font-size:11px!important;
  font-weight:600!important;
  text-transform:none!important;
}
.account-detail-heading h2{
  margin:0!important;
  color:#0b1119!important;
  font-size:25px!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
.account-detail-heading small{
  display:block!important;
  margin-top:6px!important;
  color:var(--senda-muted)!important;
  font-size:11px!important;
}
.detail-header-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}
.detail-header-actions button{
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:750!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.detail-header-actions .modal-close{
  width:40px!important;
  min-width:40px!important;
  padding:0!important;
  border:0!important;
  background:#eff1f5!important;
  color:#39424f!important;
  font-size:20px!important;
}
.indicator-exclude-button,.detail-indicator-button{
  border:1px solid #dde3ec!important;
  background:#ffffff!important;
  color:#1b3a5c!important;
}
.indicator-include-button{
  border:1px solid #dde3ec!important;
  background:var(--senda-accent-soft)!important;
  color:var(--senda-accent)!important;
}
.danger-soft-button,.detail-deactivate-button{
  border:1px solid #dcb3ae!important;
  background:var(--senda-danger-soft)!important;
  color:#9c3a33!important;
}
.success-soft-button{
  border:1px solid #dde3ec!important;
  background:var(--senda-accent-soft)!important;
  color:var(--senda-accent)!important;
}
.detail-reconcile-status{margin:0!important;border-radius:0!important}

.account-detail-body{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  padding:0!important;
  background:#ffffff!important;
}
.account-detail-body>div{
  min-height:112px!important;
  padding:24px 28px!important;
  border-right:1px solid var(--senda-line)!important;
  border-bottom:1px solid var(--senda-line)!important;
  background:#ffffff!important;
}
.account-detail-body>div:nth-child(2n){border-right:0!important}
.account-detail-body>div:nth-last-child(-n+2){border-bottom:0!important}
.account-detail-body span{
  display:block!important;
  margin:0 0 11px!important;
  color:#6b7480!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
}
.account-detail-body strong{
  display:block!important;
  color:#0b1119!important;
  font-size:17px!important;
  line-height:1.28!important;
  letter-spacing:-.015em!important;
  overflow-wrap:anywhere!important;
}
.account-detail-body>div:nth-child(-n+2) strong{
  font-size:29px!important;
  font-weight:780!important;
}
.account-detail-body>div:nth-child(2) strong.negative-amount{
  color:var(--senda-danger)!important;
}

.account-detail-actions{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  padding:18px 24px 14px!important;
  border-top:1px solid var(--senda-line)!important;
  background:#eef2f7!important;
}
.account-detail-actions button{
  width:100%!important;
  min-height:40px!important;
  padding:0 10px!important;
  border-radius:10px!important;
  font-size:9.5px!important;
  font-weight:750!important;
  line-height:1.15!important;
  box-shadow:none!important;
}
.detail-soft-button{
  border:1px solid #dde3ec!important;
  background:#ffffff!important;
  color:#1b3a5c!important;
}
.detail-soft-button:hover{background:#eef2f7!important}
.detail-edit-action{
  grid-column:1/4!important;
  border-color:#dde3ec!important;
  background:#ffffff!important;
  color:#1b3a5c!important;
}
.detail-close-action{
  grid-column:4/5!important;
  border:1px solid #dde3ec!important;
  background:#eff1f5!important;
  color:#1b3a5c!important;
}

/* Tarjetas y controles más finos en todo SENDA */
.doc-tabs button,.invoice-subtab,.client-action-button,
.account-card-actions button,.account-card-actions a{
  font-weight:700!important;
  box-shadow:none!important;
}
.pdf-status{border-radius:999px!important}

@media(max-width:760px){
  .account-detail-modal .modal-header{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .detail-header-actions{width:100%!important;justify-content:flex-end!important}
  .account-detail-body{grid-template-columns:1fr!important}
  .account-detail-body>div{
    border-right:0!important;
    border-bottom:1px solid var(--senda-line)!important;
  }
  .account-detail-actions{grid-template-columns:1fr 1fr!important}
  .detail-edit-action{grid-column:1/2!important}
  .detail-close-action{grid-column:2/3!important}
}

.account-detail-item small{
  display:block;
  margin-top:8px;
  color:#6b7480;
  font-size:10px;
  font-weight:500;
}

/* SENDA 3.19.1 · Resúmenes bancarios */
.bank-statements-summary-cell{
  position:relative;
  background:#eef2f7!important;
}
.bank-statements-summary-cell strong{
  font-size:18px!important;
  color:#101b28!important;
}
.bank-statements-inline-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  margin-top:12px;
  padding:0 13px;
  border:1px solid #dde3ec;
  border-radius:9px;
  background:#ffffff;
  color:#2c5279;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
}
.bank-statements-inline-button:hover{background:#eef2f7}

.account-detail-actions button{
  font-size:11.5px!important;
  font-weight:750!important;
}

.statements-library-modal{
  width:min(780px,94vw)!important;
  max-height:88vh;
  overflow:hidden;
  border-radius:18px!important;
  background:#ffffff;
}
.statements-library-modal .modal-header small{
  display:block;
  margin-top:5px;
  color:#6b7480;
  font-size:10px;
}
.statements-library-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 20px;
  border-bottom:1px solid #dde3ec;
  background:#eef2f7;
}
.statements-library-toolbar>div strong{
  display:block;
  font-size:13px;
}
.statements-library-toolbar>div span{
  display:block;
  margin-top:3px;
  color:#6b7480;
  font-size:9.5px;
}
.compact-action{
  min-height:36px!important;
  padding:0 12px!important;
  border-radius:9px!important;
  font-size:10px!important;
  font-weight:750!important;
}
.statements-library-list{
  max-height:460px;
  overflow:auto;
  padding:8px 20px;
}
.statement-library-row{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 130px 82px;
  align-items:center;
  gap:12px;
  min-height:68px;
  padding:10px 4px;
  border-bottom:1px solid #e7ecf3;
}
.statement-library-row:last-child{border-bottom:0}
.statement-library-check{
  width:16px;
  height:16px;
  accent-color:#2c5279;
}
.statement-library-main strong{
  display:block;
  font-size:12px;
  color:#101b28;
}
.statement-library-main span{
  display:block;
  margin-top:4px;
  color:#6b7480;
  font-size:9px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.statement-library-status{
  text-align:left;
}
.statement-status-badge{
  display:inline-block;
  padding:4px 7px;
  border-radius:999px;
  background:#faf5e9;
  color:#8a6a1f;
  font-size:8px;
  font-weight:800;
}
.statement-status-badge.is-ok{
  background:#eef2f7;
  color:#2c5279;
}
.statement-library-status small{
  display:block;
  margin-top:4px;
  color:#6b7480;
  font-size:8px;
}
.statement-single-download{
  color:#2c5279;
  font-size:9px;
  font-weight:750;
  text-decoration:underline;
}
.statements-library-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 20px 18px;
  border-top:1px solid #dde3ec;
  background:#ffffff;
}
.select-all-statements{
  display:flex;
  align-items:center;
  gap:8px;
  color:#6b7480;
  font-size:9.5px;
  font-weight:700;
}
.select-all-statements input{width:16px;height:16px;accent-color:#2c5279}
.statements-library-footer-actions{display:flex;gap:8px}
.statements-library-loading,
.statements-library-empty{
  padding:38px 10px;
  text-align:center;
  color:#6b7480;
  font-size:10px;
}
.statements-library-empty strong{
  display:block;
  margin-bottom:5px;
  color:#2c5279;
  font-size:12px;
}
.statements-library-empty span{display:block}
@media(max-width:650px){
  .statement-library-row{grid-template-columns:22px 1fr}
  .statement-library-status,.statement-single-download{grid-column:2}
  .statements-library-footer{align-items:stretch;flex-direction:column}
  .statements-library-footer-actions{justify-content:flex-end}
}

/* SENDA 3.21.2 · navegación de cuentas */
[data-open-account]{cursor:pointer}
.main-nav .nav-item.active{
  background:#ffffff!important;
}
