.section-excedentes{
  background:
    radial-gradient(1100px 480px at 10% -10%, var(--asefh-blue-soft), transparent 60%),
    radial-gradient(900px 420px at 95% 0%, var(--asefh-gold-soft), transparent 60%),
    linear-gradient(180deg, var(--surface), var(--bg));
  padding: 12px 0 40px;
}

.excedentes-wrap{
  width: min(1100px, 100%);
  margin: 0 auto;
}

.excedentes-header{
  max-width: 860px;
  margin-bottom: 18px;
}

.excedentes-header .badge{
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--asefh-blue-dark);
  background: var(--asefh-blue-soft);
  margin-bottom: 10px;
}

.excedentes-header h2{
  margin: 0 0 8px 0;
  font-size: clamp(24px, 3vw, 36px);
  color: var(--text);
}

.excedentes-header p{
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.excedentes-card{
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 0;
  margin-bottom: 16px;
  position: relative;
  overflow: hidden;
}

.excedentes-card::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--asefh-blue-dark), var(--asefh-gold));
}

.excedentes-card-head{
  padding: 14px 18px 10px;
  border-bottom: 1px solid var(--border);
  background: var(--field-bg);
}

.excedentes-card-head h3,
.excedentes-card-head h4,
.excedentes-card-head h5{
  margin: 0;
  font-size: 18px;
  color: var(--text);
  text-align: center;
  font-weight: 800;
}

.excedentes-card-body{
  padding: 18px;
}

.excedentes-label{
  display: block;
  font-weight: 800;
  font-size: 13px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 4px;
}

.excedentes-value{
  color: var(--text);
  font-weight: 700;
  font-size: 16px;
  margin: 0;
  word-break: break-word;
}

.excedentes-money{
  font-size: 18px;
  font-weight: 800;
  color: var(--text);
  margin: 0;
}

.excedentes-money-favor{
  color: var(--money-favor);
  font-size: clamp(20px, 4vw, 26px);
}

.excedentes-field .form-label{
  font-weight: 700;
  color: var(--text);
}

.excedentes-field .input-group-text{
  background: var(--asefh-blue-soft);
  border-color: var(--border);
  color: var(--asefh-blue-dark);
  font-weight: 800;
}

.excedentes-field .form-control{
  background-color: var(--input-bg);
  color: var(--input-text);
  border-color: var(--border);
}

.excedentes-field .form-control:focus{
  background-color: var(--input-bg);
  color: var(--input-text);
  border-color: rgba(11, 60, 93, .45);
  box-shadow: 0 0 0 .2rem rgba(11, 60, 93, .12);
}

.excedentes-btn-save{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 20px;
  border-radius: 14px;
  font-weight: 900;
  background: #0B3C5D;
  color: #fff;
  border: 1px solid rgba(11, 60, 93, .25);
}

.excedentes-btn-save:hover,
.excedentes-btn-save:focus{
  background: var(--asefh-blue);
  color: #fff;
}

[data-bs-theme="dark"] .excedentes-btn-save{
  background: #1a5a8a;
  border-color: rgba(126, 182, 217, .35);
}

@media (max-width: 768px){
  .excedentes-card{
    border-radius: 16px;
  }

  .excedentes-card-body{
    padding: 14px;
  }
}

@media (max-width: 991.98px){
  main.container {
    padding-top: 16px;
    padding-left: 0;
    padding-right: 0;
  }

  main.container > .section > .container {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  main.container .wrap,
  main.container .prest-wrap,
  main.container .historia-wrap,
  main.container .serv-wrap,
  main.container .aport-alt-wrap,
  main.container .cdp-a-wrap,
  main.container .excedentes-wrap,
  main.container .asefh-wrap > .container,
  main.container .login-wrap {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
  }

  .solicitud-header,
  .saldos-header {
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;
  }
}
