:root{
  --rosa:#e84b9c;
  --rosa-oscuro:#c83a85;
  --tinta:#30242d;
  --muted:#74656f;
  --borde:#f0d4e3;
  --rojo:#c92f45;
  --rojo-oscuro:#a51f33;
}

*{box-sizing:border-box}
body.modal-open{overflow:hidden}

.ajustes-shell{
  width:min(940px,calc(100% - 28px));
  margin:24px auto 70px;
}

.ajustes-hero{
  padding:26px;
  margin-bottom:18px;
  border:1px solid rgba(232,75,156,.14);
  border-radius:28px;
  background:linear-gradient(135deg,#fff,#fff1f8);
  box-shadow:0 18px 38px rgba(232,75,156,.11);
}

.ajustes-hero-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 13px;
  margin-bottom:12px;
  border-radius:999px;
  background:#ffe6f2;
  color:var(--rosa-oscuro);
  font-size:.82rem;
  font-weight:900;
}

.ajustes-hero h1{
  margin:0 0 8px;
  color:var(--tinta);
  font-size:clamp(1.65rem,5vw,2.35rem);
}

.ajustes-hero p{
  max-width:650px;
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

.ajustes-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.ajustes-card{
  padding:22px;
  border:1px solid var(--borde);
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 30px rgba(63,37,53,.07);
}

.ajustes-card-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:17px;
}

.ajustes-card-icon{
  width:44px;
  height:44px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  background:#ffe9f4;
  color:var(--rosa);
}

.ajustes-card h2{
  margin:0 0 4px;
  color:var(--tinta);
  font-size:1.12rem;
}

.ajustes-card p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
}

.cuenta-resumen{
  display:grid;
  gap:10px;
}

.cuenta-fila{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:12px 14px;
  border:1px solid #f6deea;
  border-radius:15px;
  background:#fff8fc;
}

.cuenta-fila span{
  color:var(--muted);
  font-size:.88rem;
}

.cuenta-fila strong{
  min-width:0;
  color:var(--tinta);
  text-align:right;
  overflow-wrap:anywhere;
}

.ajustes-links{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.ajustes-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:10px;
  border:1px solid var(--borde);
  border-radius:15px;
  background:#fff8fc;
  color:var(--rosa-oscuro);
  text-align:center;
  text-decoration:none;
  font-size:.86rem;
  font-weight:900;
}

.zona-peligro{
  border-color:#f1bec6;
  background:linear-gradient(180deg,#fff,#fff7f8);
}

.zona-peligro .ajustes-card-icon{
  background:#ffe5e9;
  color:var(--rojo);
}

.zona-lista{
  margin:16px 0;
  padding-left:20px;
  color:#66545a;
  line-height:1.55;
}

.zona-nota{
  padding:12px 14px;
  margin-bottom:16px;
  border:1px solid #f1d39c;
  border-radius:14px;
  background:#fff1d9;
  color:#735521;
  font-size:.86rem;
  line-height:1.45;
}

.btn-eliminar-cuenta,
.btn-confirmar-eliminacion{
  width:100%;
  min-height:48px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,var(--rojo),var(--rojo-oscuro));
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.btn-eliminar-cuenta:disabled,
.btn-confirmar-eliminacion:disabled{
  opacity:.5;
  cursor:not-allowed;
}

.aj-modal{
  position:fixed;
  inset:0;
  z-index:30000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(31,20,28,.58);
  backdrop-filter:blur(5px);
}

.aj-modal.open{display:flex}

.aj-modal-panel{
  width:min(520px,100%);
  max-height:calc(100vh - 36px);
  overflow:auto;
  padding:22px;
  border-radius:25px;
  background:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}

.aj-modal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.aj-modal-head h2{
  margin:0 0 5px;
  color:var(--rojo-oscuro);
}

.aj-modal-head p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
}

.aj-modal-close{
  width:38px;
  height:38px;
  flex:0 0 auto;
  border:0;
  border-radius:50%;
  background:#f7edf2;
  cursor:pointer;
}

.aj-field{margin-top:14px}

.aj-field label{
  display:block;
  margin-bottom:6px;
  color:var(--tinta);
  font-size:.88rem;
  font-weight:900;
}

.aj-field input,
.aj-field select,
.aj-field textarea{
  width:100%;
  padding:12px 13px;
  border:1px solid #dfc5d1;
  border-radius:14px;
  background:#fff;
  color:var(--tinta);
  font:inherit;
  outline:none;
}

.aj-field textarea{
  min-height:82px;
  resize:vertical;
}

.aj-field input:focus,
.aj-field select:focus,
.aj-field textarea:focus{
  border-color:var(--rosa);
  box-shadow:0 0 0 3px rgba(232,75,156,.11);
}

.aj-confirm-help{
  margin:7px 0 0;
  color:var(--muted);
  font-size:.8rem;
}

.aj-modal-actions{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:10px;
  margin-top:18px;
}

.btn-cancelar{
  min-height:48px;
  border:1px solid #ddcbd3;
  border-radius:16px;
  background:#fff;
  color:#5e4a54;
  font-weight:900;
  cursor:pointer;
}

.aj-status{
  display:none;
  margin-top:14px;
  padding:11px 13px;
  border-radius:13px;
  font-size:.86rem;
}

.aj-status.error{
  display:block;
  border:1px solid #f1b7c0;
  background:#fdebed;
  color:#8e1f31;
}

.aj-status.ok{
  display:block;
  border:1px solid #b9dfc5;
  background:#eaf8ef;
  color:#166238;
}

@media(min-width:760px){
  .ajustes-grid{grid-template-columns:1fr 1fr}
  .zona-peligro{grid-column:1/-1}
}

@media(max-width:620px){
  .ajustes-shell{
    width:calc(100% - 18px);
    margin-top:14px;
  }

  .ajustes-hero,
  .ajustes-card,
  .aj-modal-panel{
    padding:17px;
    border-radius:21px;
  }

  .ajustes-links{grid-template-columns:1fr}

  .cuenta-fila{
    flex-direction:column;
    gap:4px;
  }

  .cuenta-fila strong{text-align:left}
  .aj-modal-actions{grid-template-columns:1fr}
}
