/* =========================================================
   DTEDU — TRANG HỒ SƠ CÁ NHÂN HỌC VIÊN (profile.html)
   Dùng chung biến màu & thành phần cơ bản với classroom.css
   (.container, .panel-card, .btn, .nav-user-chip...).
   Các khối bên dưới lấy cảm hứng từ hồ sơ chi tiết bên trang
   Admin nhưng được rút gọn cho học viên (chỉ xem, không sửa).
   ========================================================= */

/* ---------- 1. TRẠNG THÁI RỖNG (chưa đăng nhập / chưa có hồ sơ) ---------- */
.profile-empty-state{
  text-align:center;
  padding:50px 20px;
  max-width:420px;
  margin:0 auto;
}
.profile-empty-icon{
  width:64px; height:64px; margin:0 auto 18px;
  border-radius:50%;
  background:var(--matcha-badge-bg);
  display:flex; align-items:center; justify-content:center;
  font-size:28px;
}
.profile-empty-state h2{ font-size:20px; margin-bottom:10px; }
.profile-empty-state p{ font-size:14px; margin-bottom:24px; }

/* ---------- 2. LỜI CHÀO ĐẦU TRANG ---------- */
.profile-welcome{ margin-bottom:26px; }
.profile-welcome .welcome-eyebrow{
  font-size:12.5px; text-transform:uppercase; letter-spacing:.08em;
  color:var(--matcha-primary-dark); font-weight:700; margin-bottom:6px;
}
.profile-welcome h1{ font-size:25px; margin:0; }

/* ---------- 3. KHỐI THÔNG TIN ĐẦU HỒ SƠ ---------- */
.student-profile-header{
  display:flex; align-items:center; gap:24px; flex-wrap:wrap;
  padding-bottom:24px; margin-bottom:24px;
  border-bottom:1px solid var(--border-color);
}
.profile-avatar-wrap{ position:relative; flex:none; }
.profile-avatar{
  width:96px; height:96px; border-radius:50%;
  object-fit:cover;
  background:var(--matcha-badge-bg);
  color:var(--matcha-primary-dark);
  display:flex; align-items:center; justify-content:center;
  font-size:32px; font-weight:700;
  border:3px solid var(--white);
  box-shadow:0 0 0 1px var(--border-color);
}
.profile-header-info{ flex:1; min-width:200px; }
.profile-rank-badge{
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:700;
  background:var(--matcha-badge-bg); color:var(--matcha-badge-text);
  padding:4px 12px; border-radius:var(--radius-pill);
  margin-bottom:8px;
}
#profile-student-name{ font-size:22px; margin-bottom:4px; }
.profile-code{ font-size:13.5px; color:var(--text-muted); margin:0; }
.profile-code strong{ font-family:monospace; color:var(--text-dark); letter-spacing:.03em; }

/* ---------- 4. THÔNG TIN CÁ NHÂN + ĐIỂM SỐ ---------- */
.profile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:30px;
}
.profile-info-card, .profile-score-card{
  background:var(--surface-tint);
  border:1px solid var(--border-color);
  border-radius:var(--radius-m);
  padding:22px 24px;
}
.profile-info-card h3, .profile-score-card h3{ font-size:15.5px; margin-bottom:16px; }

.info-list{ margin:0; display:grid; gap:12px; }
.info-list div{ display:flex; justify-content:space-between; gap:10px; font-size:13.5px; border-bottom:1px dashed var(--border-color); padding-bottom:10px; }
.info-list div:last-child{ border-bottom:none; padding-bottom:0; }
.info-list dt{ color:var(--text-muted); margin:0; }
.info-list dd{ margin:0; font-weight:600; color:var(--text-dark); text-align:right; }

.score-bars{ display:flex; flex-direction:column; gap:14px; margin-bottom:18px; }
.score-bar-item .score-bar-label{
  display:flex; justify-content:space-between;
  font-size:12.5px; color:var(--text-muted); margin-bottom:6px;
}
.score-bar-item .score-bar-label strong{ color:var(--text-dark); }
.score-bar-track{ height:9px; border-radius:99px; background:var(--border-color); overflow:hidden; }
.score-bar-fill{
  height:100%; border-radius:99px;
  background:linear-gradient(90deg, var(--matcha-primary), var(--matcha-primary-dark));
  width:0%;
  transition:width .5s ease;
}
.score-bar-item.bar-blue .score-bar-fill{ background:linear-gradient(90deg,#8FC1F2,var(--stat-blue)); }
.score-bar-item.bar-orange .score-bar-fill{ background:linear-gradient(90deg,#F2B673,var(--stat-orange)); }

.composite-score-box{
  display:flex; justify-content:space-between; align-items:center;
  background:var(--matcha-deep); color:var(--white);
  padding:14px 18px; border-radius:var(--radius-s);
  font-size:13.5px;
}
.composite-score-box strong{ font-size:22px; }

@media (max-width:760px){
  .profile-grid{ grid-template-columns:1fr; }
  .student-profile-header{ flex-direction:column; text-align:center; }
  .profile-header-info{ text-align:center; }
  .info-list div{ flex-direction:column; text-align:left; gap:2px; }
  .info-list dd{ text-align:left; }
}

/* ---------- 5. NHẬT KÝ & NHẬN XÉT BUỔI HỌC ---------- */
.sessions-section{ margin-top:8px; }
.sessions-list{ display:flex; flex-direction:column; gap:14px; margin-top:18px; }
.session-item{
  display:flex; gap:16px;
  background:var(--white);
  border:1px solid var(--border-color);
  border-radius:var(--radius-m);
  padding:18px 20px;
}
.session-date-badge{
  flex:none; width:58px; height:58px;
  border-radius:var(--radius-s);
  background:var(--matcha-badge-bg); color:var(--matcha-badge-text);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-weight:700; line-height:1.1;
}
.session-date-badge .day{ font-size:18px; }
.session-date-badge .month{ font-size:10.5px; text-transform:uppercase; }
.session-body{ flex:1; }
.session-body h4{ margin:0 0 6px; font-size:14.5px; }
.session-chips{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.session-chip{ font-size:11.5px; font-weight:700; padding:3px 10px; border-radius:var(--radius-pill); }
.session-chip.chip-teacher{ background:var(--stat-green-bg); color:var(--stat-green); }
.session-chip.chip-bonus{ background:var(--stat-blue-bg); color:var(--stat-blue); }
.session-chip.chip-participation{ background:var(--stat-orange-bg); color:var(--stat-orange); }
.session-comment{ font-size:13.5px; color:var(--text-muted); margin:0; }

.empty-state{
  text-align:center;
  padding:30px 20px;
  color:var(--text-faint);
  font-size:14px;
}
