
:root{--hs-blue:#2f80ed;--hs-green:#29b36a;--hs-orange:#f59e0b;--hs-purple:#7c5ce5;--hs-text:#183153;--hs-muted:#708096;--hs-line:#e5edf6}
.hs-page{max-width:1220px;margin:0 auto;padding:22px 18px 40px;color:var(--hs-text);font-family:Inter,Segoe UI,Arial,sans-serif;box-sizing:border-box}.hs-page *{box-sizing:border-box}.hs-page h1,.hs-page h2,.hs-page h3{color:#17365f}.hs-eyebrow{font-size:12px;letter-spacing:.12em;font-weight:800;color:#2f80ed;margin-bottom:7px}.hs-page-head{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 20px}.hs-page-head h1{font-size:30px;margin:0 0 6px;line-height:1.18}.hs-page-head p{margin:0;color:var(--hs-muted)}
.hs-card,.hs-panel,.hs-auth-card,.hs-profile-card,.hs-form-card,.hs-table-card{background:#fff;border:1px solid var(--hs-line);border-radius:18px;box-shadow:0 8px 28px rgba(34,69,112,.06)}.hs-welcome-card{min-height:168px;border-radius:22px;padding:26px 28px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:linear-gradient(135deg,#edf8ff 0%,#f7fbff 48%,#eefcf6 100%);border:1px solid #dcecf7;position:relative;overflow:hidden}.hs-welcome-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-70px;bottom:-120px;background:rgba(63,169,245,.11)}.hs-welcome-card h1{font-size:31px;margin:4px 0 8px}.hs-welcome-card p{margin:0;color:#5d718d}.hs-welcome-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.hs-welcome-meta span{background:#fff;border:1px solid #e0eaf4;border-radius:999px;padding:7px 11px;font-size:13px}
.hs-status{position:relative;z-index:1;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;white-space:nowrap}.hs-status-approved{background:#dcfce7;color:#166534}.hs-status-pending{background:#fef3c7;color:#92400e}.hs-status-suspended{background:#fee2e2;color:#991b1b}.hs-alert{margin-top:16px;padding:14px 16px;border-radius:13px;border:1px solid}.hs-alert-warning{background:#fff8eb;border-color:#fed7aa;color:#8a4b0f}
.hs-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.hs-stat-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.hs-stat-card{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--hs-line);border-radius:16px;background:#fff;min-height:92px}.hs-stat-card span{display:block;color:var(--hs-muted);font-size:13px;margin-bottom:4px}.hs-stat-card b{font-size:21px;color:#17365f}.hs-stat-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:900;color:#fff;flex:0 0 48px}.hs-stat-blue .hs-stat-icon{background:#4b8df8}.hs-stat-green .hs-stat-icon{background:#36b97b}.hs-stat-orange .hs-stat-icon{background:#f5a623}.hs-stat-purple .hs-stat-icon{background:#8066d9}
.hs-panel{padding:20px;margin-top:18px}.hs-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:15px}.hs-panel-head h2{margin:0 0 4px;font-size:21px}.hs-panel-head p{margin:0;color:var(--hs-muted);font-size:14px}.hs-panel-head>a{text-decoration:none;color:#2d72d9;font-weight:700;white-space:nowrap}.hs-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hs-card-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.hs-exam-card{border:1px solid #e2eaf3;border-radius:16px;padding:17px;background:#fff;box-shadow:0 5px 18px rgba(26,63,103,.045)}.hs-exam-card h3{font-size:17px;line-height:1.4;margin:13px 0 10px;min-height:47px}.hs-exam-top{display:flex;justify-content:flex-end}.hs-badge{font-size:10px;font-weight:900;letter-spacing:.04em;border-radius:999px;padding:5px 8px}.hs-badge-official{background:#fff0ef;color:#ca3c35}.hs-badge-practice{background:#eafaf1;color:#1c8a52}.hs-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.hs-meta span{background:#f3f6fa;border-radius:7px;padding:5px 7px;font-size:12px;color:#5f7187}
.hs-btn{border:0;border-radius:10px;padding:10px 16px;text-decoration:none;font-weight:800;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;font-size:13px}.hs-btn-primary{background:#1f5ea8;color:#fff}.hs-btn-primary:hover{background:#174f90;color:#fff}.hs-btn-disabled{background:#eef2f7;color:#7d8ca0;cursor:not-allowed}.hs-btn-block{width:100%}.hs-btn-lg{padding:13px 20px;font-size:14px}.hs-subject-list{display:flex;gap:8px;flex-wrap:wrap}.hs-subject-list span{background:#eff6ff;color:#205da0;border:1px solid #d8e9ff;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:700}
.hs-empty{padding:35px;text-align:center}.hs-empty h2{margin:5px 0 8px}.hs-empty p{color:var(--hs-muted)}.hs-empty-icon{font-size:38px}.hs-empty-inline{grid-column:1/-1;text-align:center;border:1px dashed #cad7e6;border-radius:14px;padding:25px;color:var(--hs-muted);background:#fbfdff}
.hs-auth-layout{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(520px,1.6fr);gap:24px;align-items:start;max-width:1100px;margin:10px auto}.hs-auth-intro{padding:30px 16px}.hs-auth-intro h1{font-size:36px;line-height:1.15;margin:6px 0 14px}.hs-auth-intro p{font-size:16px;line-height:1.65;color:var(--hs-muted)}.hs-auth-note{margin-top:20px;background:#edf7ff;border:1px solid #d7eaff;border-radius:14px;padding:14px;color:#315f8f;line-height:1.55}.hs-auth-card{padding:26px}.hs-form label,.hs-label{display:block;font-size:13px;font-weight:800;color:#334e70}.hs-form label>span,.hs-label>span{color:#df3d3d}.hs-form input,.hs-form select{width:100%;display:block;border:1px solid #cfdbea;border-radius:10px;padding:11px 12px;margin-top:7px;background:#fff;color:#183153;font-size:14px;outline:none}.hs-form input:focus,.hs-form select:focus{border-color:#67a8f5;box-shadow:0 0 0 3px rgba(47,128,237,.1)}.hs-grid2{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px}.hs-field-block{margin:8px 0 18px}.hs-chip-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.hs-chip input{position:absolute;opacity:0;pointer-events:none}.hs-chip span{display:block;border:1px solid #d4dfeb;background:#f9fbfd;border-radius:999px;padding:8px 12px;font-size:13px;cursor:pointer}.hs-chip input:checked+span{background:#1f5ea8;border-color:#1f5ea8;color:#fff}
.hs-profile-grid{display:grid;grid-template-columns:310px 1fr;gap:18px}.hs-profile-card{padding:24px;text-align:center}.hs-profile-avatar{width:82px;height:82px;border-radius:50%;margin:0 auto 12px;background:linear-gradient(135deg,#5f9cf2,#2b67b8);display:flex;align-items:center;justify-content:center;color:#fff;font-size:31px;font-weight:900}.hs-profile-card h2{margin:5px 0}.hs-code{display:inline-block;background:#eff6ff;border-radius:999px;padding:6px 11px;color:#2765a8;font-weight:800}.hs-profile-lines{margin:22px 0;text-align:left;border-top:1px solid #edf1f6}.hs-profile-lines>div{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f6}.hs-profile-lines span{color:var(--hs-muted);font-size:13px}.hs-profile-lines b{font-size:13px;text-align:right}.hs-form-card{padding:24px}.hs-form-card h2{margin-top:0}.hs-muted{color:var(--hs-muted)}
.hs-table-card{overflow:hidden}.hs-table-wrap{overflow-x:auto}.hs-table{width:100%;border-collapse:collapse;min-width:700px}.hs-table th{background:#f5f8fc;text-align:left;padding:12px 14px;font-size:12px;color:#62768f;text-transform:uppercase;letter-spacing:.03em}.hs-table td{padding:13px 14px;border-top:1px solid #edf1f5;font-size:13px}.hs-table-empty{text-align:center!important;color:var(--hs-muted);padding:28px!important}.hs-result-status{display:inline-block;background:#eef3f8;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.hs-score{font-size:17px;color:#225fa5}
@media(max-width:980px){.hs-card-grid,.hs-card-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.hs-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hs-auth-layout{grid-template-columns:1fr}.hs-auth-intro{padding:10px 4px}.hs-profile-grid{grid-template-columns:1fr}}
@media(max-width:640px){.hs-page{padding:15px 10px 30px}.hs-page-head h1,.hs-welcome-card h1{font-size:25px}.hs-welcome-card{padding:20px;flex-direction:column}.hs-stat-grid,.hs-stat-grid-3,.hs-card-grid,.hs-card-grid-wide,.hs-grid2{grid-template-columns:1fr}.hs-auth-card,.hs-form-card,.hs-profile-card,.hs-panel{padding:17px}.hs-auth-intro h1{font-size:30px}.hs-stat-card{min-height:82px}}
/* ===== v2.2.0: PHÒNG THI / KẾT QUẢ / PHÂN TÍCH ===== */
.hs-exam-page{max-width:1080px}.hs-exam-toolbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff;border:1px solid #dfe8f3;border-radius:18px;padding:16px 18px;margin-bottom:14px;box-shadow:0 8px 25px rgba(30,70,120,.08)}.hs-exam-toolbar h1{font-size:23px;margin:2px 0 5px}.hs-exam-student{font-size:13px;color:#6b7d93}.hs-timer-box{min-width:180px;text-align:center;background:#f0f7ff;border:1px solid #d6e9ff;border-radius:14px;padding:10px 14px}.hs-timer-box span,.hs-timer-box small{display:block;font-size:12px;color:#627993}.hs-timer-box b{display:block;font-size:30px;line-height:1.1;color:#185ca7;margin:3px 0}.hs-timer-box b.hs-timer-danger{color:#d03030}.hs-exam-warning{border:1px solid #cfe2f7;background:#f5faff;color:#315d88;border-radius:12px;padding:11px 14px;margin-bottom:15px;font-size:13px}
.hs-exam-section{background:#fff;border:1px solid #e0e9f3;border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:0 5px 18px rgba(33,70,110,.04)}.hs-section-title{font-size:18px;font-weight:900;color:#173d71;border-bottom:2px solid #e9f1fa;padding-bottom:10px;margin-bottom:8px}.hs-section-instructions{color:#6f7f91;font-style:italic;margin-bottom:12px}.hs-question{border-top:1px solid #edf2f7;padding:18px 0}.hs-question:first-of-type{border-top:0}.hs-question-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.hs-question-head>b{color:#174f8f;font-size:16px}.hs-question-head>span{font-size:12px;color:#6f8197;background:#f2f6fa;padding:4px 8px;border-radius:999px}.hs-question-content{font-size:15px;line-height:1.68;color:#172b47}.hs-subquestions{margin:8px 0 8px 18px}.hs-subquestions>div{margin:5px 0}.hs-question-image,.hs-option-image{text-align:center;margin:12px 0}.hs-question-image img{max-width:92%;max-height:420px;object-fit:contain}.hs-option-image img{max-width:70%;max-height:220px;object-fit:contain}
.hs-choice-list{display:grid;gap:8px;margin-top:12px}.hs-choice{display:grid;grid-template-columns:22px 34px 1fr;gap:8px;align-items:start;border:1px solid #dce6f0;border-radius:12px;padding:11px 12px;cursor:pointer;background:#fff}.hs-choice:hover{background:#f8fbff;border-color:#bcd6f3}.hs-choice input{margin-top:4px}.hs-choice-label{font-weight:900;color:#2364a8}.hs-choice-content{line-height:1.5}.hs-tf-list{display:grid;gap:9px;margin-top:12px}.hs-tf-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid #dde6ef;border-radius:12px;padding:11px 12px}.hs-tf-content{line-height:1.55}.hs-tf-actions{display:flex;gap:12px}.hs-tf-actions label{white-space:nowrap;font-weight:700;color:#35536f}.hs-text-answer{width:100%;margin-top:12px;border:1px solid #cfdbea;border-radius:12px;padding:12px 13px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.6;outline:none}.hs-text-answer:focus{border-color:#64a4ee;box-shadow:0 0 0 3px rgba(47,128,237,.09)}
.hs-submit-bar{position:sticky;bottom:10px;z-index:19;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid #d8e4f0;border-radius:16px;padding:14px 17px;box-shadow:0 8px 30px rgba(24,64,108,.16)}.hs-submit-bar small{display:block;color:#718399;margin-top:3px}.hs-result-wait{text-align:center;padding:45px}.hs-result-wait-icon{font-size:48px}.hs-result-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.hs-result-summary>div{background:#fff;border:1px solid #e0e9f2;border-radius:15px;padding:16px}.hs-result-summary span{display:block;color:#718399;font-size:12px}.hs-result-summary b{display:block;margin-top:5px;color:#173e72;font-size:18px}.hs-result-score b{font-size:28px;color:#225fa7}.hs-result-section{padding-top:16px}.hs-result-question{padding:15px;border:1px solid #e4ebf2;border-radius:14px;margin-top:12px}.hs-student-answer,.hs-correct-answer,.hs-explanation,.hs-teacher-comment{margin-top:9px;padding:9px 11px;border-radius:10px}.hs-student-answer{background:#f7f9fc;border-left:3px solid #7a8ca3}.hs-correct-answer{background:#eefaf3;border-left:3px solid #31a76a}.hs-explanation{background:#fff9ec;border-left:3px solid #efa927}.hs-teacher-comment{background:#f3efff;border-left:3px solid #7f62d9}.hs-table-link{font-weight:800;color:#2469b3;text-decoration:none}.hs-analysis-list{display:grid;gap:10px}.hs-analysis-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,2fr) 72px;gap:14px;align-items:center}.hs-analysis-name b{display:block}.hs-analysis-name span{display:block;font-size:12px;color:#7a899a;margin-top:2px}.hs-analysis-bar{height:10px;background:#edf2f7;border-radius:999px;overflow:hidden}.hs-analysis-bar i{display:block;height:100%;background:#478dde;border-radius:999px}.hs-analysis-percent{text-align:right;font-weight:900}.hs-analysis-percent.strong{color:#17844c}.hs-analysis-percent.medium{color:#b07813}.hs-analysis-percent.weak{color:#c43b3b}.hs-review-suggest{margin-top:15px;padding:12px 14px;border:1px solid #ffd9a2;background:#fff9ef;border-radius:12px;color:#7c5314}.hs-btn-light{background:#eef4fa;color:#315f90}
@media(max-width:760px){.hs-exam-toolbar{position:relative;flex-direction:column;align-items:stretch}.hs-timer-box{width:100%}.hs-tf-row{grid-template-columns:1fr}.hs-submit-bar{bottom:5px}.hs-result-summary{grid-template-columns:1fr 1fr}.hs-analysis-row{grid-template-columns:1fr 60px}.hs-analysis-bar{grid-column:1/-1;grid-row:2}.hs-analysis-percent{grid-column:2;grid-row:1}}
@media(max-width:520px){.hs-result-summary{grid-template-columns:1fr}.hs-submit-bar{flex-direction:column;align-items:stretch}.hs-submit-bar .hs-btn{width:100%}}
.hs-question-taxonomy{display:inline-block;margin-top:7px;font-size:12px;color:#65788f;background:#f3f6f9;padding:4px 8px;border-radius:999px}.hs-answer-status{display:inline-block;margin-top:9px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.hs-answer-status.ok{background:#dcfce7;color:#166534}.hs-answer-status.no{background:#fee2e2;color:#991b1b}.hs-answer-status.wait{background:#fef3c7;color:#92400e}


/* ===== v2.2.1: ĐĂNG KÝ HỌC SINH ===== */
.hs-register-layout{align-items:start}
.hs-register-card{max-width:920px}
.hs-form-section{border:1px solid #e1e9f2;border-radius:14px;padding:16px;margin-bottom:14px;background:#fff}
.hs-form-section-title{font-weight:900;color:#174f8f;font-size:16px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #edf2f7}
.hs-register-confirm{margin:12px 0 15px;padding:11px 13px;border-radius:10px;background:#f7faff;border:1px solid #dfeaf7;color:#536d89;font-size:13px;line-height:1.5}
@media(max-width:760px){
 .hs-register-page{padding:10px!important}
 .hs-register-layout{display:block!important}
 .hs-auth-intro,.hs-auth-card{width:100%!important;max-width:none!important}
 .hs-auth-intro{margin-bottom:12px}
 .hs-grid2{grid-template-columns:1fr!important}
 .hs-chip-grid{grid-template-columns:1fr 1fr!important}
 .hs-form-section{padding:12px}
}
@media(max-width:420px){
 .hs-chip-grid{grid-template-columns:1fr!important}
}


/* ===== v2.2.3: LEGACY PROFILE MIGRATION ===== */
.hs-account-existing input[disabled],
.hs-account-existing input[readonly]{
  background:#f4f7fb;
  color:#52677f;
  cursor:not-allowed;
}
.hs-profile-warning{
  margin-bottom:16px;
  border:1px solid #f2cf75;
  background:#fff9e9;
}
.hs-profile-warning h2{
  margin:0 0 8px;
  color:#8a5c00;
}
.hs-profile-warning p{
  margin:0 0 12px;
}
.hs-status-icon{
  width:54px;
  height:54px;
  margin:0 auto 12px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e8f7ee;
  color:#1f8f4d;
  font-size:28px;
  font-weight:900;
}


/* ===== v2.2.6: PROFILE LOCK / EDIT / HOME ===== */
.hs-profile-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.hs-profile-head-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.hs-btn-outline{
  background:#fff;
  color:#1f5ea8;
  border:1px solid #b9cee7;
}
.hs-form-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.hs-profile-edit-form input[readonly]{
  background:#f4f7fb;
  color:#536a83;
  cursor:default;
}
.hs-profile-edit-form.is-editing input:not([readonly]){
  background:#fff;
  color:#102f54;
}
.hs-profile-form-actions{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:10px;
}
.hs-profile-form-actions button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:760px){
  .hs-profile-page-head,
  .hs-form-title-row{
    display:block;
  }
  .hs-profile-head-actions,
  .hs-form-title-row .hs-btn{
    margin-top:12px;
  }
}


/* ===== v2.2.7: SUBJECT GROUP / EDIT ===== */
.hs-profile-subject-editor{
  margin-top:12px;
  padding:12px;
  border:1px solid #dfe8f2;
  border-radius:12px;
  background:#f9fbfd;
}
.hs-profile-subject-editor .hs-chip:has(input:disabled){
  opacity:.72;
  cursor:default;
}
.hs-subject-note{
  margin-top:8px;
  font-size:12px;
}


/* ===== v2.2.8: STUDY INFO / TIMETABLE / MESSAGES ===== */
.hs-study-summary{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e3ebf4;
}
.hs-study-summary-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
}
.hs-study-summary-row span{color:#71849a}
.hs-timetable-card{margin-top:16px}
.hs-timetable-head h2{margin:0 0 5px}
.hs-timetable-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.hs-timetable-day{
  border:1px solid #dce7f2;
  border-radius:11px;
  padding:10px;
  background:#f9fbfd;
  min-height:88px;
}
.hs-timetable-day strong{
  display:block;
  color:#174f8f;
  margin-bottom:7px;
}
.hs-timetable-day span{
  white-space:pre-line;
  font-size:12px;
  line-height:1.45;
  color:#4f647a;
}
.hs-message-list{display:grid;gap:12px}
.hs-message-item{padding:16px}
.hs-message-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  border-bottom:1px solid #e8eef5;
  padding-bottom:10px;
  margin-bottom:10px;
}
.hs-message-top h2{margin:0;font-size:17px}
.hs-message-top span{font-size:12px;color:#7a8ca0}
.hs-message-body{line-height:1.65;color:#2f465f}
@media(max-width:900px){
  .hs-timetable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v2.2.8: Thời khóa biểu chuyển sang trang chủ học sinh; hồ sơ chỉ giữ Ngày bắt đầu học. */
