/* ----------------------------------------------------------
 * MediCare - Swal fallback (local)
 * Scop: aplicația rămâne funcțională chiar dacă CDN-urile sunt blocate.
 * Nu încearcă să copieze 1:1 SweetAlert2, dar oferă un UI premium compatibil
 * cu apelurile folosite în aplicație: Swal.fire(), Swal.mixin(toast), Swal.showLoading(), Swal.close().
 * ---------------------------------------------------------- */

.mi-swal-overlay{
  position:fixed; inset:0;
  background:rgba(15, 23, 42, .55);
  backdrop-filter: blur(4px);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index: 100000;
}

.mi-swal-modal{
  width:min(92vw, 860px);
  border-radius:16px;
  background:#fff;
  box-shadow:0 20px 70px rgba(0,0,0,.25);
  overflow:hidden;
  font-family: 'DM Sans', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.mi-swal-head{
  padding:16px 18px;
  display:flex;
  gap:12px;
  align-items:flex-start;
  border-bottom:1px solid rgba(0,0,0,.06);
  background:linear-gradient(135deg, rgba(104,59,97,.10), rgba(142,68,173,.08));
}

.mi-swal-ico{
  width:40px; height:40px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:rgba(104,59,97,.10);
  color:#4E3647;
}

.mi-swal-titlewrap{ flex:1; }
.mi-swal-title{
  font-weight:800;
  font-size:18px;
  color:#1f2937;
  line-height:1.2;
}
.mi-swal-sub{
  margin-top:4px;
  font-size:13px;
  color:rgba(31,41,55,.72);
}

.mi-swal-body{
  padding:16px 18px;
  color:#111827;
  font-size:14px;
  max-height:min(70vh, 520px);
  overflow:auto;
}

.mi-swal-actions{
  padding:14px 18px;
  display:flex;
  gap:10px;
  justify-content:flex-end;
  border-top:1px solid rgba(0,0,0,.06);
  background:rgba(0,0,0,.02);
}

.mi-swal-btn{
  border:0;
  border-radius:12px;
  padding:10px 14px;
  font-weight:800;
  cursor:pointer;
  font-size:14px;
}
.mi-swal-btn-confirm{ background:#27ae60; color:#fff; }
.mi-swal-btn-cancel{ background:rgba(0,0,0,.08); color:#111827; }

.mi-swal-loading{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px 0;
}

.mi-swal-spinner{
  width:18px; height:18px;
  border:2px solid rgba(0,0,0,.15);
  border-top-color: rgba(104,59,97,.75);
  border-radius:50%;
  animation: miSwalSpin .8s linear infinite;
}

@keyframes miSwalSpin{ to{ transform:rotate(360deg);} }

/* Toast (fallback) - folosește clase diferite ca să nu afecteze SweetAlert2 */
.mi-fb-toast-container{
  position:fixed;
  top:16px; right:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  z-index:100001;
}
.mi-fb-toast{
  min-width: 220px;
  max-width: min(420px, 92vw);
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.14);
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.mi-fb-toast .ico{
  width:18px; height:18px;
  border-radius:6px;
  background:rgba(104,59,97,.12);
  flex:0 0 auto;
}
.mi-fb-toast .txt{
  font-weight:700;
  color:#111827;
  font-size:13px;
  line-height:1.25;
}
