/* QFE — Thẻ tải xuống (filecard), mẫu A (QFE 1.51.0).
   Hàng chính: icon loại tệp · tên + "ZIP · 156 KB · 8 tệp font" · nút OneDrive · nút Tải xuống (cả hai dạng viền).
   Dải dưới (.qfe-file-foot): SHA-256 + nút sao chép (assets/front-file.js) bên trái · cụm Cập nhật + nguồn tải (.qfe-file-foot-r) bên phải.
   Nhiều thẻ liền nhau → một danh sách: ẩn dải dưới, hiện ngày ở dòng phụ, nút OneDrive chỉ còn icon.
   Markup: includes/file.php (qfe_filecard_html / qfe_filecard_od_html); thẻ đã lưu được dựng lại khi hiển thị.
   Design language msedu: phẳng, viền 1px, bo 8px (chip 6px), không pill, không shadow; hover đổi viền/màu.
   Nổi khỏi nền trang bằng tương phản phẳng (1.52.3): nền thẻ xám rất nhạt, viền ngoài đậm hơn, dải dưới xám hơn một bậc. */
.entry-content .qfe-file{
	--qfe-f-ink:#0F172A;
	--qfe-f-text:#334155;
	--qfe-f-muted:#64748B;
	--qfe-f-line:#E2E8F0;
	--qfe-f-edge:#CBD5E1;
	--qfe-f-line-hover:#B4BFCD;
	--qfe-f-bg:#F8FAFC;
	--qfe-f-subtle:#F1F5F9;
	--qfe-f-primary:var(--ms-primary, #2F6BFF);
	box-sizing:border-box;
	display:flex; flex-wrap:wrap; align-items:center; column-gap:14px; row-gap:0;
	margin:1.6em 0; padding:16px 18px;
	background:var(--qfe-f-bg); border:1px solid var(--qfe-f-edge); border-radius:8px;
	line-height:1.4; transition:border-color .15s ease;
}
.entry-content .qfe-file:hover{ border-color:var(--qfe-f-line-hover); }

/* Icon loại tệp: ô nền nhạt theo loại + biểu tượng nét (CSS mask). Chữ đuôi tệp trong markup được ẩn. */
.entry-content .qfe-file-ic{
	--qfe-ic:#475569; --qfe-ic-bg:#fff; --qfe-ic-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3C/svg%3E");
	box-sizing:border-box; position:relative; flex:0 0 auto;
	width:44px; height:44px; border-radius:8px;
	border:1px solid color-mix(in srgb, var(--qfe-ic) 16%, transparent);
	background:var(--qfe-ic-bg);
	color:transparent; font-size:0; line-height:0; overflow:hidden;
}
.entry-content .qfe-file-ic::before{
	content:""; position:absolute; inset:0; margin:auto; width:22px; height:22px;
	background:var(--qfe-ic);
	-webkit-mask:var(--qfe-ic-svg) center/contain no-repeat; mask:var(--qfe-ic-svg) center/contain no-repeat;
}
.entry-content .qfe-ft-archive .qfe-file-ic{ --qfe-ic:#B45309; --qfe-ic-bg:#FEF7EB; --qfe-ic-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 12v-1'/%3E%3Cpath d='M10 18v-2'/%3E%3Cpath d='M10 7V6'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .27 1.01'/%3E%3Ccircle cx='10' cy='20' r='2'/%3E%3C/svg%3E"); }
.entry-content .qfe-ft-pdf .qfe-file-ic{ --qfe-ic:#DC2626; --qfe-ic-bg:#FEF2F2; --qfe-ic-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E"); }
.entry-content .qfe-ft-doc .qfe-file-ic{ --qfe-ic:#1D4ED8; --qfe-ic-bg:#EFF6FF; --qfe-ic-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E"); }
.entry-content .qfe-ft-sheet .qfe-file-ic{ --qfe-ic:#15803D; --qfe-ic-bg:#F0FDF4; --qfe-ic-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M8 13h2'/%3E%3Cpath d='M14 13h2'/%3E%3Cpath d='M8 17h2'/%3E%3Cpath d='M14 17h2'/%3E%3C/svg%3E"); }
.entry-content .qfe-ft-slide .qfe-file-ic{ --qfe-ic:#C2410C; --qfe-ic-bg:#FFF7ED; --qfe-ic-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h20'/%3E%3Cpath d='M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3'/%3E%3Cpath d='m7 21 5-5 5 5'/%3E%3C/svg%3E"); }
.entry-content .qfe-ft-media .qfe-file-ic{ --qfe-ic:#6D28D9; --qfe-ic-bg:#F5F3FF; --qfe-ic-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='m10 11 5 3-5 3v-6Z'/%3E%3C/svg%3E"); }

/* Tên (dòng 1) + loại · dung lượng · số tệp trong zip · (ngày, chỉ khi ở danh sách) */
.entry-content .qfe-file-info{ flex:1 1 220px; min-width:0; display:flex; flex-wrap:wrap; align-items:center; row-gap:2px; }
.entry-content .qfe-file a.qfe-file-name{
	flex:0 0 100%; min-width:0;
	font-size:16px; font-weight:600; line-height:1.4; color:var(--qfe-f-ink);
	text-decoration:none; overflow-wrap:anywhere;
}
.entry-content .qfe-file a.qfe-file-name:hover{ color:var(--qfe-f-primary); text-decoration:none; }
.entry-content .qfe-file-info > span,
.entry-content .qfe-file-info > a.qfe-file-view{ font-size:13px; line-height:1.5; color:var(--qfe-f-muted); white-space:nowrap; font-variant-numeric:tabular-nums; }
.entry-content .qfe-file-type{ font-weight:600; letter-spacing:.02em; }
.entry-content .qfe-file-info > span + span::before,
.entry-content .qfe-file-info > span + a.qfe-file-view::before{ content:"·"; display:inline-block; margin:0 6px; color:#CBD5E1; }
.entry-content .qfe-file-date{ display:none; }

/* Nút dạng viền: Tải xuống chữ màu mực, OneDrive chữ xám; hover viền + chữ màu chính. Cao 36px, bo 8px, icon 16px. */
.entry-content .qfe-file a.qfe-file-btn,
.entry-content .qfe-file .qfe-file-mirror{
	box-sizing:border-box; flex:0 0 auto;
	display:inline-flex; align-items:center; justify-content:center; gap:6px;
	min-height:36px; padding:0 14px; border:1px solid transparent; border-radius:8px;
	font-size:14px; font-weight:600; line-height:1; text-decoration:none; white-space:nowrap;
	transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.entry-content .qfe-file a.qfe-file-btn::before,
.entry-content .qfe-file .qfe-file-mirror::before{
	content:""; flex:0 0 auto; width:16px; height:16px; background:currentColor;
	-webkit-mask:var(--qfe-btn-ic) center/contain no-repeat; mask:var(--qfe-btn-ic) center/contain no-repeat;
}
.entry-content .qfe-file .qfe-file-mirror{
	--qfe-btn-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E");
	margin-left:auto; background:#fff; border-color:#D5DCE6; color:var(--qfe-f-text);
}
.entry-content .qfe-file a.qfe-file-mirror:hover{ background:#fff; border-color:var(--qfe-f-primary); color:var(--qfe-f-primary); text-decoration:none; }
.entry-content .qfe-file a.qfe-file-btn{
	--qfe-btn-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E");
	margin-left:auto; background:#fff; border-color:#D5DCE6; color:var(--qfe-f-ink);
}
.entry-content .qfe-file .qfe-file-mirror + a.qfe-file-btn{ margin-left:0; }
.entry-content .qfe-file a.qfe-file-btn:hover{ background:#fff; border-color:var(--qfe-f-primary); color:var(--qfe-f-primary); text-decoration:none; }

/* Dải thông tin dưới thẻ: tràn hết bề ngang thẻ, nền xám rất nhạt */
.entry-content .qfe-file-foot{
	box-sizing:border-box; flex:0 0 calc(100% + 36px);
	display:flex; flex-wrap:wrap; align-items:center; gap:6px 20px;
	margin:16px -18px -16px; padding:9px 18px;
	border-top:1px solid var(--qfe-f-line); border-radius:0 0 7px 7px; background:var(--qfe-f-subtle);
	font-size:11.5px; line-height:1.5; color:var(--qfe-f-muted);
}
.entry-content .qfe-file-foot-r{ display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:6px 20px; margin-left:auto; min-width:0; }
.entry-content .qfe-file-sha,
.entry-content .qfe-file-upd,
.entry-content .qfe-file-src{ display:inline-flex; align-items:center; gap:5px; min-width:0; }
.entry-content .qfe-file-sha::before,
.entry-content .qfe-file-upd::before,
.entry-content .qfe-file-src::before{
	content:""; flex:0 0 auto; width:12px; height:12px; background:currentColor;
	-webkit-mask:var(--qfe-foot-ic) center/contain no-repeat; mask:var(--qfe-foot-ic) center/contain no-repeat;
}
.entry-content .qfe-file-sha{ --qfe-foot-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.entry-content .qfe-file-upd{ --qfe-foot-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E"); }
.entry-content .qfe-file-src{ --qfe-foot-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='8' x='2' y='2' rx='2'/%3E%3Crect width='20' height='8' x='2' y='14' rx='2'/%3E%3Cpath d='M6 6h.01'/%3E%3Cpath d='M6 18h.01'/%3E%3C/svg%3E"); }
.entry-content .qfe-file-src.is-od{ --qfe-foot-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E"); }
.entry-content .qfe-file-foot code{
	margin:0; padding:1px 5px; border:1px solid var(--qfe-f-line); border-radius:6px; background:#fff;
	color:var(--qfe-f-text); font-family:ui-monospace, SFMono-Regular, "Cascadia Mono", Consolas, monospace; font-size:11px; white-space:nowrap;
}
.entry-content .qfe-file .qfe-file-copy{
	-webkit-appearance:none; appearance:none; box-sizing:border-box;
	display:inline-grid; place-items:center; width:24px; height:24px; min-height:0; margin:0 0 0 -2px; padding:0;
	border:1px solid transparent; border-radius:6px; background:transparent; box-shadow:none;
	color:var(--qfe-f-muted); font-size:0; line-height:0; cursor:pointer;
}
.entry-content .qfe-file .qfe-file-copy::before{
	content:""; width:13px; height:13px; background:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='14' x='8' y='8' rx='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='14' x='8' y='8' rx='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/svg%3E") center/contain no-repeat;
}
.entry-content .qfe-file .qfe-file-copy:hover,
.entry-content .qfe-file .qfe-file-copy:focus{ border-color:var(--qfe-f-line); background:#fff; color:var(--qfe-f-ink); }
.entry-content .qfe-file .qfe-file-copy.is-copied{ color:#15803D; }
.entry-content .qfe-file .qfe-file-copy.is-copied::before{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.entry-content .qfe-file a.qfe-file-view{ color:var(--qfe-f-muted); text-decoration:none; white-space:nowrap; }
.entry-content .qfe-file a.qfe-file-view:hover{ color:var(--qfe-f-primary); text-decoration:underline; text-underline-offset:2px; }
.entry-content .qfe-file a.qfe-file-view::after{
	content:""; display:inline-block; width:11px; height:11px; margin-left:4px; vertical-align:-1px; background:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.entry-content .qfe-file a.qfe-file-name:focus-visible,
.entry-content .qfe-file a.qfe-file-view:focus-visible,
.entry-content .qfe-file a.qfe-file-mirror:focus-visible,
.entry-content .qfe-file a.qfe-file-btn:focus-visible,
.entry-content .qfe-file .qfe-file-copy:focus-visible{ outline:2px solid var(--qfe-f-primary); outline-offset:2px; box-shadow:none; }

/* ===== Nhiều thẻ liền nhau → một danh sách tệp (cả trang xem lẫn trình sửa, nơi mỗi thẻ bọc trong .qfe-eb).
   Viền ngoài đậm, đường chia giữa các dòng nhạt; dòng đang hover nổi lớp (z-index) để hiện đủ viền hover. ===== */
.entry-content .qfe-file:has(+ .qfe-file),
#qfe-root .qfe-eb:has(> .qfe-file):has(+ .qfe-eb > .qfe-file) > .qfe-file{ margin-bottom:0; border-bottom-left-radius:0; border-bottom-right-radius:0; }
.entry-content .qfe-file + .qfe-file,
#qfe-root .qfe-eb:has(> .qfe-file) + .qfe-eb > .qfe-file{ margin-top:-1px; border-top-color:var(--qfe-f-line); border-top-left-radius:0; border-top-right-radius:0; }
.entry-content .qfe-file:has(+ .qfe-file),
.entry-content .qfe-file + .qfe-file,
#qfe-root .qfe-eb:has(> .qfe-file):has(+ .qfe-eb > .qfe-file) > .qfe-file,
#qfe-root .qfe-eb:has(> .qfe-file) + .qfe-eb > .qfe-file{ padding:12px 16px; }
.entry-content .qfe-file:has(+ .qfe-file):hover,
.entry-content .qfe-file + .qfe-file:hover,
#qfe-root .qfe-eb:has(> .qfe-file):has(+ .qfe-eb > .qfe-file) > .qfe-file:hover,
#qfe-root .qfe-eb:has(> .qfe-file) + .qfe-eb > .qfe-file:hover{ position:relative; z-index:1; border-color:var(--qfe-f-line-hover); }
.entry-content .qfe-file:has(+ .qfe-file) .qfe-file-foot,
.entry-content .qfe-file + .qfe-file .qfe-file-foot,
#qfe-root .qfe-eb:has(> .qfe-file):has(+ .qfe-eb > .qfe-file) > .qfe-file .qfe-file-foot,
#qfe-root .qfe-eb:has(> .qfe-file) + .qfe-eb > .qfe-file .qfe-file-foot{ display:none; }
.entry-content .qfe-file:has(+ .qfe-file) .qfe-file-date,
.entry-content .qfe-file + .qfe-file .qfe-file-date,
#qfe-root .qfe-eb:has(> .qfe-file):has(+ .qfe-eb > .qfe-file) > .qfe-file .qfe-file-date,
#qfe-root .qfe-eb:has(> .qfe-file) + .qfe-eb > .qfe-file .qfe-file-date{ display:inline; }
.entry-content .qfe-file:has(+ .qfe-file) .qfe-file-ic,
.entry-content .qfe-file + .qfe-file .qfe-file-ic,
#qfe-root .qfe-eb:has(> .qfe-file):has(+ .qfe-eb > .qfe-file) > .qfe-file .qfe-file-ic,
#qfe-root .qfe-eb:has(> .qfe-file) + .qfe-eb > .qfe-file .qfe-file-ic{ width:38px; height:38px; }
.entry-content .qfe-file:has(+ .qfe-file) .qfe-file-ic::before,
.entry-content .qfe-file + .qfe-file .qfe-file-ic::before,
#qfe-root .qfe-eb:has(> .qfe-file):has(+ .qfe-eb > .qfe-file) > .qfe-file .qfe-file-ic::before,
#qfe-root .qfe-eb:has(> .qfe-file) + .qfe-eb > .qfe-file .qfe-file-ic::before{ width:20px; height:20px; }
.entry-content .qfe-file:has(+ .qfe-file) a.qfe-file-name,
.entry-content .qfe-file + .qfe-file a.qfe-file-name,
#qfe-root .qfe-eb:has(> .qfe-file):has(+ .qfe-eb > .qfe-file) > .qfe-file a.qfe-file-name,
#qfe-root .qfe-eb:has(> .qfe-file) + .qfe-eb > .qfe-file a.qfe-file-name{ font-size:15px; }
.entry-content .qfe-file:has(+ .qfe-file) .qfe-file-mirror,
.entry-content .qfe-file + .qfe-file .qfe-file-mirror,
#qfe-root .qfe-eb:has(> .qfe-file):has(+ .qfe-eb > .qfe-file) > .qfe-file .qfe-file-mirror,
#qfe-root .qfe-eb:has(> .qfe-file) + .qfe-eb > .qfe-file .qfe-file-mirror{ width:36px; padding:0; gap:0; font-size:0; }

/* Màn hình hẹp: icon + tên ở hàng trên, các nút chia đều hàng dưới, dải thông tin xuống dòng */
@media (max-width:560px){
	.entry-content .qfe-file{ padding:14px; column-gap:12px; row-gap:12px; }
	.entry-content .qfe-file-info{ flex:1 1 calc(100% - 56px); }
	.entry-content .qfe-file a.qfe-file-btn,
	.entry-content .qfe-file .qfe-file-mirror{ flex:1 1 0; margin-left:0; }
	.entry-content .qfe-file-foot{ flex-basis:calc(100% + 28px); margin:0 -14px -14px; padding:9px 14px; gap:4px 14px; }
	.entry-content .qfe-file-foot-r{ margin-left:0; justify-content:flex-start; gap:4px 14px; }
	.entry-content .qfe-file:has(+ .qfe-file) .qfe-file-mirror,
.entry-content .qfe-file + .qfe-file .qfe-file-mirror,
#qfe-root .qfe-eb:has(> .qfe-file):has(+ .qfe-eb > .qfe-file) > .qfe-file .qfe-file-mirror,
#qfe-root .qfe-eb:has(> .qfe-file) + .qfe-eb > .qfe-file .qfe-file-mirror{ flex:0 0 36px; }
}

/* In ấn / PDF: bỏ nút, giữ dải thông tin (SHA-256), in kèm đường dẫn tệp */
@media print{
	.entry-content .qfe-file{ break-inside:avoid; }
	.entry-content .qfe-file a.qfe-file-btn,
	.entry-content .qfe-file .qfe-file-mirror,
	.entry-content .qfe-file .qfe-file-copy{ display:none; }
	.entry-content .qfe-file a.qfe-file-name::after{ content:" — " attr(href); font-weight:400; font-size:.85em; color:#64748B; overflow-wrap:anywhere; }
}
