.guardian-management-launch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.65rem;
  border: 1px solid #a7f3d0;
  border-radius: .8rem;
  padding: .6rem .95rem;
  color: #065f46;
  background: #ecfdf5;
  font-size: .82rem;
  font-weight: 900;
  box-shadow: 0 4px 14px rgba(5, 150, 105, .08);
}

.guardian-management-launch:hover { background: #d1fae5; border-color: #6ee7b7; }

.guardian-management-launch.guardian-management-tab {
  min-height: 2.55rem;
  border: 0;
  border-radius: .5rem;
  padding: .625rem 1rem;
  color: #475569;
  background: transparent;
  font-size: .875rem;
  font-weight: 700;
  box-shadow: none;
  transition: color .15s ease, background-color .15s ease;
}

.guardian-management-launch.guardian-management-tab:hover,
.guardian-management-launch.guardian-management-tab:focus-visible {
  border-color: transparent;
  color: #047857;
  background: #ecfdf5;
  outline: none;
}

.guardian-login-entry {
  display: flex;
  width: 100%;
  min-height: 2.7rem;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  margin-top: .75rem;
  border: 1px solid #a7f3d0;
  border-radius: .75rem;
  color: #065f46;
  background: #ecfdf5;
  font-size: .78rem;
  font-weight: 900;
  text-decoration: none;
}

.guardian-login-entry:hover { color: #064e3b; background: #d1fae5; }

.guardian-manager-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 1.2rem;
  background: rgba(15, 23, 42, .72);
  backdrop-filter: blur(5px);
  direction: rtl;
}

.guardian-manager {
  display: flex;
  width: min(1240px, 100%);
  max-height: calc(100vh - 2.4rem);
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dbe4e7;
  border-radius: 1.25rem;
  background: #f8fafc;
  box-shadow: 0 25px 70px rgba(15, 23, 42, .28);
}

.guardian-manager__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.2rem;
  color: #fff;
  background: linear-gradient(135deg, #065f46, #0f766e);
}

.guardian-manager__title { margin: 0; font-size: 1.15rem; font-weight: 900; }
.guardian-manager__subtitle { margin: .18rem 0 0; color: #d1fae5; font-size: .76rem; }
.guardian-manager__head-actions { display: flex; gap: .5rem; }

.guardian-manager__icon-button {
  display: inline-flex;
  min-width: 2.45rem;
  min-height: 2.45rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: .65rem;
  color: #fff;
  background: rgba(255,255,255,.12);
  font-weight: 900;
}

.guardian-manager__tabs {
  display: flex;
  gap: .4rem;
  overflow-x: auto;
  padding: .75rem 1rem;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
}

.guardian-manager__tab {
  flex: 0 0 auto;
  border: 1px solid #dbe4e7;
  border-radius: 999px;
  padding: .5rem .85rem;
  color: #475569;
  background: #fff;
  font-size: .76rem;
  font-weight: 850;
}

.guardian-manager__tab.is-active { border-color: #10b981; color: #065f46; background: #ecfdf5; }
.guardian-manager__body { flex: 1; overflow: auto; padding: 1rem; }
.guardian-manager__panel[hidden] { display: none !important; }
.guardian-manager__grid { display: grid; grid-template-columns: minmax(300px, .85fr) minmax(360px, 1.15fr); gap: 1rem; }

.guardian-manager__card {
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  padding: 1rem;
  background: #fff;
  box-shadow: 0 3px 12px rgba(15, 23, 42, .04);
}

.guardian-manager__card h3 { margin: 0; color: #0f172a; font-size: .92rem; font-weight: 900; }
.guardian-manager__hint { margin: .25rem 0 .8rem; color: #64748b; font-size: .72rem; line-height: 1.7; }
.guardian-manager__field { display: grid; gap: .35rem; margin-bottom: .7rem; }
.guardian-manager__field span { color: #334155; font-size: .72rem; font-weight: 800; }

.guardian-manager__input {
  width: 100%;
  min-height: 2.55rem;
  border: 1px solid #cbd5e1;
  border-radius: .65rem;
  padding: .55rem .7rem;
  color: #0f172a;
  background: #fff;
  font-size: .8rem;
  outline: none;
}

.guardian-manager__input:focus { border-color: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.guardian-manager__students { max-height: 22rem; overflow: auto; border: 1px solid #e2e8f0; border-radius: .75rem; }

.guardian-manager__student {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .6rem;
  padding: .65rem .7rem;
  border-bottom: 1px solid #f1f5f9;
  cursor: pointer;
}

.guardian-manager__student:last-child { border-bottom: 0; }
.guardian-manager__student:hover { background: #f0fdf4; }
.guardian-manager__student strong { display: block; color: #1e293b; font-size: .76rem; }
.guardian-manager__student small { display: block; margin-top: .12rem; color: #64748b; font-size: .64rem; }
.guardian-manager__count { border-radius: 999px; padding: .2rem .45rem; color: #047857; background: #d1fae5; font-size: .6rem; font-weight: 900; }
.guardian-manager__selected { margin: .55rem 0; color: #047857; font-size: .7rem; font-weight: 900; }
.guardian-manager__mode { display: flex; gap: .45rem; margin-bottom: .8rem; }

.guardian-manager__mode button,
.guardian-manager__button {
  border: 1px solid #cbd5e1;
  border-radius: .65rem;
  padding: .55rem .8rem;
  color: #334155;
  background: #fff;
  font-size: .72rem;
  font-weight: 850;
}

.guardian-manager__mode button.is-active { border-color: #10b981; color: #065f46; background: #ecfdf5; }
.guardian-manager__button { border-color: #059669; color: #fff; background: #059669; }
.guardian-manager__button:hover { background: #047857; }
.guardian-manager__button:disabled { cursor: not-allowed; opacity: .5; }
.guardian-manager__button--secondary { border-color: #cbd5e1; color: #334155; background: #fff; }
.guardian-manager__button--danger { border-color: #fecaca; color: #b91c1c; background: #fef2f2; }
.guardian-manager__actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .65rem; }
.guardian-manager__list { display: grid; gap: .65rem; }

.guardian-manager__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .7rem;
  align-items: center;
  border: 1px solid #e2e8f0;
  border-radius: .8rem;
  padding: .75rem;
  background: #fff;
}

.guardian-manager__item strong { color: #0f172a; font-size: .78rem; }
.guardian-manager__item p { margin: .18rem 0 0; color: #64748b; font-size: .68rem; line-height: 1.6; }
.guardian-manager__status { display: inline-flex; margin-inline-start: .35rem; border-radius: 999px; padding: .18rem .42rem; font-size: .58rem; font-weight: 900; }
.guardian-manager__status--active, .guardian-manager__status--sent { color: #047857; background: #d1fae5; }
.guardian-manager__status--pending { color: #92400e; background: #fef3c7; }
.guardian-manager__status--stopped { color: #9f1239; background: #ffe4e6; }
.guardian-manager__empty { padding: 2.5rem 1rem; text-align: center; color: #64748b; font-size: .8rem; }
.guardian-manager__notice { margin-bottom: .8rem; border: 1px solid #fde68a; border-radius: .7rem; padding: .7rem; color: #92400e; background: #fffbeb; font-size: .72rem; line-height: 1.7; }
.guardian-manager__toast { position: fixed; z-index: 10001; right: 1rem; bottom: 1rem; max-width: 28rem; border-radius: .75rem; padding: .8rem 1rem; color: #fff; background: #065f46; box-shadow: 0 12px 35px rgba(15,23,42,.25); font-size: .78rem; font-weight: 800; }
.guardian-manager__toast.is-error { background: #b91c1c; }
.guardian-manager__loading { padding: 4rem 1rem; text-align: center; color: #64748b; }

@media (max-width: 820px) {
  .guardian-manager-overlay { padding: 0; }
  .guardian-manager { max-height: 100vh; border-radius: 0; }
  .guardian-manager__grid { grid-template-columns: 1fr; }
  .guardian-manager__header { align-items: flex-start; }
  .guardian-manager__item { grid-template-columns: 1fr; }
}

/* Project beneficiaries: full guardian management within the selected tab. */
.guardian-manager-inline { position: static; display: block; padding: 0; background: transparent; backdrop-filter: none; z-index: auto; }
.guardian-manager-inline .guardian-manager { width: 100%; max-height: none; box-shadow: none; }
.guardian-manager__accounts { max-height: 22rem; overflow-y: auto; margin-bottom: 1rem; border: 1px solid #e2e8f0; border-radius: .75rem; }
.guardian-manager__accounts input[type="radio"] { accent-color: #059669; }

/* Student-first guardian follow-up. */
.guardian-manager__stats {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin-bottom:1.2rem}
.guardian-manager__stats button {display:flex;flex-direction:column;gap:.3rem;padding:1rem .5rem;background:#f8fafc;border:1px solid #dbe5e2;border-radius:.85rem;color:#334155}
.guardian-manager__stats strong {font-size:1.5rem;color:#047857}
.guardian-manager__stats button[aria-pressed="true"] {background:#ecfdf5;border-color:#059669;box-shadow:0 0 0 1px #059669}
.guardian-manager__stats span {font-size:.75rem}
.guardian-manager__table-scroll {width:100%;overflow:auto;border:1px solid #e2e8f0;border-radius:.85rem}
.guardian-manager__table {width:100%;min-width:720px;border-collapse:collapse;text-align:right;font-size:.78rem}
.guardian-manager__table th {background:#f1f5f9;color:#475569;padding:.9rem;white-space:nowrap}
.guardian-manager__table td {padding:1rem .8rem;border-top:1px solid #e2e8f0;vertical-align:top}
.guardian-manager__table small {display:block;color:#64748b;margin-top:.35rem}
.guardian-manager__table .guardian-manager__actions {flex-wrap:wrap;min-width:150px}
.guardian-manager__detail {background:#f8fafc;border-radius:.7rem;padding:1rem}
.guardian-manager__preview {font:inherit;font-size:.8rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;background:#ecfdf5;border:1px solid #a7f3d0;padding:1rem;border-radius:.8rem;max-width:100%}
.guardian-manager__check {display:flex;align-items:center;gap:.5rem;font-size:.8rem;margin:.8rem 0}
.guardian-manager textarea {resize:vertical;line-height:1.7}
.guardian-manager__table .guardian-manager__status {white-space:nowrap}
@media(max-width:820px){.guardian-manager__stats {grid-template-columns:repeat(3,minmax(0,1fr))}.guardian-manager__body,.guardian-manager__panel,.guardian-manager__card {min-width:0}}
@media(max-width:420px){.guardian-manager__stats {grid-template-columns:repeat(2,minmax(0,1fr))}}
