:root{--bg:#f4f6fb;--panel:#fff;--ink:#1f2937;--muted:#6b7280;--brand:#0f766e;--brand2:#115e59;--line:#d1d5db;--danger:#b91c1c;--nav:#0f172a}*{box-sizing:border-box}body{margin:0;font-family:Arial,'Times New Roman',sans-serif;background:var(--bg);color:var(--ink);font-size:14px}.app{display:flex;min-height:100vh}.sidebar{width:245px;background:var(--nav);color:white;position:fixed;left:0;top:0;bottom:0;padding:16px 12px;display:flex;flex-direction:column}.brand{font-weight:700;font-size:16px;padding:10px;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:10px;display:flex;gap:10px;align-items:center}.brand img{width:42px;height:42px;flex:0 0 42px}.brand span{display:block;font-size:12px;color:#cbd5e1;margin-top:5px}.sidebar nav{flex:1}.sidebar a{display:block;color:#e5e7eb;text-decoration:none;padding:10px 12px;border-radius:9px;margin:3px 0}.sidebar a:hover,.sidebar a.active{background:var(--brand)}.author{font-size:12px;color:#cbd5e1;border-top:1px solid rgba(255,255,255,.15);padding:12px 10px}.content{margin-left:245px;flex:1;padding:18px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.top h1{margin:0;font-size:25px;color:#0f172a}.panel{background:var(--panel);border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin-bottom:16px;box-shadow:0 4px 16px rgba(15,23,42,.06)}.panel h2{margin:0 0 12px;font-size:18px;color:#0f172a}.panel h3{margin:14px 0 7px;font-size:15px}.grid{display:grid;gap:14px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(135deg,#0f766e,#164e63);color:white;border-radius:14px;padding:18px}.card b{font-size:30px;display:block}.card span{opacity:.9}.hero{display:flex;gap:14px;align-items:center}.hero-logo img{width:72px;height:72px}.split{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px}.wide{overflow:auto}.form label,.toolbar label{display:block;font-weight:600;margin:9px 0 4px}.form input,.form select,.form textarea,.toolbar select,.toolbar input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:14px;background:white}.form textarea{min-height:78px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.quick{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}button,.btn{display:inline-block;border:0;background:var(--brand);color:white;padding:9px 13px;border-radius:9px;text-decoration:none;cursor:pointer;font-weight:600}button:hover,.btn:hover{background:var(--brand2)}.btn.secondary,button.secondary{background:#475569}.danger{background:var(--danger);padding:6px 9px}table{width:100%;border-collapse:collapse;background:white}th,td{border:1px solid #d1d5db;padding:7px;vertical-align:top}th{background:#eef2f7;text-align:center}td small{color:#475569}.group td{background:#e0f2fe!important;font-weight:700;color:#075985}.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.toolbar label{flex:1;min-width:220px}.flash{background:#ecfdf5;border:1px solid #34d399;color:#065f46;padding:10px 12px;border-radius:10px;margin-bottom:14px}.steps li{margin:6px 0}.no-print{display:block}.print-page{width:297mm;min-height:200mm;background:white;margin:8px auto;padding:8mm;font-family:'Times New Roman',serif;color:#000}.print-page.landscape{width:297mm}.print-page h2{text-align:center;margin:8px 0 12px;font-size:18px}.print-table{border-collapse:collapse;width:100%;font-size:12px}.print-table th,.print-table td{border:1px solid #000;padding:4px;vertical-align:middle}.print-table th{background:#fff;font-weight:bold}.print-table.no-border td,.print-table.no-border th{border:0}.school-head{margin-bottom:4px}.school-brand{display:flex;gap:10px;align-items:center}.school-brand img{width:48px;height:48px}.school-left{text-align:left}.center{text-align:center}.total td,.total{font-weight:bold}.sign{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;text-align:center;margin-top:20px;font-weight:bold}.soft-note{text-align:right;font-style:italic;font-size:11px;margin-top:14px;color:#444}.print-actions a,.print-actions button{margin-right:8px}.print-actions a{background:#475569;color:#fff;text-decoration:none;padding:8px 12px;border-radius:7px}.print-actions button{padding:8px 12px;border-radius:7px}@media(max-width:1000px){.sidebar{position:static;width:auto}.app{display:block}.content{margin-left:0}.split,.cards{grid-template-columns:1fr}.top{display:block}.hero{align-items:flex-start}}@media print{body{background:white}.no-print,.print-actions,.sidebar,.top{display:none!important}.content{margin:0;padding:0}.print-page{margin:0;padding:0;width:auto;min-height:auto}.panel{box-shadow:none;border:0}.print-table{font-size:11.5px}a{color:#000;text-decoration:none}}

/* V1.2 - tối ưu vùng thông tin trường và mẫu in giống form Excel */
.sidebar{width:285px;padding:14px 12px}.content{margin-left:285px}.brand.school-sidebar{display:flex;align-items:flex-start;gap:10px;padding:10px 8px 14px}.brand.school-sidebar img{width:44px;height:44px;margin-top:2px}.brand.school-sidebar b{display:block;font-size:13px;line-height:1.25;text-transform:uppercase}.brand.school-sidebar span{display:block;font-size:12px;line-height:1.25;color:#dbeafe;margin-top:3px}.brand.school-sidebar .app-ver{margin-top:8px;color:#f8fafc;font-weight:700}.author{line-height:1.45}.top-meta{text-align:right;line-height:1.5}.school-print-left{font-size:12px;line-height:1.35;text-transform:uppercase}.school-print-left b{font-size:12.5px}.republic{font-size:12px;line-height:1.45}.school-head td{padding:2px 4px}.plan-head h2{margin:0 0 4px;font-size:18px}.print-page h2{letter-spacing:.2px}.soft-note{font-size:10.5px}
@media(max-width:1000px){.sidebar{width:auto}.content{margin-left:0}.top-meta{text-align:left;margin-top:6px}}
@media print{.content{margin-left:0}.school-print-left{font-size:11.5px}.republic{font-size:11.5px}.brand.school-sidebar{display:none}}

/* V1.3 - logo trường, thông tin tác giả và bảng số giờ trên tuần */
.brand.school-sidebar{min-height:128px;gap:12px;align-items:flex-start}.brand.school-sidebar img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}.brand.school-sidebar b{font-size:13px;line-height:1.18}.brand.school-sidebar span{font-size:12px}.author{min-height:86px}.author b{font-size:12.5px}.school-print-brand{display:flex;align-items:center;gap:8px}.school-print-brand img{width:48px;height:48px;object-fit:contain}.weekly-table{font-size:11px}.weekly-table th,.weekly-table td{padding:3px 4px}.weekly-table .week-no{min-width:22px;font-size:10px}.weekly-table .week-cell{min-width:22px;font-weight:600}.weekly-table th span{color:#dc2626;font-weight:700}.weekly-table .total{font-weight:700}.week-hint{font-size:12px;color:#475569}.print-page .weekly-table{font-size:10px}.print-page .weekly-table th,.print-page .weekly-table td{padding:2px 3px}
@media print{.school-print-brand img{width:42px;height:42px}.weekly-table{font-size:8.5px}.weekly-table th,.weekly-table td{padding:1px 2px}.weekly-table .week-no,.weekly-table .week-cell{min-width:15px}.print-page h2{font-size:17px}}

/* V1.6 - bố cục menu chuyên nghiệp, mẫu in bỏ logo/SĐT và bám form Excel */
.sidebar{width:300px;padding:18px 16px;background:linear-gradient(180deg,#0b1224,#111827)}
.content{margin-left:300px}.brand.school-sidebar{min-height:auto;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);border-radius:16px;padding:14px 12px;margin-bottom:16px;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.brand.school-sidebar .brand-logo{width:62px;height:62px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;padding:4px;box-shadow:0 4px 12px rgba(0,0,0,.25);flex:0 0 62px}.brand.school-sidebar .brand-logo img{width:54px;height:54px;margin:0;background:transparent;padding:0;border-radius:50%;object-fit:contain}.brand.school-sidebar .brand-text b{font-size:14px;line-height:1.18;letter-spacing:.2px}.brand.school-sidebar .brand-text span{font-size:12px;line-height:1.25;color:#e2e8f0;margin-top:4px;text-transform:uppercase}.brand.school-sidebar .brand-text em{display:inline-block;margin-top:9px;color:#fff;background:#0f766e;border-radius:999px;padding:4px 9px;font-size:11.5px;font-style:normal;font-weight:700}.sidebar nav{padding-top:8px;border-top:1px solid rgba(255,255,255,.12)}.sidebar a{padding:11px 12px;border-radius:10px;margin:4px 0}.sidebar a.active{box-shadow:inset 3px 0 0 #5eead4}.author{border-top:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);border-radius:14px;padding:14px 12px;min-height:auto}.author span{display:block;color:#cbd5e1;margin-bottom:4px}.author b{display:block;color:#fff;font-size:13.5px}.author span:last-child{margin-top:4px;color:#e2e8f0}.top-meta{font-size:13px;color:#0f172a}.panel{border-radius:16px}.top h1{font-size:26px}

.excel-print{font-family:'Times New Roman',serif;font-size:13px}.excel-print h2{font-size:22px;margin:8px 0 10px;text-align:center;text-transform:uppercase}.excel-print h3{text-align:center;margin:0 0 8px;font-size:16px;font-style:italic}.excel-head{margin-bottom:8px}.excel-school{text-align:center;line-height:1.35;font-size:15px}.excel-head .republic{font-size:15px;line-height:1.35}.meta-table td{font-size:14px;padding:3px 4px}.excel-table th,.excel-table td{border:1px solid #000;padding:4px 5px;vertical-align:middle}.excel-table th{background:#fff;font-weight:bold;text-align:center}.excel-table td{text-align:left}.excel-table .center,.excel-table td.center{text-align:center}.excel-table .total td,.excel-table tr.total td{font-weight:bold;text-align:center}.col-no td{text-align:center;font-size:12px}.date-line{text-align:right;margin-top:14px;font-style:italic;font-size:14px}.word-line{font-size:15px;margin:8px 0}.sign{margin-top:18px;font-size:15px}.sign3{grid-template-columns:1fr 1fr 1fr}.sign4{grid-template-columns:1fr 1fr 1fr 1fr}.sign5{grid-template-columns:1fr 1fr 1fr 1fr 1fr}.w-date{width:95px}.w-small{width:78px}.w-total{width:70px}.w-note{width:90px}.w-lesson{width:295px}.w-equipment{width:260px}.w-plan-content{width:330px}.w-subject{width:260px}.w-class{width:150px}.plan-head h2{font-size:22px;margin:0 0 4px}.plan-meta{font-size:15px;line-height:1.65}.plan-info{width:66%;margin:18px 0 12px 75px;font-size:16px}.plan-info td{padding:3px}.plan-table th span{font-weight:normal;font-size:12px}.red-title{color:red!important;font-size:21px!important;text-transform:none!important}.weekly-print .excel-head{margin-bottom:2px}.weekly-table th{background:#ddd!important}.weekly-table td,.weekly-table th{border:1px solid #000}.summary-print h2,.exam-print h2,.chamcong-print h2{margin-top:10px}.summary-print p,.exam-print p{font-size:15px;margin:8px 0}.summary-table th{font-size:13px}.summary-table small{font-weight:normal;color:#000}.exam-table th,.exam-table td{font-size:13px}.chamcong-table th,.chamcong-table td,.plan-table th,.plan-table td{font-size:13px}
@media(max-width:1000px){.sidebar{width:auto}.content{margin-left:0}.brand.school-sidebar .brand-logo{width:54px;height:54px;flex-basis:54px}.brand.school-sidebar .brand-logo img{width:48px;height:48px}}
@media print{.content{margin-left:0}.print-page{padding:0;width:100%;max-width:100%}.excel-print{font-size:12px}.excel-print h2{font-size:21px}.excel-head .republic,.excel-school{font-size:14px}.meta-table td{font-size:13px}.excel-table th,.excel-table td{padding:3px 4px}.sign{font-size:14px}.weekly-table{font-size:8px!important}.weekly-table th,.weekly-table td{padding:1px 2px!important}.red-title{font-size:19px!important}.soft-note{display:none!important}.school-print-brand img{display:none!important}}
.grid4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px}.hint{background:#fefce8;border:1px solid #fde68a;border-radius:9px;padding:8px 10px;color:#713f12;font-size:13px;line-height:1.35}
@media(max-width:700px){.grid4{grid-template-columns:1fr 1fr}}

.notice.small{font-size:13px;line-height:1.45;background:#eefbf6;border:1px solid #b9ead6;border-radius:8px;padding:10px;margin:8px 0 14px;color:#123;}
.small-note{font-size:12px;font-style:italic;margin:4px 0 8px;}


/* V1.9 - mẫu in coi/chấm thi bám file Excel: đủ nhóm Soạn đề/Coi thi/Chấm thi, cột nhỏ để vừa A4 ngang */
.exam-print{padding-left:6mm!important;padding-right:6mm!important}
.exam-table{table-layout:fixed;width:100%;font-size:12px!important}
.exam-table th,.exam-table td{font-size:12px!important;padding:3px 4px!important;line-height:1.15}
.exam-table .w-date{width:95px}.exam-table .w-subject{width:235px}.exam-table .w-class{width:145px}.exam-table .w-small{width:74px}
.exam-table th:not(.w-date):not(.w-subject):not(.w-class):not(.w-small){width:43px}
.exam-print .word-line{font-size:16px;margin:8px 0 22px 0}
@media print{.exam-print{padding:0!important}.exam-table th,.exam-table td{font-size:11px!important;padding:2px 3px!important}.exam-print h2{font-size:20px!important}}


/* V1.10 - sửa lỗi cụm cột Nội dung công việc bị bó hẹp khi in coi/chấm thi */
.exam-table{table-layout:fixed;width:100%;border-collapse:collapse;}
.exam-table col.c-date{width:90px;}
.exam-table col.c-subject{width:250px;}
.exam-table col.c-class{width:145px;}
.exam-table col.c-work{width:38px;}
.exam-table col.c-qd{width:64px;}
.exam-table col.c-rate{width:78px;}
.exam-table col.c-money{width:90px;}
.exam-table th,.exam-table td{white-space:normal;word-break:normal;overflow-wrap:normal;text-align:center;vertical-align:middle;}
.exam-table td:nth-child(2), .exam-table td:nth-child(3){text-align:left;}
.exam-table .w-date,.exam-table .w-subject,.exam-table .w-class,.exam-table .w-small{width:auto!important;}
.exam-table th:not(.w-date):not(.w-subject):not(.w-class):not(.w-small){width:auto!important;}
.exam-print{padding-left:4mm!important;padding-right:4mm!important;}
@media print{
  .exam-print{padding:0!important;}
  .exam-table th,.exam-table td{font-size:10.5px!important;padding:2px 2px!important;line-height:1.08!important;}
}
.checkline{display:inline-flex!important;align-items:center;gap:6px;width:auto!important;margin:0 8px 0 0!important;font-weight:700}
.checkline input{width:auto!important;margin:0!important}
.print-filter{align-items:center;gap:10px;margin-bottom:12px}

.req{color:#c91f1f;font-weight:800}

/* V1.18 - đăng nhập, phân quyền, sao lưu */
.login-body{min-height:100vh;margin:0;display:flex;align-items:center;justify-content:center;background:#0f172a;font-family:Arial,Helvetica,sans-serif;color:#0f172a}
.login-card{width:420px;max-width:92vw;background:#fff;border-radius:18px;padding:28px;box-shadow:0 22px 55px rgba(0,0,0,.35);text-align:center}
.login-logo img{width:84px;height:84px;object-fit:contain;margin-bottom:10px}
.login-card h1{margin:8px 0 6px;font-size:24px}
.login-card p{line-height:1.45;color:#334155}
.login-card .form{text-align:left;margin-top:14px}
.badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:700;border:1px solid #bae6fd}
.req{color:#dc2626;font-weight:700}


/* V1.20: tối ưu menu trái cho màn hình thấp/nhiều chức năng */
.sidebar{height:100vh;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column}
.sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:#64748b transparent}
.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#64748b;border-radius:999px}.sidebar nav::-webkit-scrollbar-track{background:transparent}
.author{flex:0 0 auto;margin-top:10px}
.brand.school-sidebar{flex:0 0 auto}
.sidebar a{font-size:14px;line-height:1.15}
@media(max-height:780px){.sidebar{padding:10px 12px}.brand.school-sidebar{padding:10px;margin-bottom:8px}.brand.school-sidebar .brand-logo{width:54px;height:54px;flex-basis:54px}.brand.school-sidebar .brand-logo img{width:48px;height:48px}.brand.school-sidebar .brand-text b{font-size:12.5px}.brand.school-sidebar .brand-text span{font-size:11px}.brand.school-sidebar .brand-text em{font-size:11px;padding:3px 8px}.sidebar a{padding:8px 10px;margin:2px 0}.author{padding:10px;font-size:11.5px}}


/* V1.22 - làm mềm chữ tên trường và thêm thống kê truy cập/online ở ô tác giả */
.brand.school-sidebar{gap:14px;align-items:center;}
.brand.school-sidebar .brand-text b{
  font-family:'Segoe UI', 'Trebuchet MS', Arial, sans-serif!important;
  font-weight:800!important;
  letter-spacing:.15px!important;
  line-height:1.18!important;
  text-transform:none!important;
  font-size:15px!important;
  text-shadow:none!important;
}
.brand.school-sidebar .brand-text span{
  font-family:'Segoe UI', Arial, sans-serif!important;
  text-transform:none!important;
  letter-spacing:.1px!important;
  font-weight:650!important;
}
.brand.school-sidebar .brand-text em{font-family:'Segoe UI', Arial, sans-serif!important;}
.author{padding:12px!important;display:flex;flex-direction:column;gap:10px;}
.author-person span{display:block;color:#cbd5e1;margin-bottom:4px;}
.author-person b{display:block;color:#fff;font-size:14px;letter-spacing:.2px;}
.author-person span:last-child{margin-top:4px;color:#e2e8f0;}
.author-stats{display:grid;grid-template-columns:1fr;gap:6px;border-top:1px solid rgba(255,255,255,.14);padding-top:9px;}
.author-stats div{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:7px 9px;}
.author-stats span{margin:0!important;color:#cbd5e1;font-size:12px;}
.author-stats b{color:#5eead4;font-size:17px;line-height:1;min-width:32px;text-align:right;}
@media(max-height:780px){.author-stats div{padding:5px 8px}.author-stats b{font-size:15px}.brand.school-sidebar .brand-text b{font-size:13px!important}}


/* V1.23 - bố cục logo/tên trường gọn hơn, chỉ hiển thị số người online */
.brand.school-sidebar.brand-v123{
  display:block!important;
  padding:16px 14px!important;
  text-align:center;
}
.brand-v123 .brand-school-name{
  font-family:'Segoe UI',Arial,sans-serif;
  font-weight:800;
  font-size:18px;
  line-height:1.15;
  letter-spacing:.3px;
  color:#fff;
  text-transform:uppercase;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  margin-bottom:10px;
}
.brand-v123 .brand-campus-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:4px 0 8px;
}
.brand-v123 .brand-logo{
  width:64px!important;
  height:64px!important;
  flex:0 0 64px!important;
  margin:0!important;
}
.brand-v123 .brand-logo img{width:56px!important;height:56px!important;}
.brand-v123 .brand-campus{
  font-family:'Segoe UI',Arial,sans-serif;
  font-weight:750;
  font-size:16px;
  line-height:1.15;
  color:#f8fafc;
  text-transform:uppercase;
  text-align:left;
}
.brand-v123 .brand-department{
  font-family:'Segoe UI',Arial,sans-serif;
  font-weight:700;
  font-size:14px;
  color:#e2e8f0;
  text-transform:uppercase;
  margin:6px 0 10px;
}
.brand-v123 .brand-version{
  display:inline-block;
  background:#2f7d72;
  color:#fff;
  font-weight:800;
  border-radius:999px;
  padding:7px 18px;
  min-width:205px;
}
.author.author-v123{
  display:grid!important;
  grid-template-columns:1fr 90px;
  align-items:center;
  gap:14px;
  padding:18px 16px!important;
}
.author-v123 .author-person{min-width:0;}
.author-v123 .author-person span{font-size:13px;color:#cbd5e1;}
.author-v123 .author-person b{font-size:18px!important;line-height:1.25;}
.author-v123 .online-only{
  border-left:1px solid rgba(255,255,255,.18);
  padding-left:14px;
  text-align:center;
}
.author-v123 .online-only span{
  display:block;
  color:#cbd5e1;
  font-size:12px;
  margin-bottom:8px;
}
.author-v123 .online-only b{
  display:block;
  font-size:40px;
  line-height:1;
  color:#5eead4;
  font-weight:900;
}
@media(max-height:780px){
  .brand-v123 .brand-school-name{font-size:16px;}
  .brand-v123 .brand-logo{width:54px!important;height:54px!important;flex-basis:54px!important;}
  .brand-v123 .brand-logo img{width:48px!important;height:48px!important;}
  .brand-v123 .brand-campus{font-size:14px;}
  .brand-v123 .brand-department{font-size:12.5px;}
  .brand-v123 .brand-version{padding:5px 14px;font-size:12px;min-width:180px;}
  .author-v123 .online-only b{font-size:32px;}
}


/* V1.24 - sidebar gọn: bỏ logo trong khối thông tin trường, favicon vẫn dùng logo trường trên tab */
.brand.school-sidebar.brand-v124{
  display:block!important;
  padding:18px 16px!important;
  text-align:center;
  border-radius:22px;
}
.brand-v124 .brand-school-name{
  font-family:'Segoe UI',Arial,sans-serif;
  font-weight:820;
  font-size:17px;
  line-height:1.18;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.2px;
  margin-bottom:10px;
}
.brand-v124 .brand-campus{
  display:inline-block;
  font-family:'Segoe UI',Arial,sans-serif;
  font-weight:780;
  color:#f8fafc;
  text-transform:uppercase;
  font-size:14px;
  padding:5px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  margin-bottom:8px;
}
.brand-v124 .brand-department{
  font-family:'Segoe UI',Arial,sans-serif;
  font-weight:720;
  font-size:13px;
  color:#e2e8f0;
  text-transform:uppercase;
  margin:6px 0 10px;
}
.brand-v124 .brand-version{
  display:inline-block;
  background:#2f7d72;
  color:#fff;
  font-weight:800;
  border-radius:999px;
  padding:7px 18px;
  min-width:190px;
  font-size:13px;
}
.author.author-v124{
  display:grid!important;
  grid-template-columns:1fr 58px;
  align-items:center;
  gap:10px;
  padding:14px 14px!important;
}
.author-v124 .author-person span{display:block;color:#cbd5e1;font-size:12px;margin-bottom:3px;}
.author-v124 .author-person b{display:block;color:#fff;font-size:15px!important;line-height:1.2;}
.author-v124 .online-only{border-left:1px solid rgba(255,255,255,.18);padding-left:10px;text-align:center;}
.author-v124 .online-only span{display:block;color:#cbd5e1;font-size:11px;margin-bottom:5px;}
.author-v124 .online-only b{display:block;font-size:22px;line-height:1;color:#5eead4;font-weight:900;}
.actions{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap}.actions form{display:inline;margin:0}.mini{font-size:12px!important;padding:5px 8px!important;border-radius:7px!important}.muted-row{opacity:.55;background:#f8fafc!important}.danger-text{color:#7f1d1d!important;border-color:#fecaca!important;background:#fef2f2!important}
@media(max-height:780px){.brand-v124 .brand-school-name{font-size:15px}.brand-v124 .brand-campus{font-size:12.5px}.brand-v124 .brand-department{font-size:12px}.brand-v124 .brand-version{padding:5px 14px;font-size:12px;min-width:170px}.author-v124 .online-only b{font-size:19px}}

/* V1.25 - bố cục lại khối thông tin trường: gọn, cân khung, mềm hơn */
.brand.school-sidebar.brand-v125{
  display:block!important;
  padding:16px 16px 18px!important;
  border-radius:22px;
  background:linear-gradient(160deg, rgba(30,41,59,.92), rgba(15,23,42,.96));
  border:1px solid rgba(148,163,184,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 26px rgba(0,0,0,.18);
  text-align:left;
  overflow:hidden;
}
.brand-v125 .brand-school-name{
  font-family:'Segoe UI','Trebuchet MS',Arial,sans-serif;
  font-weight:800;
  font-size:15.5px;
  line-height:1.22;
  letter-spacing:.25px;
  text-transform:uppercase;
  color:#f8fafc;
  padding:8px 10px;
  border-radius:12px;
  background:linear-gradient(90deg, rgba(94,234,212,.13), rgba(59,130,246,.10));
  border-left:4px solid #5eead4;
  text-align:center;
  margin:0 0 10px;
  text-shadow:0 1px 1px rgba(0,0,0,.25);
}
.brand-v125 .brand-campus{
  font-family:'Segoe UI',Arial,sans-serif;
  font-size:13px;
  font-weight:750;
  color:#dbeafe;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:7px 10px;
  border-radius:12px;
  background:rgba(59,130,246,.10);
  border:1px solid rgba(147,197,253,.16);
  margin:0 0 8px;
}
.brand-v125 .brand-campus:before{content:'●';font-size:10px;color:#5eead4;}
.brand-v125 .brand-department{
  font-family:'Segoe UI',Arial,sans-serif;
  font-weight:760;
  font-size:12.5px;
  color:#fde68a;
  text-transform:uppercase;
  text-align:center;
  padding:7px 8px;
  border-radius:12px;
  background:rgba(245,158,11,.10);
  border:1px solid rgba(253,230,138,.14);
  margin:0 0 12px;
}
.brand-v125 .brand-version{
  display:block;
  width:100%;
  box-sizing:border-box;
  text-align:center;
  background:linear-gradient(90deg,#2f7d72,#4b9b8d);
  color:#fff;
  font-weight:850;
  border-radius:999px;
  padding:9px 14px;
  font-size:13.5px;
  letter-spacing:.15px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.author.author-v125{
  display:grid!important;
  grid-template-columns:1fr 54px;
  align-items:center;
  gap:10px;
  padding:14px 14px!important;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(148,163,184,.18);
}
.author-v125 .author-person span{display:block;color:#cbd5e1;font-size:12px;margin-bottom:3px;}
.author-v125 .author-person b{display:block;color:#fff;font-size:14.5px!important;line-height:1.2;}
.author-v125 .online-only{border-left:1px solid rgba(255,255,255,.16);padding-left:10px;text-align:center;}
.author-v125 .online-only span{display:block;color:#cbd5e1;font-size:10px;margin-bottom:5px;}
.author-v125 .online-only b{display:block;font-size:20px;line-height:1;color:#5eead4;font-weight:900;}
.inline-form{display:inline-block;margin:6px 0 0}.inline-form button{margin-top:0}
@media(max-height:780px){.brand-v125 .brand-school-name{font-size:14px;padding:6px 8px}.brand-v125 .brand-campus{font-size:12px;padding:6px 8px}.brand-v125 .brand-department{font-size:11.5px;padding:6px 8px}.brand-v125 .brand-version{font-size:12px;padding:7px 12px}.author-v125 .online-only b{font-size:18px}}

/* V1.26 - sidebar glass/watermark + font Việt rõ dấu, in chấm công lặp tiêu đề trang */
body,.form input,.form select,.form textarea,.toolbar select,.toolbar input,button,.btn{
  font-family:'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif!important;
}
.brand.school-sidebar.brand-v126{
  position:relative;
  display:block!important;
  min-height:300px;
  padding:0!important;
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(165deg,rgba(20,31,53,.94),rgba(8,15,31,.98));
  border:1px solid rgba(148,163,184,.30);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 16px 36px rgba(0,0,0,.26);
}
.brand-v126 .brand-watermark{
  position:absolute;
  left:50%;
  bottom:-18px;
  transform:translateX(-50%);
  width:220px;
  height:220px;
  opacity:.16;
  filter:saturate(1.06) contrast(1.04);
  pointer-events:none;
}
.brand-v126 .brand-watermark img{width:100%;height:100%;object-fit:contain;}
.brand-v126 .brand-glass{
  position:absolute;
  inset:18px 16px;
  border-radius:22px;
  padding:18px 16px;
  background:linear-gradient(180deg,rgba(15,23,42,.46),rgba(15,23,42,.30));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(2px);
  text-align:center;
}
.brand-v126 .brand-school-name{
  font-family:'Segoe UI',Roboto,Arial,sans-serif;
  font-weight:800;
  font-size:17px;
  line-height:1.18;
  letter-spacing:.2px;
  color:#ffffff;
  text-transform:uppercase;
  text-shadow:0 2px 3px rgba(0,0,0,.42);
  margin:2px 0 16px;
}
.brand-v126 .brand-campus{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:190px;
  font-family:'Segoe UI',Roboto,Arial,sans-serif;
  font-weight:760;
  font-size:14px;
  line-height:1.1;
  color:#e8f6ff;
  text-transform:uppercase;
  padding:9px 16px;
  border-radius:999px;
  background:rgba(37,99,235,.14);
  border:1px solid rgba(147,197,253,.22);
  margin-bottom:12px;
}
.brand-v126 .brand-campus:before{content:'•';font-size:18px;line-height:1;color:#5eead4;}
.brand-v126 .brand-department{
  font-family:'Segoe UI',Roboto,Arial,sans-serif;
  font-weight:760;
  font-size:13px;
  line-height:1.2;
  color:#fff3b0;
  text-transform:uppercase;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(245,158,11,.13);
  border:1px solid rgba(253,230,138,.20);
  margin:0 auto 16px;
}
.brand-v126 .brand-version{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  display:block;
  text-align:center;
  background:linear-gradient(90deg,rgba(35,120,108,.98),rgba(95,166,150,.98));
  color:#fff;
  font-weight:800;
  border-radius:999px;
  padding:10px 12px;
  font-size:14px;
  letter-spacing:.1px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 4px 12px rgba(0,0,0,.16);
}
.author.author-v126{
  display:grid!important;
  grid-template-columns:1fr 48px;
  align-items:center;
  gap:10px;
  padding:13px 14px!important;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.035));
  border:1px solid rgba(148,163,184,.20);
}
.author-v126 .author-person span{display:block;color:#cbd5e1;font-size:12px;margin-bottom:3px;}
.author-v126 .author-person b{display:block;color:#fff;font-size:14px!important;line-height:1.2;letter-spacing:.1px;}
.author-v126 .online-only{border-left:1px solid rgba(255,255,255,.16);padding-left:10px;text-align:center;}
.author-v126 .online-only span{display:block;color:#cbd5e1;font-size:9.5px;margin-bottom:4px;}
.author-v126 .online-only b{display:block;font-size:18px;line-height:1;color:#5eead4;font-weight:900;}
@media(max-height:820px){
  .brand.school-sidebar.brand-v126{min-height:250px;}
  .brand-v126 .brand-watermark{width:184px;height:184px;bottom:-14px;}
  .brand-v126 .brand-glass{inset:14px 12px;padding:14px 12px;}
  .brand-v126 .brand-school-name{font-size:15px;margin-bottom:11px;}
  .brand-v126 .brand-campus{font-size:12.5px;padding:7px 12px;min-width:165px;margin-bottom:8px;}
  .brand-v126 .brand-department{font-size:11.5px;padding:7px 10px;margin-bottom:12px;}
  .brand-v126 .brand-version{bottom:14px;font-size:12.5px;padding:8px 10px;}
}
.chamcong-table .w-date{width:105px}.chamcong-table .w-lesson{width:365px}.chamcong-table .w-note{width:105px}.chamcong-table .w-small{width:105px}.chamcong-table .w-total{width:86px}.chamcong-table td.lesson-cell{font-size:13.5px;line-height:1.25}
@media print{
  @page{size:A4 landscape;margin:8mm 7mm 8mm 7mm;}
  .print-page.landscape,.print-page{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;}
  .chamcong-print{font-family:'Times New Roman',Times,serif!important;}
  .chamcong-table{width:100%!important;table-layout:fixed;page-break-inside:auto;}
  .chamcong-table thead{display:table-header-group;}
  .chamcong-table tfoot{display:table-row-group;}
  .chamcong-table tr{page-break-inside:avoid;page-break-after:auto;}
  .chamcong-table th,.chamcong-table td{font-size:11.5px!important;padding:2px 3px!important;line-height:1.15!important;}
  .chamcong-table td.lesson-cell{font-size:12.2px!important;line-height:1.18!important;}
  .excel-print h2{font-size:20px!important;margin:6px 0 8px!important;}
  .meta-table td{font-size:12.5px!important;padding:2px 3px!important;}
}

/* V1.27 - header trường trong suốt, logo nền rõ hơn, không chia ô từng dòng */
.brand.school-sidebar.brand-v127{
  position:relative;
  display:block!important;
  min-height:300px;
  padding:0!important;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(150deg,rgba(12,19,38,.98),rgba(17,25,45,.96));
  border:1px solid rgba(148,163,184,.30);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 38px rgba(0,0,0,.28);
}
.brand-v127 .brand-watermark{
  position:absolute;
  left:50%;
  top:54%;
  transform:translate(-50%,-50%);
  width:245px;
  height:245px;
  opacity:.33;
  filter:saturate(1.08) contrast(1.05);
  pointer-events:none;
}
.brand-v127 .brand-watermark img{width:100%;height:100%;object-fit:contain;}
.brand-v127 .brand-glass{
  position:absolute;
  inset:18px 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:8px;
  text-align:center;
  border-radius:24px;
  padding:18px 16px;
  background:linear-gradient(180deg,rgba(15,23,42,.52),rgba(15,23,42,.30));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(1.2px);
}
.brand-v127 .brand-school-name,
.brand-v127 .brand-campus,
.brand-v127 .brand-department,
.brand-v127 .brand-version{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif!important;
  text-transform:none!important;
  color:#fff;
  text-shadow:0 2px 4px rgba(0,0,0,.55);
  letter-spacing:.1px;
}
.brand-v127 .brand-school-name{
  font-size:20px;
  line-height:1.18;
  font-weight:850;
  margin-bottom:2px;
}
.brand-v127 .brand-campus{
  font-size:17px;
  line-height:1.18;
  font-weight:780;
  color:#e8f6ff;
}
.brand-v127 .brand-campus:before{content:none!important;}
.brand-v127 .brand-department{
  font-size:15px;
  line-height:1.18;
  font-weight:780;
  color:#fff3b0;
  margin-top:2px;
}
.brand-v127 .brand-version{
  position:static!important;
  font-size:15px;
  line-height:1.18;
  font-weight:800;
  color:#e6fff8;
  margin-top:10px;
}
.author.author-v127{
  display:grid!important;
  grid-template-columns:1fr 42px;
  align-items:center;
  gap:10px;
  padding:12px 14px!important;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.035));
  border:1px solid rgba(148,163,184,.20);
}
.author-v127 .author-person span{display:block;color:#cbd5e1;font-size:12px;margin-bottom:3px;}
.author-v127 .author-person b{display:block;color:#fff;font-size:14px!important;line-height:1.2;letter-spacing:.1px;}
.author-v127 .online-only{border-left:1px solid rgba(255,255,255,.16);padding-left:10px;text-align:center;}
.author-v127 .online-only span{display:block;color:#cbd5e1;font-size:9.5px;margin-bottom:4px;}
.author-v127 .online-only b{display:block;font-size:17px;line-height:1;color:#5eead4;font-weight:900;}
@media(max-height:820px){
  .brand.school-sidebar.brand-v127{min-height:250px;}
  .brand-v127 .brand-watermark{width:205px;height:205px;}
  .brand-v127 .brand-glass{inset:14px 12px;padding:14px 12px;gap:6px;}
  .brand-v127 .brand-school-name{font-size:16px;}
  .brand-v127 .brand-campus{font-size:13.5px;}
  .brand-v127 .brand-department{font-size:12.5px;}
  .brand-v127 .brand-version{font-size:13px;margin-top:8px;}
}
/* Bản in chấm công: giữ dạng Excel, tên bài chỉ hiện tên, dòng tiêu đề tự lặp khi sang trang */
.chamcong-table td.lesson-cell{font-size:13.2px;line-height:1.22;}
@media print{
  .chamcong-table thead{display:table-header-group!important;}
  .chamcong-table tr{page-break-inside:avoid;}
  .chamcong-table td.lesson-cell{font-size:12px!important;line-height:1.18!important;}
}

/* V1.28 - rút gọn khối thông tin trường, logo xuyên thấu hơn để chừa diện tích cho menu */
.brand.school-sidebar.brand-v128{
  position:relative;
  display:block!important;
  min-height:196px;
  padding:0!important;
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(150deg,rgba(10,17,34,.88),rgba(17,25,45,.78));
  border:1px solid rgba(148,163,184,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 26px rgba(0,0,0,.22);
  margin-bottom:12px;
}
.brand-v128 .brand-watermark{
  position:absolute;
  left:50%;
  top:58%;
  transform:translate(-50%,-50%);
  width:205px;
  height:205px;
  opacity:.42;
  filter:saturate(1.08) contrast(1.04);
  pointer-events:none;
}
.brand-v128 .brand-watermark img{width:100%;height:100%;object-fit:contain;}
.brand-v128 .brand-glass{
  position:absolute;
  inset:10px 12px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  gap:4px;
  text-align:center;
  border-radius:18px;
  padding:14px 12px 10px;
  background:rgba(15,23,42,.16);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(.25px);
}
.brand-v128 .brand-school-name,
.brand-v128 .brand-campus,
.brand-v128 .brand-department,
.brand-v128 .brand-version{
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif!important;
  text-transform:none!important;
  color:#fff;
  text-shadow:0 2px 4px rgba(0,0,0,.70);
  letter-spacing:.08px;
}
.brand-v128 .brand-school-name{
  font-size:16px;
  line-height:1.16;
  font-weight:850;
  margin-top:0;
}
.brand-v128 .brand-campus{
  font-size:13.5px;
  line-height:1.12;
  font-weight:760;
  color:#eef7ff;
  margin-top:3px;
}
.brand-v128 .brand-campus:before{content:none!important;}
.brand-v128 .brand-department{
  font-size:12.5px;
  line-height:1.14;
  font-weight:760;
  color:#fff4b8;
  margin-top:4px;
}
.brand-v128 .brand-version{
  position:static!important;
  font-size:13px;
  line-height:1.14;
  font-weight:820;
  color:#effffb;
  margin-top:10px;
}
.author.author-v128{
  display:grid!important;
  grid-template-columns:1fr 42px;
  align-items:center;
  gap:10px;
  padding:12px 14px!important;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.035));
  border:1px solid rgba(148,163,184,.20);
}
.author-v128 .author-person span{display:block;color:#cbd5e1;font-size:12px;margin-bottom:3px;}
.author-v128 .author-person b{display:block;color:#fff;font-size:14px!important;line-height:1.2;letter-spacing:.1px;}
.author-v128 .online-only{border-left:1px solid rgba(255,255,255,.16);padding-left:10px;text-align:center;}
.author-v128 .online-only span{display:block;color:#cbd5e1;font-size:9.5px;margin-bottom:4px;}
.author-v128 .online-only b{display:block;font-size:17px;line-height:1;color:#5eead4;font-weight:900;}
@media(max-height:820px){
  .brand.school-sidebar.brand-v128{min-height:170px;}
  .brand-v128 .brand-watermark{width:178px;height:178px;top:60%;opacity:.40;}
  .brand-v128 .brand-glass{inset:8px 10px;padding:12px 10px 8px;gap:3px;}
  .brand-v128 .brand-school-name{font-size:14px;line-height:1.12;}
  .brand-v128 .brand-campus{font-size:12px;}
  .brand-v128 .brand-department{font-size:11px;}
  .brand-v128 .brand-version{font-size:11.8px;margin-top:7px;}
}

/* V1.29 - thu gọn cột trái, logo trọn vẹn, in kế hoạch/chấm công/tuần sát mẫu Excel hơn */
body{font-family:"Segoe UI",Arial,sans-serif!important;}
.sidebar{width:255px!important;padding:10px 10px!important;background:linear-gradient(180deg,#080d1d,#111827)!important;}
.content{margin-left:255px!important;padding:16px 18px!important;}
.brand.school-sidebar.brand-v129{height:185px!important;min-height:185px!important;margin:4px 0 10px!important;padding:0!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:18px!important;background:rgba(15,23,42,.28)!important;box-shadow:0 12px 28px rgba(0,0,0,.25)!important;overflow:hidden!important;position:relative!important;display:block!important;}
.brand-v129 .brand-watermark{position:absolute!important;inset:8px!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:.34!important;filter:none!important;}
.brand-v129 .brand-watermark img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;background:transparent!important;padding:0!important;margin:0!important;}
.brand-v129 .brand-glass{position:absolute!important;left:12px!important;right:12px!important;bottom:12px!important;top:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;text-align:center!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;gap:4px!important;}
.brand-v129 .brand-school-name{display:none!important;}
.brand-v129 .brand-campus,.brand-v129 .brand-department,.brand-v129 .brand-version{font-family:"Segoe UI",Arial,sans-serif!important;text-transform:none!important;letter-spacing:.1px!important;text-shadow:0 2px 5px rgba(0,0,0,.75)!important;color:#fff!important;line-height:1.18!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;width:100%!important;}
.brand-v129 .brand-campus{font-size:17px!important;font-weight:800!important;}
.brand-v129 .brand-department{font-size:14px!important;font-weight:750!important;color:#fef3c7!important;}
.brand-v129 .brand-version{font-size:13px!important;font-weight:800!important;color:#ecfeff!important;}
.sidebar nav{padding:8px 0 6px!important;border-top:1px solid rgba(255,255,255,.12)!important;}
.sidebar a{font-size:14px!important;padding:9px 10px!important;margin:2px 0!important;border-radius:10px!important;}
.author.author-v129{display:flex!important;gap:8px!important;align-items:center!important;justify-content:space-between!important;padding:10px 10px!important;border-radius:14px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.14)!important;}
.author-v129 .author-person span{font-size:10.5px!important;color:#cbd5e1!important;margin:0 0 3px!important;}
.author-v129 .author-person b{font-size:13px!important;line-height:1.1!important;color:#fff!important;}
.author-v129 .author-person span:last-child{font-size:11px!important;color:#e2e8f0!important;margin-top:4px!important;}
.author-v129 .online-only{border-left:1px solid rgba(255,255,255,.18)!important;padding-left:8px!important;text-align:center!important;min-width:48px!important;}
.author-v129 .online-only span{display:block!important;color:#cbd5e1!important;font-size:9px!important;line-height:1.1!important;margin-bottom:3px!important;}
.author-v129 .online-only b{display:block!important;font-size:16px!important;line-height:1!important;color:#5eead4!important;font-weight:900!important;}
@media(max-height:780px){.brand.school-sidebar.brand-v129{height:155px!important;min-height:155px!important}.brand-v129 .brand-campus{font-size:14px!important}.brand-v129 .brand-department{font-size:12.2px!important}.brand-v129 .brand-version{font-size:11.5px!important}.sidebar a{font-size:13px!important;padding:7px 9px!important}.author.author-v129{padding:8px!important}.author-v129 .online-only b{font-size:14px!important}}
@media(max-width:1000px){.sidebar{width:auto!important;position:static!important}.content{margin-left:0!important}.brand.school-sidebar.brand-v129{height:150px!important}}

/* In ấn */
.print-page.landscape{width:297mm!important;min-height:190mm!important;padding:6mm 8mm!important;}
.excel-print{font-family:"Times New Roman",serif!important;color:#000!important;}
.chamcong-print .excel-head{margin-bottom:6px!important;}
.chamcong-print h2{font-size:23px!important;margin:8px 0 10px!important;}
.chamcong-print .meta-table td{font-size:14px!important;padding:2px 4px!important;}
.chamcong-table{table-layout:fixed!important;width:100%!important;}
.chamcong-table .w-date{width:28mm!important;}
.chamcong-table .w-small{width:27mm!important;}
.chamcong-table .w-total{width:22mm!important;}
.chamcong-table .w-lesson{width:auto!important;}
.chamcong-table .w-note{width:28mm!important;}
.chamcong-table th,.chamcong-table td{font-size:13px!important;padding:3px 4px!important;}
.chamcong-table .lesson-cell{font-size:14px!important;}
.chamcong-table thead{display:table-header-group!important;}
.chamcong-table tfoot{display:table-row-group!important;}

.plan-print{padding:5mm 8mm!important;}
.excel-plan-head{margin-bottom:12px!important;}
.excel-plan-head td{vertical-align:top!important;}
.excel-plan-head .excel-school{text-align:center!important;line-height:1.35!important;font-size:14px!important;}
.excel-plan-head .plan-title h2{font-size:23px!important;margin:0!important;}
.excel-plan-head .plan-title{font-size:15px!important;line-height:1.25!important;}
.excel-plan-head .plan-meta{font-size:15px!important;line-height:1.65!important;text-align:left!important;padding-left:6px!important;}
.plan-info{width:56%!important;margin:12px 0 12px 28mm!important;font-size:15px!important;}
.plan-info td{padding:2px 4px!important;}
.plan-table{table-layout:fixed!important;width:100%!important;}
.plan-table .w-date{width:22mm!important}.plan-table .w-plan-content{width:62mm!important}.plan-table .w-small{width:22mm!important}.plan-table .w-total{width:18mm!important}.plan-table .w-equipment{width:55mm!important}.plan-table .w-note{width:26mm!important}
.plan-table th,.plan-table td{font-size:12.5px!important;padding:3px 4px!important;}
.plan-table thead{display:table-header-group!important;}
.weekly-print .red-title{font-size:22px!important;color:#ef3b2d!important;}
.weekly-detail-title{font-size:18px!important;margin:12px 0 6px!important;text-align:center!important;text-transform:uppercase!important;color:#000!important;}
.weekly-detail-table th,.weekly-detail-table td{font-size:10.5px!important;padding:2px 3px!important;}
.weekly-detail-table thead{display:table-header-group!important;}
@media print{.sidebar,.top,.no-print,.print-actions{display:none!important}.content{margin:0!important;padding:0!important}.print-page{margin:0!important;box-shadow:none!important}.print-page.landscape{width:auto!important;min-height:auto!important;padding:0!important}.chamcong-table th,.chamcong-table td{font-size:12px!important;padding:2px 3px!important}.plan-table th,.plan-table td{font-size:11.5px!important;padding:2px 3px!important}.weekly-detail-table th,.weekly-detail-table td{font-size:8.5px!important;padding:1px 2px!important}}

/* V1.30 - tinh gọn ô tác giả theo yêu cầu: Tác giả: Mã Kim Long / SĐT: ... */
.author.author-v130{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 54px!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px 12px!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.035))!important;
  border:1px solid rgba(148,163,184,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.author-v130 .author-person{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  line-height:1.2!important;
}
.author-v130 .author-person div{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.author-v130 .author-label{
  display:inline!important;
  color:#cbd5e1!important;
  font-size:12px!important;
  font-weight:600!important;
  margin:0!important;
}
.author-v130 .author-person b{
  display:inline!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.05px!important;
  line-height:1.15!important;
}
.author-v130 .author-phone{
  color:#e2e8f0!important;
  font-size:12px!important;
  font-weight:500!important;
}
.author-v130 .online-only{
  min-width:44px!important;
  border-left:1px solid rgba(255,255,255,.16)!important;
  padding-left:9px!important;
  text-align:center!important;
}
.author-v130 .online-only span{
  display:block!important;
  color:#cbd5e1!important;
  font-size:9px!important;
  line-height:1!important;
  margin:0 0 4px!important;
}
.author-v130 .online-only b{
  display:block!important;
  color:#5eead4!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
}
@media(max-height:780px){
  .author.author-v130{padding:9px 10px!important;grid-template-columns:minmax(0,1fr) 46px!important;}
  .author-v130 .author-label,.author-v130 .author-phone{font-size:11px!important;}
  .author-v130 .author-person b{font-size:12px!important;}
  .author-v130 .online-only b{font-size:14px!important;}
}


/* V1.31 - bố trí ô tác giả thành 2 hàng gọn: Tác giả / SĐT, Online nhỏ bên phải */
.author.author-v131{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.060),rgba(255,255,255,.030))!important;
  border:1px solid rgba(148,163,184,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.author-v131 .author-person{
  min-width:0!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  gap:4px!important;
  line-height:1.15!important;
}
.author-v131 .author-person div{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin:0!important;
}
.author-v131 .author-label{
  display:inline!important;
  color:#dbeafe!important;
  font-size:12px!important;
  font-weight:600!important;
  margin:0!important;
}
.author-v131 .author-person b{
  display:inline!important;
  color:#fff!important;
  font-size:12.8px!important;
  font-weight:800!important;
  letter-spacing:0!important;
  line-height:1.15!important;
}
.author-v131 .author-phone{
  display:inline!important;
  color:#e2e8f0!important;
  font-size:12px!important;
  font-weight:500!important;
  white-space:nowrap!important;
}
.author-v131 .online-only{
  min-width:50px!important;
  border-left:1px solid rgba(255,255,255,.18)!important;
  padding-left:9px!important;
  text-align:center!important;
}
.author-v131 .online-only span{
  display:block!important;
  color:#dbeafe!important;
  font-size:10px!important;
  line-height:1.05!important;
  margin:0 0 4px!important;
  white-space:nowrap!important;
}
.author-v131 .online-only b{
  display:block!important;
  color:#7fffe5!important;
  font-size:16px!important;
  font-weight:900!important;
  line-height:1!important;
}
@media(max-height:780px){
  .author.author-v131{padding:8px 10px!important;grid-template-columns:minmax(0,1fr) 48px!important;gap:8px!important;}
  .author-v131 .author-label,.author-v131 .author-phone{font-size:10.5px!important;}
  .author-v131 .author-person b{font-size:11.2px!important;}
  .author-v131 .online-only span{font-size:8.5px!important;}
  .author-v131 .online-only b{font-size:14px!important;}
}

/* V1.32 - sidebar gọn, bỏ version, in chấm công A4 đứng và số theo dạng X,X */
.brand.school-sidebar.brand-v132{
  height:148px!important;
  min-height:148px!important;
  margin:2px 0 8px!important;
  border-radius:16px!important;
  background:rgba(15,23,42,.20)!important;
  overflow:hidden!important;
}
.brand-v132 .brand-watermark{inset:4px!important;opacity:.44!important;filter:none!important;}
.brand-v132 .brand-watermark img{object-fit:contain!important;width:100%!important;height:100%!important;}
.brand-v132 .brand-glass{left:8px!important;right:8px!important;bottom:10px!important;gap:2px!important;}
.brand-v132 .brand-school-name{display:none!important;}
.brand-v132 .brand-campus{font-size:14px!important;font-weight:800!important;color:#fff!important;text-shadow:0 2px 6px rgba(0,0,0,.9)!important;}
.brand-v132 .brand-department{font-size:11.5px!important;font-weight:750!important;color:#fef3c7!important;text-shadow:0 2px 6px rgba(0,0,0,.9)!important;}
.brand-v132 .brand-version{font-size:11.5px!important;font-weight:800!important;color:#ecfeff!important;text-shadow:0 2px 6px rgba(0,0,0,.9)!important;}
@media(max-height:780px){.brand.school-sidebar.brand-v132{height:126px!important;min-height:126px!important}.brand-v132 .brand-campus{font-size:12px!important}.brand-v132 .brand-department,.brand-v132 .brand-version{font-size:10px!important}}

.print-page.portrait{width:210mm!important;min-height:297mm!important;padding:8mm 7mm 11mm!important;}
.chamcong-print{font-size:12px!important;}
.chamcong-print h2{font-size:20px!important;margin:6px 0 8px!important;}
.chamcong-print .excel-head{margin-bottom:4px!important;}
.chamcong-print .excel-school,.chamcong-print .republic{font-size:13px!important;line-height:1.25!important;}
.chamcong-print .meta-table td{font-size:11.5px!important;padding:2px 3px!important;line-height:1.25!important;}
.chamcong-table{table-layout:fixed!important;width:100%!important;font-size:11px!important;}
.chamcong-table th,.chamcong-table td{font-size:11px!important;padding:2px 3px!important;line-height:1.16!important;}
.chamcong-table .w-date{width:21mm!important;}
.chamcong-table .w-hour{width:10mm!important;}
.chamcong-table .w-kt{width:14mm!important;}
.chamcong-table .w-small{width:17mm!important;}
.chamcong-table .w-total{width:13mm!important;}
.chamcong-table .w-note{width:19mm!important;}
.chamcong-table .w-lesson{width:66mm!important;}
.chamcong-table .lesson-cell{font-size:11.5px!important;text-align:left!important;}
.chamcong-print .date-line{font-size:12.5px!important;margin-top:10px!important;}
.chamcong-print .sign{font-size:13px!important;margin-top:14px!important;}

.plan-head .excel-school u{text-decoration:none!important;}
.plan-print .plan-head .excel-school{font-size:13px!important;line-height:1.25!important;}
.plan-print .plan-head h2{font-size:22px!important;}
.plan-print .plan-info{margin-top:12px!important;margin-bottom:10px!important;}
.plan-table th,.plan-table td{line-height:1.18!important;}

@media print{
  .print-page.portrait{width:210mm!important;min-height:297mm!important;padding:8mm 7mm 11mm!important;}
  .chamcong-table th,.chamcong-table td{font-size:10.5px!important;padding:2px 2px!important;}
  .chamcong-table .lesson-cell{font-size:10.8px!important;}
}

/* V1.34 - bỏ thông tin tài khoản mặc định ở màn hình đăng nhập */
.chamcong-print{font-size:12px!important;}
.chamcong-print h2{font-size:20px!important;margin:5px 0 7px!important;}
.chamcong-print .excel-head{margin-bottom:3px!important;}
.chamcong-print .excel-school,.chamcong-print .republic{font-size:13px!important;line-height:1.2!important;}
.chamcong-print .meta-table td{font-size:12px!important;padding:1.5px 3px!important;line-height:1.2!important;}
.chamcong-table{table-layout:fixed!important;width:100%!important;font-size:12px!important;}
.chamcong-table th,.chamcong-table td{font-size:12px!important;padding:1.8px 2.5px!important;line-height:1.12!important;}
.chamcong-table .lesson-cell{font-size:12px!important;line-height:1.12!important;text-align:left!important;}
.chamcong-table .w-date{width:20mm!important;}
.chamcong-table .w-hour{width:9.2mm!important;}
.chamcong-table .w-kt{width:12.5mm!important;}
.chamcong-table .w-small{width:15.5mm!important;}
.chamcong-table .w-total{width:12.5mm!important;}
.chamcong-table .w-note{width:17mm!important;}
.chamcong-table .w-lesson{width:73mm!important;}
.chamcong-print .date-line{font-size:12px!important;margin-top:8px!important;}
.chamcong-print .sign{font-size:12.5px!important;margin-top:12px!important;}
@media print{
  .print-page.portrait{width:210mm!important;min-height:297mm!important;padding:7mm 6mm 10mm!important;}
  .chamcong-print{font-size:12px!important;}
  .chamcong-print .meta-table td{font-size:12px!important;}
  .chamcong-table th,.chamcong-table td{font-size:12px!important;padding:1.6px 2.2px!important;line-height:1.1!important;}
  .chamcong-table .lesson-cell{font-size:12px!important;line-height:1.1!important;}
}

.login-copyright{ text-align:center; font-size:15px; color:#64748b; background:transparent; border:0; padding:10px 0 0; }

/* V1.35 - tối ưu bản in kế hoạch giảng dạy: lề an toàn, font 12px, gộp cột thiết bị */
.plan-print{
  padding:8mm 12mm 12mm!important;
  font-size:12px!important;
  overflow:visible!important;
}
.plan-print .excel-plan-head{margin-bottom:8px!important;}
.plan-print .plan-info{font-size:12px!important;margin:8px 0 8px 24mm!important;width:54%!important;}
.plan-print .plan-info td{font-size:12px!important;padding:1.5px 3px!important;}
.plan-print .plan-head .excel-school{font-size:12px!important;line-height:1.22!important;}
.plan-print .plan-head h2{font-size:21px!important;line-height:1.1!important;margin:0 0 2px!important;}
.plan-print .plan-title{font-size:12px!important;line-height:1.18!important;}
.plan-print .plan-meta{font-size:12px!important;line-height:1.35!important;}
.plan-table{table-layout:fixed!important;width:100%!important;font-size:12px!important;}
.plan-table th,.plan-table td{font-size:12px!important;line-height:1.12!important;padding:2px 3px!important;}
.plan-table th{font-weight:700!important;}
.plan-table th span{font-size:10.5px!important;line-height:1.05!important;}
.plan-table .equipment-merged{vertical-align:middle!important;text-align:center!important;font-weight:600!important;line-height:1.18!important;}
.plan-table .muted-cell{font-style:italic;color:#334155;}
.plan-equipment-appendix{page-break-before:always;margin-top:0;font-size:12px!important;}
.plan-equipment-appendix h3{text-align:center;font-size:16px;margin:0 0 8px;text-transform:uppercase;}
.plan-equipment-appendix table th,.plan-equipment-appendix table td{font-size:12px!important;padding:3px 4px!important;line-height:1.18!important;}
@media print{
  .print-page.plan-print{padding:8mm 12mm 12mm 12mm!important;width:297mm!important;min-height:210mm!important;}
  .plan-print .plan-info td,.plan-print .plan-head .excel-school,.plan-print .plan-title,.plan-print .plan-meta{font-size:12px!important;}
  .plan-table th,.plan-table td{font-size:12px!important;padding:2px 3px!important;line-height:1.12!important;}
  .plan-table th span{font-size:10.5px!important;}
  .plan-equipment-appendix{page-break-before:always;}
}

/* V1.37 - tách in số giờ tuần và in chi tiết tuần dạy gọn */
.weekly-detail-print{max-width:185mm!important;margin:0 auto!important;padding:10mm 10mm!important;}
.weekly-detail-compact th,.weekly-detail-compact td{font-size:12px!important;padding:5px 6px!important;vertical-align:top!important;}
.weekly-detail-compact td:nth-child(3){white-space:pre-line;line-height:1.45;}
.weekly-detail-compact .week-col{width:28mm;white-space:nowrap;}
.weekly-detail-compact .total-col{width:25mm;white-space:nowrap;}
.weekly-detail-note{font-size:12px;margin:4px 0 8px;}
@media print{.weekly-detail-print{page-break-after:auto!important}.weekly-detail-compact thead{display:table-header-group}}

/* V1.37 - tách bản in số giờ trên tuần thành bản thường và bản chi tiết gọn */
.concise-weekly-detail th,.concise-weekly-detail td{font-size:12px!important;padding:4px 5px!important}.concise-weekly-detail .week-group td{font-weight:bold;background:#f1f5f9!important;text-align:left}.concise-weekly-detail .week-group span{font-weight:normal}.weekly-print .sign{page-break-inside:avoid}
@media print{.concise-weekly-detail th,.concise-weekly-detail td{font-size:12px!important;padding:3px 4px!important}}

/* ===== LONGMK V1.40 - Sổ tay giáo viên ===== */
.table-scroll{overflow:auto;max-width:100%}
.score-input{width:58px;text-align:center;padding:5px 4px;border:1px solid #cbd5e1;border-radius:6px}
.att-input{width:36px;text-align:center;padding:5px 3px;border:1px solid #cbd5e1;border-radius:6px;text-transform:uppercase}
.mini-input{width:48px;text-align:center;padding:5px;border:1px solid #cbd5e1;border-radius:6px}
.stgv-grade-table,.stgv-att-table{min-width:900px;border-collapse:collapse;width:100%}
.stgv-grade-table th,.stgv-grade-table td,.stgv-att-table th,.stgv-att-table td{border:1px solid #d7dee8;padding:6px 7px;vertical-align:middle}
.stgv-grade-table th,.stgv-att-table th{background:#f1f5f9;text-align:center;font-weight:700}
.stgv-grade-table td,.stgv-att-table td{background:#fff}
.stgv-grade-table tr:hover td,.stgv-att-table tr:hover td{background:#f8fafc}
.notice{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:12px;padding:12px 14px}

/* Bản in sổ tay giáo viên: bố trí bám mẫu Word */
.stgv-print{font-family:"Times New Roman",Times,serif;color:#000;background:#fff;font-size:13.5pt;line-height:1.3;padding:13mm 14mm!important}
.stgv-print.landscape{width:297mm!important;min-height:210mm!important;padding:9mm 10mm!important}
.stgv-print h1,.stgv-print h2,.stgv-print h3{font-family:"Times New Roman",Times,serif;color:#000}
.stgv-cover-page{position:relative;text-align:center;padding:11mm 18mm 13mm!important}
.stgv-cover-head{font-size:17pt;text-align:center;text-transform:uppercase;line-height:1.34;font-weight:400;margin:0 auto 28mm auto}
.stgv-cover-head b{font-weight:700}
.stgv-cover-logo{text-align:center;margin:0 auto 28mm auto}
.stgv-cover-logo img{width:72mm;max-width:72mm;height:auto;display:inline-block}
.stgv-cover-title{text-align:center;font-size:35pt;margin:0 0 18mm 0;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.stgv-cover-info{font-size:16pt;line-height:1.7;width:88%;margin:0 auto;text-align:left}
.stgv-page-title{text-align:center;font-size:17pt;margin:4mm 0 7mm;text-transform:uppercase;font-weight:700}
.stgv-eval-title{margin-top:10mm}
.stgv-lines{font-size:13.5pt;min-height:16mm;line-height:1.5}
.stgv-lines p{margin:2mm 0}
.stgv-print .small{font-size:12pt}
.stgv-print .center{text-align:center}
.hint-print{font-size:11pt;margin-top:4mm}
.stgv-result-table,.stgv-attendance-table{width:100%;border-collapse:collapse;font-size:11.5pt;table-layout:auto}
.stgv-result-table th,.stgv-result-table td,.stgv-attendance-table th,.stgv-attendance-table td{border:1px solid #000;padding:2.2mm 1.4mm;vertical-align:middle;color:#000}
.stgv-result-table th,.stgv-attendance-table th{text-align:center;font-weight:700}
.stgv-result-table .student-name{min-width:46mm}
.stgv-result-table small{font-size:9pt;font-weight:400}
.stgv-attendance-table{font-size:10.5pt}
.stgv-attendance-table th,.stgv-attendance-table td{padding:1.6mm 1mm}
@media print{
  .stgv-print{page-break-after:always;box-shadow:none!important;margin:0!important}
  .stgv-print:last-child{page-break-after:auto}
  .print-page.stgv-print:after{content:""!important}
}

/* LONGMK V1.40.3 - in coi/chấm thi: dòng bằng chữ in nghiêng như mẫu */
.exam-print .word-line.exam-word-line{font-style:italic;}
.exam-print .word-line.exam-word-line b,.exam-print .word-line.exam-word-line i{font-style:italic;}


/* V1.40.4 - Fix bản in coi/chấm thi vừa đúng khổ A4 ngang, cỡ chữ bảng 12px */
.print-page.exam-print{width:297mm!important;min-height:210mm!important;padding:6mm 6mm 8mm!important;overflow:hidden!important;}
.exam-print .school-head{margin-bottom:1mm!important;}
.exam-print h2{font-size:18px!important;line-height:1.08!important;margin:3mm 0 2mm!important;}
.exam-print p{font-size:12px!important;line-height:1.15!important;margin:0 0 1.5mm!important;}
.exam-table{width:100%!important;max-width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;}
.exam-table col.c-date{width:7%!important;}
.exam-table col.c-subject{width:23%!important;}
.exam-table col.c-class{width:12%!important;}
.exam-table col.c-work{width:4%!important;}
.exam-table col.c-qd{width:6%!important;}
.exam-table col.c-rate{width:7%!important;}
.exam-table col.c-money{width:9%!important;}
.exam-table th,.exam-table td{font-size:12px!important;line-height:1.08!important;padding:1px 2px!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;}
.exam-table td:nth-child(2),.exam-table td:nth-child(3){text-align:left!important;}
.exam-print .word-line.exam-word-line{font-size:13px!important;font-style:italic!important;margin:2mm 0 5mm!important;}
.exam-print .date-line{font-size:12px!important;margin-top:3mm!important;}
.exam-print .sign{font-size:12px!important;margin-top:6mm!important;}
@media print{
  @page{size:A4 landscape;margin:0;}
  .print-page.exam-print{width:297mm!important;min-height:210mm!important;padding:6mm 6mm 8mm!important;overflow:hidden!important;}
  .exam-table th,.exam-table td{font-size:12px!important;line-height:1.08!important;padding:1px 2px!important;}
}

/* V1.40.7 - Bảng danh sách học sinh: sửa trực tiếp sau import */
.compact-table{font-size:13px}
.compact-table th,.compact-table td{padding:6px 5px;vertical-align:middle}
.compact-table input,.compact-table select{width:100%;box-sizing:border-box;font-size:13px;padding:5px 6px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}
.compact-table .mini-input{width:52px;text-align:center}
.compact-table .stgv-code{min-width:110px}
.compact-table .stgv-name{min-width:180px}
.compact-table .stgv-first{min-width:80px}
.compact-table .stgv-date{min-width:105px}
.compact-table .center{text-align:center}
.compact-table .center input[type=checkbox]{width:18px;height:18px}

/* LONGMK V1.40.8 - khóa danh sách lớp và bảng điểm */
.lock-badge{display:inline-block;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:10px;padding:8px 12px;font-weight:700;margin:8px 0}
fieldset[disabled]{opacity:.72}
button[name=lock_student_list],button[name=lock_grades]{background:#b45309;color:#fff}
button[name=unlock_student_list],button[name=unlock_grades]{background:#2563eb;color:#fff}

/* LONGMK V1.40.9 - tối ưu nhập liệu trên điện thoại/iPad */
.mobile-only{display:none}
.table-scroll{overflow-x:auto;overflow-y:visible;max-width:100%;-webkit-overflow-scrolling:touch}
@media screen and (max-width: 1024px){
  html,body{max-width:100%;overflow-x:hidden;background:#f4f6fb}
  body{font-size:15px}
  .app{display:block!important;min-height:100vh!important}
  .sidebar{position:relative!important;left:auto!important;top:auto!important;bottom:auto!important;width:100%!important;height:auto!important;max-height:none!important;padding:10px!important;border-radius:0!important;overflow:visible!important}
  .sidebar nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:260px;overflow-y:auto;padding:6px 2px 8px!important;border-top:1px solid rgba(255,255,255,.12)}
  .sidebar a{font-size:13px!important;line-height:1.18!important;padding:10px 9px!important;margin:0!important;text-align:left;border-radius:10px!important}
  .brand.school-sidebar{height:auto!important;min-height:0!important;margin:0 0 8px!important;padding:10px!important;display:block!important;text-align:center!important}
  .brand-v132 .brand-watermark{display:none!important}
  .brand-v132 .brand-glass{position:static!important;display:block!important}
  .brand-v132 .brand-campus{font-size:14px!important;line-height:1.2!important;text-align:center!important}
  .brand-v132 .brand-department,.brand-v132 .brand-version{font-size:12px!important;line-height:1.2!important;text-align:center!important}
  .author{display:none!important}
  .content{margin-left:0!important;width:100%!important;padding:10px!important;overflow-x:hidden!important}
  .top{display:block!important;margin-bottom:10px!important}
  .top h1{font-size:21px!important;line-height:1.25!important;margin-bottom:6px!important}
  .top-meta{text-align:left!important;font-size:12px!important}
  .panel{padding:12px!important;margin-bottom:12px!important;border-radius:12px!important;max-width:100%!important;overflow-x:auto!important;overflow-y:visible!important;-webkit-overflow-scrolling:touch!important}
  .panel.wide,.table-scroll{overflow-x:auto!important}
  .panel h2{font-size:17px!important;line-height:1.25!important}
  .panel h3{font-size:15px!important;margin-top:14px!important}
  .split,.mobile-entry-layout{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .grid2,.grid3,.grid4,.cards{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .toolbar,.print-filter{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:stretch!important}
  .toolbar label,.print-filter label{min-width:0!important;width:100%!important;margin:0!important}
  .checkline{display:flex!important;width:100%!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;margin:0!important;background:#f8fafc;border:1px solid #dbe3ee;border-radius:10px;padding:9px 10px!important}
  .checkline input{width:18px!important;height:18px!important;flex:0 0 auto!important}
  .form label,.toolbar label{font-size:14px!important;line-height:1.25!important;margin:8px 0 3px!important}
  .form input,.form select,.form textarea,.toolbar input,.toolbar select,input,select,textarea{font-size:16px!important;min-height:42px!important;max-width:100%!important}
  .form textarea,textarea{min-height:92px!important}
  button,.btn{width:100%;text-align:center;font-size:15px!important;min-height:42px!important;margin:4px 0!important;padding:10px 12px!important}
  .actions,.quick{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
  .actions form{display:block!important;width:100%!important}
  .mobile-only{display:block!important}
  .mobile-note{font-size:13px!important;color:#075985;background:#e0f2fe;border:1px solid #bae6fd;border-radius:9px;padding:8px 10px;margin:6px 0 10px!important}
  table:not(.print-table):not(.excel-table){min-width:760px;font-size:13px!important}
  th,td{padding:6px!important;line-height:1.25!important}
  .compact-table{min-width:1050px!important}
  .stgv-grade-table,.stgv-att-table{min-width:980px!important}
  .score-input{width:54px!important;min-height:36px!important;font-size:15px!important}
  .att-input{width:42px!important;min-height:36px!important;font-size:15px!important}
  .exam-layout .exam-entry-panel{order:1!important}
  .exam-layout .exam-list-panel{order:2!important}
  .exam-list-table{min-width:900px!important}
  .exam-list-panel .print-filter button{margin-top:4px!important}
  .notice.small,.hint{font-size:13px!important;line-height:1.4!important}
}
@media screen and (max-width: 520px){
  .content{padding:8px!important}
  .sidebar nav{grid-template-columns:1fr!important;max-height:210px!important}
  .panel{padding:10px!important}
  .top h1{font-size:19px!important}
  table:not(.print-table):not(.excel-table){min-width:720px!important}
  .exam-list-table{min-width:860px!important}
  .compact-table{min-width:980px!important}
}
@media screen and (min-width: 768px) and (max-width: 1180px){
  .grid2{grid-template-columns:1fr 1fr!important}
  .grid3{grid-template-columns:1fr 1fr!important}
  .grid4{grid-template-columns:1fr 1fr!important}
  .sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr));max-height:220px}
  .split.exam-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr)!important}
  .exam-entry-panel{position:sticky;top:8px;align-self:start}
}
@media print{
  .mobile-only{display:none!important}
}

/* V1.40.10: canh trái tên môn/lớp trong bản in coi/chấm thi */
.exam-table td.subject-cell,.exam-table td.class-cell{
  text-align:left!important;
  padding-left:4px!important;
}

/* V1.40.11: Excel export giữ layout giống bản in */
@media screen{.print-actions a[href*="export=xls"]{background:#0f766e!important}}

/* V1.40.12: Excel export + bản in chỉnh sửa dễ hơn */
.exam-table td.subject-cell,.exam-table td.class-cell{ text-align:left!important; padding-left:4px!important; }
.chamcong-table .lesson-cell{ text-align:left!important; }
.plan-table td:nth-child(2),.plan-table td:nth-child(9),.plan-table td:nth-child(10){ text-align:left!important; }

/* V1.41 - Sổ lên lớp */
.sll-status-ok{display:inline-block;background:#ecfdf5;border:1px solid #34d399;color:#065f46;border-radius:999px;padding:4px 9px;font-weight:700}
.sll-status-warn{display:inline-block;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:999px;padding:4px 9px;font-weight:700}
.sll-stats-table{max-width:620px}
@media(max-width:700px){.quick .btn{width:100%;text-align:center}.compact-table input.mini-input{min-width:58px}}


/* V1.41.1 - Tối ưu bản in và giao diện import rèn luyện */
.conduct-import-actions .btn{margin-bottom:6px}
@media print{
  @page{margin:7mm;}
  .excel-print{font-size:13px!important;}
  .print-table{font-size:13px!important;}
  .exam-print{padding-left:0!important;padding-right:0!important;}
  .exam-table{width:100%!important;max-width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;}
  .exam-table th,.exam-table td{
    font-size:13px!important;
    line-height:1.12!important;
    padding:2px 3px!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .exam-table col.c-date{width:7%!important;}
  .exam-table col.c-subject{width:22%!important;}
  .exam-table col.c-class{width:12%!important;}
  .exam-table col.c-work{width:4%!important;}
  .exam-table col.c-qd{width:6%!important;}
  .exam-table col.c-rate{width:8%!important;}
  .exam-table col.c-money{width:9%!important;}
  .exam-table td.subject-cell,
  .exam-table td.class-cell,
  .exam-table td:nth-child(2),
  .exam-table td:nth-child(3){
    text-align:left!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
  .chamcong-table th,.chamcong-table td,
  .plan-table th,.plan-table td,
  .summary-table th,.summary-table td{
    font-size:13px!important;
    line-height:1.15!important;
  }
  .chamcong-table .lesson-cell,
  .plan-table td{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* V1.43 - Bảng điểm toàn khóa */
.cond{background:#d9d9d9!important;font-weight:bold;color:#000!important}
.bgtk-note{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;margin:8px 0;font-style:italic}
.compact-table .mini-input{width:70px!important;min-width:70px!important;margin:2px 0}


/* LONGMK V1.43.3 - chuẩn hóa bản in chung */
@media print{
  html,body{background:#fff!important;color:#000!important;font-family:"Times New Roman",serif!important;}
  .print-actions,.no-print,.sidebar,.top{display:none!important;}
  .content{margin:0!important;padding:0!important;width:100%!important;}
  .print-page{box-shadow:none!important;border:0!important;background:#fff!important;margin:0!important;}
  .print-table,.excel-table{border-collapse:collapse!important;width:100%!important;table-layout:fixed!important;}
  .print-table th,.print-table td,.excel-table th,.excel-table td{border:1px solid #000!important;color:#000!important;vertical-align:middle!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;}
  .print-table th,.excel-table th{text-align:center!important;font-weight:bold!important;}
  .condition-subject,.cond{background:#d9d9d9!important;color:#000!important;font-weight:bold!important;}
  .print-title,h1.print-title,h2.print-title{text-align:center!important;text-transform:uppercase!important;font-weight:bold!important;}
  .print-page.portrait{page:longmkPortrait;}
  .print-page.landscape,.print-page.plan-print,.print-page.exam-print,.summary-print,.weekly-print{page:longmkLandscape;}
  @page longmkPortrait{size:A4 portrait;margin:8mm;}
  @page longmkLandscape{size:A4 landscape;margin:6mm;}
}

/* LONGMK V1.43.4 - phân quyền 4 cấp */
.role-badge{display:inline-block;border-radius:999px;padding:3px 8px;background:#e2e8f0;color:#0f172a;font-weight:700;font-size:12px}
.readonly-banner{border-left:5px solid #64748b;background:#f8fafc!important;color:#0f172a}
body.role-guest main.content form[method="post"] button,
body.role-guest main.content form[method="post"] input,
body.role-guest main.content form[method="post"] select,
body.role-guest main.content form[method="post"] textarea{opacity:.65;cursor:not-allowed;background:#f8fafc!important;color:#334155!important}
body.role-guest main.content form[method="get"] input,
body.role-guest main.content form[method="get"] select,
body.role-guest main.content form[method="get"] button{opacity:1;cursor:auto;pointer-events:auto;background:#fff!important;color:inherit!important}
body.role-guest main.content .readonly-disabled{opacity:.45;pointer-events:none;filter:grayscale(1)}


/* LONGMK V1.43.8 - tài khoản online */
.online-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 9px;background:#dcfce7;color:#166534;font-weight:700;font-size:12px;white-space:nowrap}
.offline-badge{display:inline-block;border-radius:999px;padding:3px 9px;background:#f1f5f9;color:#64748b;font-weight:700;font-size:12px;white-space:nowrap}
.online-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18);display:inline-block}
.online-summary{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin:12px 0}
.online-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px}
.online-summary span{display:block;color:#64748b;font-size:13px}.online-summary b{font-size:24px;color:#0f172a}
.online-table td,.online-table th{vertical-align:middle}.device-small{font-size:12px;color:#475569}
@media(max-width:800px){.online-summary{grid-template-columns:1fr}.online-table{font-size:13px}}

/* LONGMK V1.44.12 - tối ưu giao diện Danh sách phân công */
.assignment-top{align-items:start;margin-bottom:16px}
.assignment-list-panel{width:100%;max-width:none;overflow:visible}
.assignment-list-panel .section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}
.assignment-list-panel .section-head h2{margin-bottom:5px}
.head-count{background:#ecfdf5;border:1px solid #99f6e4;color:#0f766e;border-radius:999px;padding:7px 12px;font-weight:700;white-space:nowrap}
.assignment-filter{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr)) minmax(220px,1.35fr) auto auto;gap:10px;align-items:end;margin:12px 0 14px;padding:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px}
.assignment-filter label{font-weight:700;font-size:13px;margin:0;color:#334155}
.assignment-filter select,.assignment-filter input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:white;margin-top:4px}
.assignment-filter button,.assignment-filter .btn{height:38px;white-space:nowrap}
.assignment-table-wrap{width:100%;overflow-x:auto;border:1px solid #d1d5db;border-radius:12px;background:#fff}
.assignment-table{min-width:1180px;border:0;border-collapse:separate;border-spacing:0;table-layout:fixed}
.assignment-table th,.assignment-table td{border-left:0;border-top:0;padding:8px 9px;line-height:1.25}
.assignment-table th{position:sticky;top:0;z-index:1;background:#eef2f7;color:#0f172a}
.assignment-table th:nth-child(1){width:52px}.assignment-table th:nth-child(2){width:160px}.assignment-table th:nth-child(3){width:150px}.assignment-table th:nth-child(4){width:250px}.assignment-table th:nth-child(5){width:55px}.assignment-table th:nth-child(6){width:150px}.assignment-table th:nth-child(7){width:145px}.assignment-table th:nth-child(8){width:125px}.assignment-table th:nth-child(9){width:180px}.assignment-table th:nth-child(10){width:130px}
.assignment-table tbody tr:hover td{background:#f8fafc}
.assignment-table .center{text-align:center}.assignment-table .muted{color:#64748b}.hours-cell{white-space:nowrap}.link-cell a{display:inline-block;margin:2px 7px 2px 0}.progress{height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:2px 0 4px}.progress span{display:block;height:100%;background:#0f766e;border-radius:999px}.assignment-table .actions{white-space:nowrap}.assignment-table .actions form{display:inline-block;margin:0 0 0 4px}
@media(max-width:1200px){.assignment-filter{grid-template-columns:repeat(3,minmax(150px,1fr))}.assignment-filter .search-label{grid-column:span 2}.assignment-top{grid-template-columns:1fr}.split.assignment-top{display:block}.assignment-top .panel{margin-bottom:16px}}
@media(max-width:760px){.assignment-list-panel .section-head{display:block}.head-count{display:inline-block;margin-top:6px}.assignment-filter{grid-template-columns:1fr}.assignment-filter .search-label{grid-column:auto}.assignment-table{min-width:1050px}}

/* LONGMK V1.44.17 - tối ưu danh mục lớp học và môn/mô đun */
.list-filter{display:grid;gap:10px;align-items:end;margin:12px 0 14px;padding:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px}
.list-filter label{font-weight:700;font-size:13px;margin:0;color:#334155}.list-filter select,.list-filter input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:#fff;margin-top:4px}.list-filter button,.list-filter .btn{height:38px;white-space:nowrap}.table-wrap{width:100%;overflow-x:auto;border:1px solid #d1d5db;border-radius:12px;background:#fff}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}.center{text-align:center}.muted{color:#64748b}.num{text-align:center;white-space:nowrap}
.class-filter{grid-template-columns:minmax(180px,240px) minmax(160px,210px) auto}.class-table{min-width:980px;table-layout:fixed}.class-table th,.class-table td{padding:8px 9px;line-height:1.25}.class-table th:nth-child(1){width:90px}.class-table th:nth-child(2){width:180px}.class-table th:nth-child(3){width:130px}.class-table th:nth-child(4){width:180px}.class-table th:nth-child(5){width:64px}.class-table th:nth-child(6){width:auto}.class-table th:nth-child(7){width:100px}.class-table th:nth-child(8){width:150px}
.subject-filter{grid-template-columns:minmax(165px,1fr) minmax(130px,.75fr) minmax(240px,1.4fr) minmax(135px,.8fr) auto auto}.subject-table{min-width:1120px;table-layout:fixed;border-collapse:separate;border-spacing:0}.subject-table th,.subject-table td{padding:8px 8px;line-height:1.22;vertical-align:top}.subject-table th{background:#eef2f7;color:#0f172a}.subject-table th:nth-child(1){width:185px}.subject-table th:nth-child(2){width:360px}.subject-table th:nth-child(3){width:135px}.subject-table th:nth-child(4){width:82px}.subject-table th:nth-child(5),.subject-table th:nth-child(6),.subject-table th:nth-child(7),.subject-table th:nth-child(8),.subject-table th:nth-child(9){width:48px}.subject-table th:nth-child(10){width:90px}.subject-table th:nth-child(11){width:130px}.subject-table .code-cell{font-size:14px;overflow-wrap:anywhere}.subject-table .subject-name-cell{font-size:16px;font-weight:600;color:#0f172a;overflow-wrap:anywhere}.subject-table tbody tr:hover td,.class-table tbody tr:hover td{background:#f8fafc}.subject-list-panel,.class-admin .wide{overflow:visible}
@media(max-width:1100px){.subject-filter{grid-template-columns:repeat(2,minmax(160px,1fr))}.subject-filter .search-label{grid-column:1/-1}.class-filter{grid-template-columns:1fr 1fr auto}.subject-admin,.class-admin{display:block}.subject-admin>.panel,.class-admin>.panel{margin-bottom:16px}}
@media(max-width:700px){.section-head{display:block}.list-filter,.class-filter,.subject-filter{grid-template-columns:1fr}.subject-filter .search-label{grid-column:auto}.head-count{display:inline-block;margin-top:6px}.subject-table{min-width:980px}.class-table{min-width:860px}}

/* LONGMK V1.44.18 - tối ưu tài khoản: xóa tài khoản tạo nhầm và hiện dữ liệu đang dùng */
.warn-text{color:#a15c00;font-weight:700}.compact td,.compact th{vertical-align:top}.actions form{display:inline-block;margin:2px}.actions .hint{display:inline-block;margin:2px;color:#667085;font-size:12px}

/* V1.44.19 - tối ưu form sửa giáo viên: luôn thấy nút lưu */
.teacher-edit-form .sticky-actions{position:sticky;bottom:0;z-index:5;background:#fff;padding:12px 0 4px;margin-top:10px;border-top:1px solid #e5e7eb;display:flex;gap:8px;flex-wrap:wrap}
.teacher-edit-form .more-fields{margin-top:12px;border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#fafafa}
.teacher-edit-form .more-fields summary{cursor:pointer;font-weight:700;color:#334155;margin-bottom:8px}
.teacher-edit-form .form-actions .btn, .teacher-edit-form .form-actions button{margin-bottom:4px}
/* V1.44.21 - teacher duplicate management */
.dup-box{border:1px solid #f2c97d;background:#fffaf0;border-radius:12px;padding:12px;margin:10px 0}
.dup-box ul{margin:8px 0 10px 18px;padding:0}
.compact-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.badge.warn,.hint.warn{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
@media(max-width:900px){.compact-form{grid-template-columns:1fr}}


/* V1.44.22 - Chi tiết liên kết giáo viên */
.link-badge{display:inline-block;text-decoration:none;cursor:pointer}
.link-badge:hover{filter:brightness(.95);transform:translateY(-1px)}
.link-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:14px}
.link-summary-grid>div{background:#eef7ff;border:1px solid #cfe7ff;border-radius:18px;padding:16px;text-align:center}
.link-summary-grid span{display:block;color:#4b647c;font-weight:700;margin-bottom:6px}
.link-summary-grid b{font-size:34px;color:#14507c}
.teacher-link-detail .section-head{align-items:flex-start}

/* V1.44.26 - Quản trị lớp học: cập nhật sĩ số và danh sách học sinh ngay tại Danh mục lớp */
.class-table-v2{min-width:1280px;table-layout:fixed}
.class-table-v2 th:nth-child(1){width:88px}.class-table-v2 th:nth-child(2){width:185px}.class-table-v2 th:nth-child(3){width:125px}.class-table-v2 th:nth-child(4){width:170px}.class-table-v2 th:nth-child(5){width:72px}.class-table-v2 th:nth-child(6){width:96px}.class-table-v2 th:nth-child(7){width:auto}.class-table-v2 th:nth-child(8){width:90px}.class-table-v2 th:nth-child(9){width:260px}
.class-actions{justify-content:flex-start!important}.class-actions .btn,.class-actions button{margin:2px}
.class-student-manager{scroll-margin-top:16px}.class-student-tools{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;margin:12px 0 16px}.tool-card{border:1px solid #dbe4ef;background:#f8fafc;border-radius:12px;padding:12px}.tool-card h3{margin-top:0}.tool-card textarea{width:100%;min-height:145px;border:1px solid var(--line);border-radius:8px;padding:8px;background:white}.tool-card input[type="number"],.tool-card input[type="file"]{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px;background:white;margin:4px 0 8px}.tool-card button,.tool-card .btn{margin:3px 3px 3px 0}.class-student-table{min-width:1180px}.class-student-table input,.class-student-table select{border:1px solid #cbd5e1;border-radius:6px;padding:5px;background:#fff}.class-student-table .stgv-code{min-width:115px}.class-student-table .stgv-name{min-width:180px}.class-student-table .stgv-first{min-width:80px}.class-student-table .stgv-date{min-width:105px}
@media(max-width:1200px){.class-student-tools{grid-template-columns:repeat(2,minmax(220px,1fr))}.class-table-v2{min-width:1180px}}
@media(max-width:760px){.class-student-tools{grid-template-columns:1fr}.class-table-v2{min-width:1060px}.class-actions{display:grid!important;grid-template-columns:1fr!important}.class-actions .btn,.class-actions button{width:100%;text-align:center}}

/* LONGMK V1.44.27 - Tối ưu bảng Danh mục lớp học: thao tác rộng, không bị ép dọc */
.class-table-v3{
  min-width:980px!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.class-table-v3 th,.class-table-v3 td{
  padding:9px 10px!important;
  line-height:1.28!important;
  vertical-align:top!important;
}
.class-table-v3 th:nth-child(1){width:210px!important}
.class-table-v3 th:nth-child(2){width:145px!important}
.class-table-v3 th:nth-child(3){width:200px!important}
.class-table-v3 th:nth-child(4){width:76px!important}
.class-table-v3 th:nth-child(5){width:105px!important}
.class-table-v3 th:nth-child(6){width:auto!important}
.class-table-v3 th:nth-child(7){width:100px!important}
.class-table-v3 .class-code-cell b{font-size:15px;color:#0f172a;overflow-wrap:anywhere}
.class-table-v3 .class-code-cell small{color:#64748b;display:block;margin-top:3px;overflow-wrap:anywhere}
.class-main-row td{border-bottom:0!important}
.class-link-row td{
  background:#f8fafc!important;
  border-top:0!important;
  padding-top:6px!important;
  padding-bottom:10px!important;
}
.class-actions-label{
  font-size:12px;
  font-weight:700;
  color:#475569;
  margin-bottom:6px;
}
.class-actions-bar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.class-actions-bar .btn,.class-actions-bar button{
  min-width:82px!important;
  min-height:36px!important;
  padding:8px 12px!important;
  border-radius:9px!important;
  font-size:13px!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.class-actions-bar form{
  display:inline-flex!important;
  margin:0!important;
  padding:0!important;
}
.class-actions-bar .danger{background:#b91c1c!important}
.class-table-wrap{overflow-x:auto!important;max-width:100%!important}
@media(max-width:1100px){
  .class-table-v3{min-width:900px!important}
  .class-table-v3 th:nth-child(1){width:190px!important}
  .class-table-v3 th:nth-child(2){width:128px!important}
  .class-table-v3 th:nth-child(3){width:170px!important}
}
@media(max-width:760px){
  .class-table-v3{min-width:760px!important}
  .class-actions-bar .btn,.class-actions-bar button{min-width:calc(50% - 4px)!important;flex:1 1 calc(50% - 4px)!important}
}


/* LONGMK V1.44.28 - Tối ưu Danh sách lớp theo năm: mã lớp rõ, thao tác 1 hàng thứ 2 */
.class-table-wrap{
  overflow-x:auto!important;
  border-radius:14px!important;
}
.class-table-v3{
  min-width:1180px!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  font-size:14px!important;
}
.class-table-v3 th,.class-table-v3 td{
  padding:10px 12px!important;
  line-height:1.32!important;
  vertical-align:top!important;
}
.class-table-v3 th:nth-child(1){width:270px!important}
.class-table-v3 th:nth-child(2){width:155px!important}
.class-table-v3 th:nth-child(3){width:215px!important}
.class-table-v3 th:nth-child(4){width:90px!important}
.class-table-v3 th:nth-child(5){width:118px!important}
.class-table-v3 th:nth-child(6){width:auto!important;min-width:180px!important}
.class-table-v3 th:nth-child(7){width:112px!important}
.class-table-v3 .class-code-cell{
  min-width:270px!important;
  width:270px!important;
  overflow:hidden!important;
}
.class-code-box{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.class-code-main{
  display:block!important;
  font-size:16px!important;
  font-weight:800!important;
  color:#0f172a!important;
  line-height:1.22!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  white-space:normal!important;
}
.class-code-meta{
  display:inline-block!important;
  margin-top:5px!important;
  padding:2px 8px!important;
  border-radius:999px!important;
  background:#eef6f5!important;
  color:#0f766e!important;
  font-size:12px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.class-code-name{
  display:block!important;
  margin-top:5px!important;
  color:#475569!important;
  font-size:13px!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.class-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:4px 9px!important;
  font-size:12px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.class-status.on{background:#ecfdf5!important;color:#047857!important;border:1px solid #a7f3d0!important}
.class-status.off{background:#f1f5f9!important;color:#64748b!important;border:1px solid #cbd5e1!important}
.class-main-row td{border-bottom:0!important;background:#fff!important}
.class-link-row td.class-actions-cell{
  background:#f8fafc!important;
  border-top:0!important;
  padding:8px 12px 12px!important;
}
.class-action-line{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
}
.class-action-line .class-actions-label{
  flex:0 0 105px!important;
  margin:0!important;
  color:#475569!important;
  font-size:13px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.class-action-line .class-actions-bar{
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  min-width:0!important;
  overflow-x:auto!important;
  padding:2px 0!important;
}
.class-action-line .class-actions-bar .btn,
.class-action-line .class-actions-bar button{
  flex:0 0 auto!important;
  min-width:84px!important;
  min-height:34px!important;
  padding:8px 13px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.class-action-line .class-actions-bar form{
  display:inline-flex!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
}
.class-action-line .class-actions-bar .danger{
  min-width:56px!important;
  background:#b91c1c!important;
}
.class-table-v3 tbody tr:hover td{background:#f8fafc!important}
.class-table-v3 .class-link-row:hover td{background:#f1f5f9!important}
@media(max-width:1250px){
  .class-table-v3{min-width:1120px!important}
  .class-table-v3 th:nth-child(1),.class-table-v3 .class-code-cell{width:245px!important;min-width:245px!important}
  .class-action-line{align-items:flex-start!important}
}
@media(max-width:760px){
  .class-table-v3{min-width:1040px!important}
  .class-action-line{display:block!important}
  .class-action-line .class-actions-label{display:block!important;margin-bottom:6px!important}
  .class-action-line .class-actions-bar{flex-wrap:nowrap!important;overflow-x:auto!important}
}


/* LONGMK V1.44.29 - Tối ưu bảng Danh sách lớp theo năm: mã lớp rộng, ghi chú gọn, thao tác một hàng */
.class-table-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  max-width:100%!important;
  -webkit-overflow-scrolling:touch!important;
}
.class-table-v3{
  width:1240px!important;
  min-width:1240px!important;
  max-width:none!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.class-table-v3 col.class-col-code{width:330px!important}
.class-table-v3 col.class-col-system{width:175px!important}
.class-table-v3 col.class-col-profession{width:225px!important}
.class-table-v3 col.class-col-count{width:95px!important}
.class-table-v3 col.class-col-students{width:112px!important}
.class-table-v3 col.class-col-note{width:150px!important}
.class-table-v3 col.class-col-status{width:110px!important}
.class-table-v3 th:nth-child(1),
.class-table-v3 td:nth-child(1){width:330px!important;min-width:330px!important;max-width:330px!important}
.class-table-v3 th:nth-child(2),
.class-table-v3 td:nth-child(2){width:175px!important;min-width:175px!important;max-width:175px!important}
.class-table-v3 th:nth-child(3),
.class-table-v3 td:nth-child(3){width:225px!important;min-width:225px!important;max-width:225px!important}
.class-table-v3 th:nth-child(4),
.class-table-v3 td:nth-child(4){width:95px!important;min-width:95px!important;max-width:95px!important}
.class-table-v3 th:nth-child(5),
.class-table-v3 td:nth-child(5){width:112px!important;min-width:112px!important;max-width:112px!important}
.class-table-v3 th:nth-child(6),
.class-table-v3 td:nth-child(6){width:150px!important;min-width:150px!important;max-width:150px!important}
.class-table-v3 th:nth-child(7),
.class-table-v3 td:nth-child(7){width:110px!important;min-width:110px!important;max-width:110px!important}
.class-table-v3 .class-code-cell{
  width:330px!important;
  min-width:330px!important;
  max-width:330px!important;
  overflow:hidden!important;
}
.class-table-v3 .class-code-main{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  letter-spacing:.1px!important;
}
.class-table-v3 .class-code-meta,
.class-table-v3 .class-code-name{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.class-table-v3 .class-code-name{white-space:nowrap!important}
.class-table-v3 td:nth-child(2),
.class-table-v3 td:nth-child(3){
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.class-table-v3 td:nth-child(6){
  color:#475569!important;
  font-size:13px!important;
  overflow-wrap:break-word!important;
}
.class-link-row td.class-actions-cell{
  padding:8px 14px!important;
  background:#f8fafc!important;
  height:auto!important;
  vertical-align:middle!important;
}
.class-action-line{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  min-height:42px!important;
}
.class-action-line .class-actions-label{
  flex:0 0 auto!important;
  min-width:108px!important;
  margin:0!important;
  padding-right:2px!important;
  font-size:13px!important;
  font-weight:800!important;
  color:#334155!important;
  white-space:nowrap!important;
}
.class-action-line .class-actions-bar{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 3px!important;
}
.class-action-line .class-actions-bar form{
  display:contents!important;
  margin:0!important;
  padding:0!important;
}
.class-action-line .class-actions-bar .btn,
.class-action-line .class-actions-bar button{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:72px!important;
  min-height:34px!important;
  margin:0!important;
  padding:8px 14px!important;
  border-radius:10px!important;
  line-height:1!important;
  font-size:13px!important;
  white-space:nowrap!important;
  text-align:center!important;
}
.class-action-line .class-actions-bar .btn.secondary{min-width:104px!important}
.class-action-line .class-actions-bar .danger{min-width:58px!important;background:#b91c1c!important}
.class-main-row td{height:auto!important;min-height:0!important}
.class-link-row{height:auto!important}
@media(max-width:1250px){
  .class-table-v3{width:1240px!important;min-width:1240px!important}
  .class-table-v3 th:nth-child(1),.class-table-v3 td:nth-child(1),.class-table-v3 .class-code-cell{width:330px!important;min-width:330px!important;max-width:330px!important}
  .class-action-line{align-items:center!important}
}
@media(max-width:760px){
  .class-table-v3{width:1180px!important;min-width:1180px!important}
  .class-action-line{display:flex!important;align-items:center!important;flex-wrap:nowrap!important}
  .class-action-line .class-actions-label{margin:0!important;min-width:105px!important}
  .class-action-line .class-actions-bar{flex-wrap:nowrap!important;overflow-x:auto!important}
}

/* LONGMK V1.44.33 - Fix layout Danh sách lớp theo năm: mã lớp rộng, thao tác cùng 1 hàng, chống cache bằng class v4 */
.class-table-wrap{overflow-x:auto!important;overflow-y:visible!important;max-width:100%!important;-webkit-overflow-scrolling:touch!important}
.class-table-v4{width:100%!important;min-width:1120px!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important}
.class-table-v4 th,.class-table-v4 td{box-sizing:border-box!important;vertical-align:top!important}
.class-table-v4 col.class-col-code{width:300px!important}
.class-table-v4 col.class-col-system{width:155px!important}
.class-table-v4 col.class-col-profession{width:230px!important}
.class-table-v4 col.class-col-count{width:95px!important}
.class-table-v4 col.class-col-students{width:110px!important}
.class-table-v4 col.class-col-note{width:160px!important}
.class-table-v4 .class-code-cell{width:300px!important;min-width:300px!important;max-width:300px!important;overflow:hidden!important}
.class-table-v4 .class-code-box{display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important}
.class-table-v4 .class-code-main{display:block!important;font-size:16px!important;font-weight:800!important;color:#0f172a!important;line-height:1.22!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.class-table-v4 .class-code-meta{display:inline-block!important;margin-top:5px!important;padding:2px 8px!important;border-radius:999px!important;background:#eef6f5!important;color:#0f766e!important;font-size:12px!important;font-weight:700!important;white-space:nowrap!important}
.class-table-v4 .class-code-name{display:block!important;margin-top:5px!important;color:#475569!important;font-size:13px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.class-table-v4 td:nth-child(2),.class-table-v4 td:nth-child(3){white-space:normal!important;overflow-wrap:break-word!important}
.class-table-v4 td:nth-child(4),.class-table-v4 td:nth-child(5){text-align:center!important}
.class-table-v4 td:nth-child(6){font-size:13px!important;color:#475569!important;overflow-wrap:break-word!important}
.class-table-v4 .class-link-row td.class-actions-cell,.class-link-row td.class-actions-cell{background:#f8fafc!important;border-top:0!important;padding:8px 14px!important;vertical-align:middle!important}
.class-action-line{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:40px!important;flex-wrap:nowrap!important}
.class-action-line .class-actions-label{flex:0 0 auto!important;margin:0!important;color:#334155!important;font-size:13px!important;font-weight:800!important;white-space:nowrap!important}
.class-action-line .class-actions-bar{flex:1 1 auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 2px 4px!important}
.class-action-line .class-actions-bar form,.class-action-line .class-actions-bar .class-inline-form{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;margin:0!important;padding:0!important}
.class-action-line .class-actions-bar .btn,.class-action-line .class-actions-bar button{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:auto!important;min-width:72px!important;min-height:34px!important;margin:0!important;padding:8px 14px!important;border-radius:10px!important;line-height:1!important;font-size:13px!important;white-space:nowrap!important;text-align:center!important}
.class-action-line .class-actions-bar .btn.secondary{min-width:104px!important;background:#475569!important}
.class-action-line .class-actions-bar .danger{min-width:58px!important;background:#b91c1c!important;color:#fff!important}
@media(max-width:760px){.class-table-v4{min-width:1080px!important}.class-action-line{align-items:center!important}.class-action-line .class-actions-bar{flex-wrap:nowrap!important;overflow-x:auto!important}}


/* LONGMK V1.44.33 - Chuẩn hóa giao diện card-list Danh sách lớp theo năm */
.class-card-list-v5{display:flex;flex-direction:column;gap:12px;margin-top:14px;}
.class-card-v5{border:1px solid #d8e0e8;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.04);overflow:hidden;}
.class-card-main-v5{display:grid;grid-template-columns:minmax(280px,1.45fr) minmax(140px,.75fr) minmax(220px,1fr) minmax(110px,.52fr) minmax(125px,.58fr) minmax(140px,.75fr);border-bottom:1px solid #e2e8f0;}
.class-field-v5{min-width:0;padding:14px 16px;border-right:1px solid #e2e8f0;}
.class-field-v5:last-child{border-right:0;}
.class-actions-v5{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8fafc;min-height:52px;}
.class-actions-bar-v5{flex:1 1 auto;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:2px 2px 4px;-webkit-overflow-scrolling:touch;}
.class-actions-bar-v5 form{display:inline-flex;flex:0 0 auto;width:auto;margin:0;padding:0;}
.class-actions-bar-v5 .btn,.class-actions-bar-v5 button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:74px;min-height:36px;margin:0;padding:9px 15px;border-radius:10px;line-height:1;font-size:13px;font-weight:800;white-space:nowrap;text-align:center;}
@media(max-width:760px){.class-card-main-v5{grid-template-columns:1fr}.class-field-v5{border-right:0;border-bottom:1px solid #e2e8f0}.class-field-v5:last-child{border-bottom:0}.class-actions-v5{align-items:flex-start;flex-direction:column}.class-actions-bar-v5{width:100%;flex-wrap:nowrap}}

/* LONGMK V1.44.33 - Cấu hình thứ tự môn in bảng điểm */
.subject-order-form .mini-input{max-width:86px;text-align:center}
.subject-order-form .condition-subject td{background:#f3f4f6}
.subpanel{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:14px;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.subpanel h3{margin:0 0 10px;color:#0f172a}
.notice{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;border-radius:12px;padding:10px 12px;margin:10px 0;line-height:1.45}
@media(max-width:760px){.subject-order-form .mini-input{max-width:70px}.subpanel{padding:10px}}

/* LONGMK V1.44.38 - Toàn bộ bản in dùng Times New Roman, bảng điểm tự co chữ/tách trang */
@media print{
  .print-page,.excel-print,.sll-book,.sll-page,.stgv-print,.bgtk-page,
  .print-page *,.excel-print *,.sll-book *,.sll-page *,.stgv-print *,.bgtk-page *{
    font-family:"Times New Roman",Times,serif!important;
  }
}
.bgtk-page,.bgtk-page *{font-family:"Times New Roman",Times,serif!important;}
.bgtk-actions,.bgtk-actions *{font-family:Arial,sans-serif!important;}


/* LONGMK V1.44.38 - Bảng điểm: không tách môn theo trang, chỉ tách theo dòng học sinh */
.bgtk-flow-score{overflow:hidden}
.bgtk-flow-score .bgtk-head{font-size:11pt}
.bgtk-flow-score .bgtk-title.bgtk-term-title{font-size:14.2pt;margin:2mm 0 1.5mm}
.bgtk-flow-score .bgtk-term-meta{font-size:10.8pt;margin:0 6mm 2.2mm;line-height:1.18}
.bgtk-flow-table th,.bgtk-flow-table td{overflow:hidden;text-overflow:clip}
.bgtk-flow-table .stage-group-head{font-size:9pt;line-height:1;font-weight:bold;height:7mm}
.bgtk-flow-table .term-subject-head{height:32mm;min-height:32mm;padding:1px 0!important;vertical-align:bottom}
.bgtk-flow-table .vertical-text{max-height:31mm;font-weight:bold;line-height:.96}
.bgtk-flow-table .credit-head{height:6.5mm;min-height:6.5mm;font-weight:normal}
.bgtk-flow-table .name-last{white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
.bgtk-flow-table .name-first{text-align:center!important;font-weight:normal}
.bgtk-flow-table td{height:5.3mm}
.bgtk-continuation-title{text-align:center;font-weight:bold;text-transform:uppercase;font-size:10.5pt;line-height:1.05;margin:0 0 1mm}
.bgtk-continuation-title span{font-weight:normal;text-transform:none}
.bgtk-cont-page{padding-top:2mm!important}
.bgtk-student-paged .bgtk-term-summary{margin:6mm 0 5mm 24mm}
.bgtk-student-paged .bgtk-sign-grid{margin-top:6mm}
.bgtk-fit-normal .bgtk-flow-table th,.bgtk-fit-normal .bgtk-flow-table td{font-size:8.8pt}
.bgtk-fit-normal .bgtk-flow-table .vertical-text{font-size:8.5pt}
.bgtk-fit-compact .bgtk-flow-table th,.bgtk-fit-compact .bgtk-flow-table td{font-size:7.4pt!important;line-height:.96!important;padding:0 1px!important}
.bgtk-fit-compact .bgtk-flow-table .vertical-text{font-size:7.1pt!important}
.bgtk-fit-tiny .bgtk-flow-table th,.bgtk-fit-tiny .bgtk-flow-table td{font-size:6.3pt!important;line-height:.94!important;padding:0!important}
.bgtk-fit-tiny .bgtk-flow-table .vertical-text{font-size:6.0pt!important}
.bgtk-fit-micro .bgtk-flow-table th,.bgtk-fit-micro .bgtk-flow-table td{font-size:5.5pt!important;line-height:.92!important;padding:0!important}
.bgtk-fit-micro .bgtk-flow-table .vertical-text{font-size:5.2pt!important}
.bgtk-fit-ultra .bgtk-flow-table th,.bgtk-fit-ultra .bgtk-flow-table td{font-size:4.8pt!important;line-height:.9!important;padding:0!important}
.bgtk-fit-ultra .bgtk-flow-table .vertical-text{font-size:4.6pt!important}
.bgtk-fit-micro .bgtk-flow-table .term-subject-head,.bgtk-fit-ultra .bgtk-flow-table .term-subject-head{height:30mm;min-height:30mm}
.bgtk-fit-micro .bgtk-flow-table .vertical-text,.bgtk-fit-ultra .bgtk-flow-table .vertical-text{max-height:29mm}
@media print{
  .bgtk-flow-score{padding:0!important}
  .bgtk-flow-score .bgtk-head{font-size:10.5pt!important}
  .bgtk-flow-score .bgtk-title.bgtk-term-title{font-size:13.5pt!important;margin:1.5mm 0 1mm!important}
  .bgtk-flow-score .bgtk-term-meta{font-size:10.3pt!important;margin:0 5mm 2mm!important}
  .bgtk-cont-page{padding-top:0!important}
  .bgtk-page-part{font-size:8pt!important;margin:0 0 .8mm!important}
  .bgtk-flow-table .term-subject-head{height:31mm!important;min-height:31mm!important}
  .bgtk-flow-table .vertical-text{max-height:30mm!important}
  .bgtk-flow-table td{height:4.8mm!important}
  .bgtk-student-paged .bgtk-term-summary{margin-top:5mm!important}
  .bgtk-student-paged .bgtk-sign-grid{margin-top:5mm!important}
  .bgtk-fit-tiny .bgtk-flow-table th,.bgtk-fit-tiny .bgtk-flow-table td{font-size:6.0pt!important}
  .bgtk-fit-micro .bgtk-flow-table th,.bgtk-fit-micro .bgtk-flow-table td{font-size:5.2pt!important}
  .bgtk-fit-ultra .bgtk-flow-table th,.bgtk-fit-ultra .bgtk-flow-table td{font-size:4.5pt!important}
}
