/* ===================================================================
   PROFILE PAGE
   =================================================================== */

/* ---- Hero: cover banner + overlapping avatar ---- */
.profile-hero{
  text-align:center;
  position:relative;
  padding-bottom:6px;
}

.profile-banner{
  height:84px;
  background:var(--rawm-ink);
  background-image:
    repeating-linear-gradient(180deg, rgba(255,255,255,.035) 0px, rgba(255,255,255,.035) 2px, transparent 2px, transparent 7px),
    radial-gradient(circle at 80% 0%, rgba(238,127,45,.22), transparent 60%);
}

.profile-avatar{
  width:74px;
  height:74px;
  border-radius:50%;
  background:var(--rawm-ink);
  color:var(--rawm-orange);
  font-family:var(--font-display);
  font-weight:600;
  font-size:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:-37px auto 10px;
  border:4px solid var(--rawm-cream);
  box-shadow:0 10px 22px -8px rgba(0,0,0,.35);
  position:relative;
}

.profile-name{
  font-family:var(--font-display);
  font-weight:600;
  font-size:17px;
  color:var(--rawm-ink);
  margin:0 0 8px;
}

.profile-chips{
  display:flex;
  justify-content:center;
  gap:8px;
}
.profile-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:11px;
  font-weight:600;
  color:var(--rawm-charcoal);
  background:var(--rawm-surface);
  border:1px solid var(--rawm-line);
  border-radius:20px;
  padding:5px 11px;
}
.profile-chip i{ color:var(--rawm-orange-deep); font-size:11px; }

/* ---- Quick stats row ---- */
.quick-stats{
  display:flex;
  gap:10px;
}
.quick-stat{
  flex:1 1 0;
  background:var(--rawm-surface);
  border:1px solid var(--rawm-line);
  border-radius:14px;
  padding:13px 6px 11px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}
.quick-stat i{
  font-size:15px;
  color:var(--rawm-orange-deep);
}
.quick-stat-value{
  font-family:var(--font-display);
  font-size:15px;
  font-weight:600;
  color:var(--rawm-ink);
}
.quick-stat-label{
  font-size:9.5px;
  font-weight:600;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--rawm-charcoal-2);
}

/* ---- Tab switcher ---- */
.tab-switch{
  display:flex;
  background:var(--rawm-line);
  border-radius:12px;
  padding:4px;
  gap:4px;
}
.tab-chip{
  flex:1 1 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:0;
  background:transparent;
  border-radius:9px;
  padding:9px 0;
  font-size:12.5px;
  font-weight:600;
  color:var(--rawm-charcoal-2);
  transition:background .15s ease, color .15s ease;
}
.tab-chip i{ font-size:13px; }
.tab-chip.active{
  background:var(--rawm-surface);
  color:var(--rawm-ink);
  box-shadow:0 4px 10px -4px rgba(0,0,0,.18);
}
.tab-chip.active i{ color:var(--rawm-orange-deep); }

/* ---- Detail list (Basic / Academic) ---- */
.detail-list{
  overflow:hidden;
}
.detail-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid var(--rawm-line);
}
.detail-row:last-child{ border-bottom:none; }

.detail-icon{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:9px;
  background:var(--rawm-orange-tint);
  color:var(--rawm-orange-deep);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
}

.detail-text{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
}
.detail-label{
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--rawm-charcoal-2);
}
.detail-value{
  font-size:13px;
  font-weight:600;
  color:var(--rawm-ink);
  margin-top:1px;
}

/* ---- Fees ---- */
.fee-summary{
  display:flex;
  gap:10px;
  margin-bottom:12px;
}
.fee-stat{
  flex:1 1 0;
  border-radius:13px;
  padding:12px 8px;
  text-align:center;
  border:1px solid var(--rawm-line);
}
.fee-stat-total{ background:var(--rawm-surface); }
.fee-stat-paid{ background:#EEF7F1; border-color:#D9EEE0; }
.fee-stat-due{ background:var(--rawm-orange-tint); border-color:#F6D9BC; }

.fee-stat-label{
  display:block;
  font-size:10.5px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--rawm-charcoal-2);
  margin-bottom:4px;
}
.fee-stat-value{
  font-family:var(--font-display);
  font-size:15.5px;
  font-weight:600;
  color:var(--rawm-ink);
}
.fee-stat-paid .fee-stat-value{ color:#2C8A53; }
.fee-stat-due .fee-stat-value{ color:var(--rawm-orange-deep); }

.fee-progress{
  height:6px;
  border-radius:4px;
  background:var(--rawm-orange-tint);
  overflow:hidden;
  margin-bottom:6px;
}
.fee-progress-bar{
  height:100%;
  background:#2C8A53;
  border-radius:4px 0 0 4px;
  width:0%;
  transition:width .4s ease;
}
.fee-progress-caption{
  font-size:11px;
  color:var(--rawm-charcoal-2);
  margin:0 0 14px;
}

.fee-row{
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px 14px;
  border-bottom:1px solid var(--rawm-line);
}
.fee-row:last-child{ border-bottom:none; }

.fee-icon{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:9px;
  background:var(--rawm-ink);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
}

.fee-info{
  flex:1 1 auto;
  min-width:0;
}
.fee-row .fee-name{
  font-size:12.5px;
  font-weight:600;
  color:var(--rawm-ink);
  margin:0 0 2px;
}
.fee-row .fee-sub{
  font-size:11px;
  color:var(--rawm-charcoal-2);
  margin:0;
}

.fee-right{
  flex:0 0 auto;
  text-align:right;
}
.fee-amount{
  font-family:var(--font-display);
  font-size:13.5px;
  font-weight:600;
  color:var(--rawm-ink);
}

.fee-badge{
  display:inline-block;
  font-size:10px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  padding:3px 8px;
  border-radius:6px;
  margin-top:4px;
}
.fee-badge.paid{
  background:#E5F3EA;
  color:#2C8A53;
}
.fee-badge.due{
  background:var(--rawm-orange-tint);
  color:var(--rawm-orange-deep);
}
