/* Lịch hội thảo: tệp riêng, chỉ tải trên trang này; mọi quy tắc nằm trong .cf nên không ảnh hưởng trang khác. */
.cf { --cf-r: 16px; background: var(--bg-alt); }
.cf h1, .cf h2, .cf h3, .cf p, .cf ul { margin: 0; }
.cf ul { padding: 0; list-style: none; }
.cf a:focus-visible, .cf button:focus-visible, .cf summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Đầu trang */
.cf-hero { padding: 24px 0 112px; color: #fff; background: radial-gradient(720px 380px at 94% -10%, rgba(255,102,0,.3), transparent 62%), radial-gradient(620px 420px at 0 110%, rgba(95,76,255,.45), transparent 60%), linear-gradient(135deg, var(--brand) 0%, var(--brand-900) 100%); }
.cf-hero .breadcrumbs, .cf-hero .breadcrumbs a { color: #c9c6f0; }
.cf-hero h1 { margin-top: 18px; color: #fff; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.18; letter-spacing: -.015em; }
.cf-hero__lead { max-width: 700px; margin-top: 10px; color: #dcd9fb; font-size: 16.5px; line-height: 1.65; }
.cf-hero__upd { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; font-size: 13.5px; font-weight: 600; }
.cf-hero__upd i { width: 8px; height: 8px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 3px rgba(74,222,128,.25); }

/* Bốn mục */
.cf-body { padding-bottom: 60px; }
.cf-tabs { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: -84px; }
.cf-tab { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; align-items: center; padding: 15px 16px; border: 1px solid var(--line); border-radius: var(--cf-r); background: #fff; color: var(--text); text-decoration: none; box-shadow: var(--shadow); transition: transform .18s, box-shadow .18s, border-color .18s; }
.cf-tab:hover { border-color: var(--brand-100); color: var(--text); box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.cf-tab__n { grid-row: span 2; min-width: 52px; padding: 7px 8px; border-radius: 12px; background: var(--brand-50); color: var(--brand); font-size: 21px; font-weight: 800; line-height: 1.2; text-align: center; }
.cf-tab__t { color: var(--ink); font-size: 15.5px; font-weight: 700; line-height: 1.3; }
.cf-tab small { color: var(--muted); font-size: 12.5px; line-height: 1.35; }
.cf-tab--old .cf-tab__n { background: #f1f0f6; color: #5d5c72; }
.cf-tab[aria-current] { border-color: var(--brand); background: var(--brand); box-shadow: 0 14px 30px rgba(24,0,173,.28); }
.cf-tab[aria-current] .cf-tab__n { background: rgba(255,255,255,.18); color: #fff; }
.cf-tab[aria-current] .cf-tab__t { color: #fff; }
.cf-tab[aria-current] small { color: #dcd9fb; }
.cf-tab--old[aria-current] { border-color: #4b4a60; background: #4b4a60; box-shadow: 0 14px 30px rgba(50,48,75,.26); }

/* Thanh lọc */
.cf-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; padding: 10px; border: 1px solid var(--line); border-radius: var(--cf-r); background: #fff; box-shadow: var(--shadow-sm); }
.cf-filter label { margin: 0; }
.cf-filter__q { position: relative; display: block; flex: 1 1 300px; }
.cf-filter__q svg { position: absolute; left: 13px; top: 13px; color: var(--muted); pointer-events: none; }
.cf-filter input[type="search"], .cf-filter select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--ink); font: inherit; font-size: 15px; }
.cf-filter input[type="search"] { padding: 0 12px 0 40px; }
.cf-filter select { min-width: 170px; padding: 0 10px; }
.cf-filter input:focus, .cf-filter select:focus { border-color: var(--brand); outline: 0; box-shadow: 0 0 0 3px var(--brand-50); }
.cf-check { display: inline-flex; align-items: center; gap: 7px; padding: 0 6px; color: var(--ink); font-size: 14.5px; font-weight: 600; cursor: pointer; }
.cf-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--brand); }

.cf-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); font: inherit; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.cf-btn:hover { border-color: var(--brand-100); background: var(--brand-50); color: var(--brand); }
.cf-btn--pri { border-color: var(--brand); background: var(--brand); color: #fff; }
.cf-btn--pri:hover { border-color: var(--brand-700); background: var(--brand-700); color: #fff; }

.cf-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 12px; }
.cf-chips button { min-height: 38px; padding: 0 13px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: #4f4e63; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .15s, color .15s; }
.cf-chips button[hidden] { display: none; }
.cf-chips button:hover { border-color: var(--brand-100); color: var(--brand); }
.cf-chips em { margin-left: 2px; color: var(--muted); font-size: 12.5px; font-style: normal; }
.cf-chips button[aria-pressed="true"], .cf-chips button[aria-pressed="true"] em { border-color: var(--brand); background: var(--brand); color: #fff; }
.cf-count { margin-bottom: 10px; color: var(--muted); font-size: 14.5px; scroll-margin-top: calc(var(--header-h) + 16px); }
.cf-count b { color: var(--ink); }

/* Danh sách */
.cf-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; transition: opacity .15s; }
.cf-list[aria-busy="true"] { opacity: .5; }
.cf-card { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 15px; padding: 16px; border: 1px solid var(--line); border-radius: var(--cf-r); background: #fff; box-shadow: var(--shadow-sm); transition: box-shadow .2s, border-color .2s, transform .2s; }
.cf-card:hover { border-color: var(--brand-100); box-shadow: var(--shadow); transform: translateY(-2px); }
.cf-card__date { align-self: start; padding: 9px 2px; border-radius: 13px; background: var(--brand-50); color: var(--brand); text-align: center; }
.cf-card__date b { display: block; font-size: 25px; line-height: 1.1; }
.cf-card__date span { font-size: 12px; font-weight: 600; }
.cf-card__main { display: flex; flex-direction: column; min-width: 0; }
.cf-card__tags { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 7px; }
.cf-tag { padding: 2px 8px; border-radius: 999px; background: #f1f0f9; color: #4f4e63; font-size: 12px; font-weight: 600; line-height: 1.5; }
.cf-tag--field { background: var(--brand-50); color: var(--brand); }
.cf-tag--vn { background: var(--green-50); color: #0f7a45; }
.cf-tag--rank { background: var(--accent-50); color: #b84800; }
.cf-tag--end { background: #ececf2; color: #55546a; }
.cf-card__title { color: var(--ink); font-size: 16.5px; line-height: 1.4; overflow-wrap: anywhere; }
.cf-card__title a { color: inherit; text-decoration: none; }
.cf-card__title a:hover { color: var(--brand); text-decoration: underline; }
.cf-card__acr { margin-top: 2px; color: var(--muted); font-size: 13.5px; font-weight: 600; }
.cf-card__meta { display: grid; gap: 3px; margin-top: 7px; }
.cf-card__meta li { display: flex; align-items: center; gap: 6px; color: #4f4e63; font-size: 14px; line-height: 1.45; }
.cf-card__meta svg { flex: none; color: var(--brand); }
.cf-dl { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; margin-top: 9px; padding: 6px 10px; border-radius: 9px; background: var(--accent-50); color: var(--ink); font-size: 13.5px; }
.cf-dl b { font-weight: 700; }
.cf-dl__left { color: #b84800; font-weight: 700; }
.cf-dl small { color: var(--muted); font-size: 12.5px; }
.cf-dl.is-soon { background: #fff0ec; box-shadow: inset 0 0 0 1px #ffd3c8; }
.cf-dl.is-past { background: #f3f3f7; color: #55546a; }
.cf-card__ft { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-top: auto; padding-top: 11px; }
.cf-src { color: #66657b; font-size: 12.5px; }
.cf-src a { color: inherit; }
.cf-card__acts { display: flex; flex-wrap: wrap; gap: 6px; }
.cf-card__acts .cf-btn { min-height: 34px; padding: 0 11px; font-size: 13px; }
.cf-card.is-closed { background: #fcfcfd; }
.cf-card.is-closed .cf-card__date { background: #f1f0f6; color: #5d5c72; }
.cf-card.is-closed .cf-card__title { color: #3f3e52; }
.cf-card.is-closed .cf-btn--pri { border-color: var(--line); background: #fff; color: var(--ink); }
.cf-card.is-closed .cf-btn--pri:hover { background: var(--brand-50); color: var(--brand); }
.cf-pager { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 8px; }
.cf-pager a { display: grid; place-items: center; min-width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--ink); font-weight: 600; text-decoration: none; }
.cf-pager a:hover { border-color: var(--brand-100); color: var(--brand); }
.cf-pager a[aria-current] { border-color: var(--brand); background: var(--brand); color: #fff; }
.cf-empty { grid-column: 1 / -1; padding: 44px 20px; border: 1px dashed #cfcde0; border-radius: var(--cf-r); background: #fff; color: var(--muted); text-align: center; }
.cf-empty b { color: var(--ink); font-size: 17px; }
.cf-empty p { margin-top: 5px; }

/* Gửi thông tin */
.cf-info { padding: 56px 0; background: #fff; border-top: 1px solid var(--line); scroll-margin-top: var(--header-h); }
.cf-info__grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 36px; align-items: start; }
.cf-info h2, .cf-legal h2 { color: var(--ink); font-size: 24px; line-height: 1.3; letter-spacing: -.01em; }
.cf-info__grid > div > p { margin-top: 6px; color: var(--muted); }
.cf-sub { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; margin-top: 18px; }
.cf-sub label { display: grid; gap: 5px; margin: 0; color: var(--ink); font-size: 14px; font-weight: 600; }
.cf-sub input:not([type="checkbox"]), .cf-sub select { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: var(--ink); font: inherit; font-size: 15px; font-weight: 400; }
.cf-sub input:focus, .cf-sub select:focus { border-color: var(--brand); outline: 0; box-shadow: 0 0 0 3px var(--brand-50); }
.cf-sub label.cf-check { display: flex; align-items: flex-start; padding: 0; font-weight: 500; line-height: 1.5; }
.cf-sub label.cf-check input { flex: none; margin-top: 2px; }
.cf-full { grid-column: 1 / -1; }
.cf-sub label.cf-hp { position: absolute; left: -9999px; }
.cf-sub__note { color: var(--muted); font-size: 13px; line-height: 1.5; }
.cf-sub .cf-btn { justify-self: start; min-height: 46px; padding: 0 22px; }
.cf-sub__msg { grid-column: 1 / -1; color: #0f7a45; font-size: 14.5px; font-weight: 600; }
.cf-sub__msg:empty { display: none; }
.cf-sub__msg.is-err { color: #c23a1a; }
.cf-note { position: sticky; top: calc(var(--header-h) + 16px); padding: 22px; border-radius: var(--cf-r); background: var(--brand-50); }
.cf-note h2 { font-size: 19px; }
.cf-note ul { display: grid; gap: 8px; margin: 12px 0; color: var(--text); font-size: 14.5px; line-height: 1.55; }
.cf-note li { position: relative; padding-left: 16px; }
.cf-note li::before { content: ""; position: absolute; left: 2px; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.cf-note a { font-weight: 600; }

/* Nguồn, pháp lý, hỏi đáp */
.cf-legal { padding: 56px 0 64px; }
.cf-legal__h { margin-top: 36px; }
.cf-srcs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.cf-srcs > div { padding: 14px 16px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.cf-srcs b { display: block; color: var(--ink); }
.cf-srcs span { color: var(--muted); font-size: 13.5px; }
.cf-legal__list { display: grid; gap: 7px; }
.cf-legal__list li { position: relative; padding-left: 16px; color: #4f4e63; font-size: 14.5px; line-height: 1.6; }
.cf-legal__list li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); }
.cf-faq { display: grid; gap: 8px; margin-top: 14px; }
.cf-faq details { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.cf-faq details[open] { border-color: var(--brand-100); }
.cf-faq summary { padding: 13px 16px; color: var(--ink); font-weight: 600; cursor: pointer; }
.cf-faq p { padding: 0 16px 14px; color: #4f4e63; font-size: 15px; line-height: 1.65; }

@media (prefers-reduced-motion: reduce) { .cf-card, .cf-tab { transition: none; } .cf-card:hover, .cf-tab:hover { transform: none; } }
@media (max-width: 1080px) {
	.cf-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cf-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 860px) {
	.cf-info__grid, .cf-srcs { grid-template-columns: minmax(0, 1fr); }
	.cf-note { position: static; }
	.cf-filter label:not(.cf-filter__q):not(.cf-check) { flex: 1 1 40%; }
	.cf-filter select { min-width: 0; }
}
@media (max-width: 560px) {
	.cf-hero { padding-bottom: 100px; }
	.cf-hero__lead { font-size: 15.5px; }
	.cf-tabs { gap: 8px; }
	.cf-tab { grid-template-columns: minmax(0, 1fr); gap: 3px; padding: 11px 12px; }
	.cf-tab__n { grid-row: auto; justify-self: start; min-width: 42px; padding: 3px 8px; font-size: 18px; }
	.cf-tab__t { font-size: 14.5px; }
	.cf-tab small { display: none; }
	.cf-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; scrollbar-width: none; }
	.cf-chips button { flex: none; }
	.cf-filter label:not(.cf-filter__q):not(.cf-check) { flex: 1 1 100%; }
	.cf-card { grid-template-columns: minmax(0, 1fr); gap: 9px; padding: 14px; }
	.cf-card__date { display: flex; align-items: baseline; gap: 7px; justify-self: start; padding: 4px 11px; }
	.cf-card__date b { font-size: 18px; }
	.cf-sub { grid-template-columns: minmax(0, 1fr); }
	.cf-sub .cf-btn { justify-self: stretch; }
}

/* Làm mới giao diện: nền sáng hơn, thẻ thoáng, nhóm theo tháng */
.cf { background: linear-gradient(180deg, #f6f5fc 0, #fbfbfe 420px, #f6f5fc 100%); }
.cf-tabs { gap: 14px; }
.cf-tab { padding: 17px 18px; border-color: transparent; border-radius: 18px; box-shadow: 0 10px 28px rgba(24,0,173,.1); }
.cf-tab__n { min-width: 58px; padding: 9px; border-radius: 14px; background: linear-gradient(135deg, var(--brand-50), #f3e9ff); }
.cf-tab[aria-current] { background: linear-gradient(135deg, var(--brand), #3b24d6); }
.cf-tab--old[aria-current] { background: linear-gradient(135deg, #55546a, #3a3950); }
.cf-filter { padding: 12px; border-color: transparent; border-radius: 18px; box-shadow: 0 8px 24px rgba(24,0,173,.07); }
.cf-chips { gap: 7px; }
.cf-chips button { background: transparent; border-color: #dcdaf0; font-size: 13.5px; }
.cf-chips button:hover { background: #fff; }
.cf-chips button[aria-pressed="true"], .cf-chips button[aria-pressed="true"]:hover, .cf-chips button[aria-pressed="true"]:focus, .cf-chips button[aria-pressed="true"]:active { border-color: var(--brand); background: var(--brand); color: #fff; }
.cf-chips button[aria-pressed="true"]:hover em, .cf-chips button[aria-pressed="true"]:focus em { color: #fff; }
.cf-month { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin: 14px 0 0 !important; color: var(--ink); font-size: 17px; font-weight: 800; letter-spacing: -.005em; }
.cf-month:first-child { margin-top: 0 !important; }
.cf-month::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, #d9d6ee, transparent); }
.cf-card { position: relative; overflow: hidden; padding: 18px 18px 16px; border-color: #ecebf6; border-radius: 18px; box-shadow: 0 4px 16px rgba(24,0,173,.05); }
.cf-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--brand), var(--accent)); opacity: 0; transition: opacity .2s; }
.cf-card:hover::before { opacity: 1; }
.cf-card:hover { border-color: #dcd8f7; box-shadow: 0 14px 34px rgba(24,0,173,.11); transform: translateY(-3px); }
.cf-card__date { background: linear-gradient(160deg, var(--brand), #3b24d6); color: #fff; box-shadow: 0 6px 14px rgba(24,0,173,.22); }
.cf-card__date span { opacity: .88; }
.cf-card.is-closed::before { background: #b9b8c9; }
.cf-card.is-closed .cf-card__date { background: #eeeef4; color: #55546a; box-shadow: none; }
.cf-dl { border-radius: 10px; background: linear-gradient(90deg, var(--accent-50), #fff8f2); }
.cf-card__ft { border-top: 1px solid #f1f0f8; margin-top: 12px; padding-top: 11px; }
.cf-info { background: #fff; }
.cf-sub input:not([type="checkbox"]), .cf-sub select { background: #fbfbfe; }
.cf-srcs > div { border-color: #ecebf6; border-radius: 14px; box-shadow: 0 3px 10px rgba(24,0,173,.04); }
@media (max-width: 560px) { .cf-tab { padding: 12px 13px; } .cf-tab__n { min-width: 42px; padding: 3px 8px; } .cf-month { font-size: 15.5px; } }


/* Thông tin tham dự trên thẻ */
.cf .cf-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 10px 0 0; border: 1px solid #ecebf6; border-radius: 12px; background: #fbfbfe; overflow: hidden; }
.cf-facts > div { min-width: 0; padding: 8px 10px; border-left: 1px solid #ecebf6; }
.cf-facts > div:first-child { border-left: 0; }
.cf-facts dt { display: flex; align-items: flex-start; gap: 5px; margin: 0 0 2px; color: var(--muted); font-size: 12.5px; font-weight: 600; line-height: 1.35; }
.cf-facts dt svg { flex: none; margin-top: 1px; color: var(--brand); }
.cf-facts dd { margin: 0; color: var(--ink); font-size: 13.5px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.cf-facts dd a { color: var(--brand); text-underline-offset: 2px; }
.cf-facts dd a:hover { color: var(--accent-600); }
.cf-fact__none { color: #6f6e84; font-weight: 500; }
.cf-card.is-closed .cf-facts { background: #f8f8fb; }
.cf-card__ft { row-gap: 10px; }
.cf-src { flex: 1 1 200px; }

/* Khối Trước khi nộp bài */
.cf .cf-note { position: sticky; overflow: hidden; padding: 24px; border-radius: 20px; background: radial-gradient(260px 180px at 100% 0, rgba(255,102,0,.3), transparent 70%), linear-gradient(155deg, var(--brand), var(--brand-900)); color: #dcd9fb; box-shadow: 0 18px 40px rgba(24,0,173,.22); }
.cf-note__k { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px !important; padding: 4px 11px; border-radius: 999px; background: rgba(255,255,255,.14); color: #fff; font-size: 12.5px; font-weight: 700; }
.cf-note__k svg { color: #ffb27a; }
.cf .cf-note h2 { color: #fff; font-size: 21px; }
.cf .cf-note ol { display: grid; gap: 12px; margin: 16px 0 18px; padding: 0; list-style: none; counter-reset: cfn; }
.cf .cf-note ol li { position: relative; padding: 0 0 0 40px; counter-increment: cfn; }
.cf .cf-note ol li::before { content: counter(cfn); position: absolute; left: 0; top: 1px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: rgba(255,255,255,.14); color: #fff; font-size: 13.5px; font-weight: 800; }
.cf-note li b { display: block; color: #fff; font-size: 15px; line-height: 1.35; }
.cf-note li span { display: block; margin-top: 2px; color: #d3cff6; font-size: 14px; line-height: 1.5; }
.cf .cf-note__btn { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; border-radius: 12px; background: #fff; color: var(--brand); font-size: 14.5px; font-weight: 700; text-decoration: none; transition: background .15s, color .15s; }
.cf .cf-note__btn:hover { background: var(--accent); color: #fff; }

/* Nguồn dữ liệu */
.cf-legal__head { margin-bottom: 18px; }
.cf-legal__k { margin-bottom: 4px; color: var(--accent-600); font-size: 13px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.cf .cf-srcs { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 16px; }
.cf .cf-src-card { display: flex; gap: 12px; align-items: flex-start; padding: 15px; border: 1px solid #ecebf6; border-radius: 15px; background: #fff; box-shadow: 0 4px 14px rgba(24,0,173,.05); transition: transform .18s, box-shadow .18s; }
.cf .cf-src-card:hover { box-shadow: 0 12px 26px rgba(24,0,173,.1); transform: translateY(-2px); }
.cf-src-card__ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--brand-50); color: var(--brand); }
.cf-src-card > div { min-width: 0; }
.cf-src-card b { display: block; color: var(--ink); font-size: 15px; line-height: 1.35; }
.cf-src-card b a { color: inherit; text-decoration: none; }
.cf-src-card b a:hover { color: var(--brand); text-decoration: underline; }
.cf-src-card > div > span { display: block; margin-top: 2px; color: var(--muted); font-size: 13.5px; line-height: 1.45; }
.cf .cf-rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cf-rules li { display: flex; gap: 12px; padding: 15px; border-radius: 15px; background: #fff; border: 1px solid #ecebf6; }
.cf-rules li > span { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--accent-50); color: var(--accent-600); }
.cf-rules b { display: block; color: var(--ink); font-size: 15px; }
.cf .cf-rules p { margin-top: 2px; color: #4f4e63; font-size: 14px; line-height: 1.55; }
.cf .cf-legal__end { margin-top: 14px; padding: 12px 16px; border-radius: 12px; background: var(--brand-50); color: var(--ink); font-size: 14.5px; text-align: center; }
.cf-legal__end a { font-weight: 700; }
@media (max-width: 1080px) { .cf .cf-srcs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .cf .cf-note { position: relative; top: 0; } }
@media (max-width: 640px) {
	.cf .cf-srcs, .cf .cf-rules { grid-template-columns: minmax(0, 1fr); }
	.cf .cf-facts { grid-template-columns: minmax(0, 1fr); }
	.cf-facts > div { display: flex; justify-content: space-between; gap: 10px; border-left: 0; border-top: 1px solid #ecebf6; }
	.cf-facts > div:first-child { border-top: 0; }
	.cf-facts dd { text-align: right; }
}

.cf-facts > div { display: flex; flex-direction: column; justify-content: space-between; gap: 2px; }
.cf-facts dt { white-space: nowrap; }
@media (max-width: 640px) { .cf-facts > div { flex-direction: row; align-items: center; } }


/* Kết quả một cột */
.cf .cf-list { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.cf .cf-card { grid-template-columns: 92px minmax(0, 1fr); gap: 20px; padding: 20px 22px; }
.cf .cf-card__date { padding: 13px 4px; border-radius: 15px; }
.cf .cf-card__date b { font-size: 30px; }
.cf .cf-card__main { display: grid; grid-template-columns: minmax(0, 1fr) 270px; column-gap: 24px; align-items: start; }
.cf-card__main > * { grid-column: 1; }
.cf .cf-dl { grid-column: 2; grid-row: 1 / span 4; flex-direction: column; align-items: flex-start; margin: 0; padding: 12px 14px; border-radius: 13px; }
.cf-dl b { font-size: 14.5px; }
.cf-dl__left { font-size: 18px; font-weight: 800; }
.cf .cf-card__title { font-size: 19px; line-height: 1.38; letter-spacing: -.005em; }
.cf .cf-card__meta { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.cf .cf-facts, .cf .cf-card__ft { grid-column: 1 / -1; }
.cf .cf-facts { margin-top: 14px; }
.cf-facts > div { padding: 10px 14px; }
.cf-facts dt { font-size: 13px; }
.cf-facts dd { font-size: 14.5px; }
.cf-chips button[data-empty] { opacity: .62; border-style: dashed; }
.cf-chips button[data-empty]:hover, .cf-chips button[data-empty][aria-pressed="true"] { opacity: 1; }
.cf-chips { row-gap: 8px; }
@media (max-width: 860px) {
	.cf .cf-card__main { grid-template-columns: minmax(0, 1fr); }
	.cf .cf-dl { grid-column: 1; grid-row: auto; flex-direction: row; align-items: center; margin-top: 9px; }
}
@media (max-width: 640px) {
	.cf .cf-card { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 15px; }
	.cf .cf-card__date { padding: 4px 11px; }
	.cf .cf-card__date b { font-size: 18px; }
	.cf .cf-card__title { font-size: 17px; }
}


/* Mục đang chọn: nền cam nhạt */
.cf .cf-tab[aria-current], .cf .cf-tab--old[aria-current] { border-color: #ffb27a; background: linear-gradient(135deg, #fff1e6, #ffe6d3); box-shadow: 0 12px 28px rgba(255,102,0,.2); }
.cf .cf-tab[aria-current] .cf-tab__n { background: var(--accent); color: #fff; }
.cf .cf-tab[aria-current] .cf-tab__t { color: var(--ink); }
.cf .cf-tab[aria-current] small { color: #6a5a4e; }

/* Tên hội thảo */
.cf .cf-card__title { font-size: 17px; }

/* Nút xem thông tin */
.cf .cf-facts dd a { display: inline-flex; align-items: center; gap: 4px; padding: 3px 11px; border: 1px solid #dcd8f7; border-radius: 999px; background: #fff; color: var(--brand); font-size: 13px; font-weight: 700; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.cf .cf-facts dd a::after { content: "\2197"; font-size: 12px; }
.cf .cf-facts dd a:hover { border-color: var(--brand); background: var(--brand); color: #fff; }

/* Hạn nộp sắp tới */
.cf-soon { margin-top: 16px; padding: 16px 18px; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(24,0,173,.07); }
.cf-soon h2 { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; color: var(--ink); font-size: 16.5px; }
.cf-soon h2 svg { color: var(--accent-600); }
.cf-soon__row { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.cf-soon__item { flex: 0 0 236px; display: grid; gap: 4px; align-content: start; padding: 12px 14px; border: 1px solid #f3e4d8; border-radius: 14px; background: linear-gradient(180deg, #fffaf6, #fff); color: var(--text); text-decoration: none; scroll-snap-align: start; transition: transform .18s, box-shadow .18s; }
.cf-soon__item:hover { color: var(--text); box-shadow: 0 10px 22px rgba(255,102,0,.14); transform: translateY(-2px); }
.cf-soon__top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 13.5px; }
.cf-soon__top b { color: var(--ink); }
.cf-soon__t { display: -webkit-box; overflow: hidden; color: var(--ink); font-size: 14.5px; font-weight: 700; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.cf-soon__item small { color: var(--muted); font-size: 12.5px; }

/* Theo dõi, kế hoạch */
.cf .cf-follow { min-height: 44px; gap: 6px; }
.cf-follow svg { color: var(--accent-600); }
.cf-follow em { min-width: 22px; padding: 0 6px; border-radius: 999px; background: var(--accent-50); color: #b84800; font-size: 12.5px; font-style: normal; font-weight: 800; }
.cf-save, .cf-plan-btn { gap: 5px; }
.cf-save[aria-pressed="true"] { border-color: #ffb27a; background: var(--accent-50); color: #b84800; }
.cf-save[aria-pressed="true"]:hover { background: #ffe6d3; color: #b84800; }
.cf-save[aria-pressed="true"] svg { fill: currentColor; }
.cf-dlg { width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 20px; background: #fff; color: var(--text); box-shadow: 0 30px 70px rgba(12,5,97,.3); overflow: auto; }
.cf-dlg::backdrop { background: rgba(12,5,97,.45); backdrop-filter: blur(3px); }
.cf-dlg__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px 22px 8px; }
.cf-dlg h2 { color: var(--ink); font-size: 19px; line-height: 1.35; }
.cf-dlg__k { margin-bottom: 2px; color: var(--accent-600); font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.cf-dlg__note { padding: 0 22px 12px; color: var(--muted); font-size: 14px; }
.cf-dlg__x { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 10px; background: #f1f0f9; color: var(--ink); font-size: 18px; cursor: pointer; }
.cf-dlg__x:hover { background: var(--brand-50); color: var(--brand); }
.cf-dlg__foot { display: flex; justify-content: flex-end; padding: 12px 22px 20px; }
.cf-dlg .cf-saved { display: grid; gap: 8px; padding: 0 22px; }
.cf-saved li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #ecebf6; border-radius: 12px; }
.cf-saved li > div { flex: 1; min-width: 0; }
.cf-saved a { display: block; color: var(--ink); font-size: 14.5px; font-weight: 700; line-height: 1.35; text-decoration: none; }
.cf-saved a:hover { color: var(--brand); }
.cf-saved small { color: var(--muted); font-size: 12.5px; }
.cf-saved__tag { flex: none; padding: 2px 9px; border-radius: 999px; background: #f1f0f9; color: #4f4e63; font-size: 12.5px; font-weight: 700; }
.cf-saved__tag.is-soon { background: #fff0ec; color: #c23a1a; }
.cf .cf-saved__empty { justify-content: center; padding: 26px 12px; border-style: dashed; color: var(--muted); }
.cf-dlg .cf-plan { display: grid; gap: 0; margin: 0; padding: 0 22px; list-style: none; }
.cf-plan li { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 0 0 14px; }
.cf-plan li::before { content: ""; position: absolute; left: 96px; top: 6px; bottom: -6px; width: 2px; background: #ecebf6; }
.cf-plan li:last-child::before { display: none; }
.cf-plan li > div { padding-left: 14px; }
.cf-plan__d { color: var(--brand); font-size: 13.5px; font-weight: 800; text-align: right; }
.cf-plan li.is-late .cf-plan__d { color: #c23a1a; }
.cf-plan b { display: block; color: var(--ink); font-size: 15px; }
.cf-plan p { color: #4f4e63; font-size: 14px; line-height: 1.5; }
.cf-plan__svc { display: inline-block; margin-top: 5px; padding: 2px 10px; border-radius: 999px; background: var(--accent-50); color: #b84800; font-size: 13px; font-weight: 700; text-decoration: none; }
.cf-plan__svc:hover { background: var(--accent); color: #fff; }
@media (max-width: 640px) {
	.cf .cf-card__title { font-size: 15px; }
	.cf-soon__item { flex-basis: 210px; }
	.cf .cf-follow { width: 100%; justify-content: center; }
	.cf-plan li { grid-template-columns: 76px minmax(0, 1fr); }
	.cf-plan li::before { left: 76px; }
}


/* Bốn mục dùng chung một kiểu: giống mục Trong nước */
.cf .cf-tab--old .cf-tab__n { background: linear-gradient(135deg, var(--brand-50), #f3e9ff); color: var(--brand); }
.cf .cf-tab[aria-current] .cf-tab__n, .cf .cf-tab--old[aria-current] .cf-tab__n { background: var(--accent); color: #fff; }
.cf .cf-card.is-closed { background: #fff; }
.cf .cf-card.is-closed::before { background: linear-gradient(180deg, var(--brand), var(--accent)); }
.cf .cf-card.is-closed .cf-card__date { background: linear-gradient(160deg, var(--brand), #3b24d6); color: #fff; box-shadow: 0 6px 14px rgba(24,0,173,.22); }
.cf .cf-card.is-closed .cf-card__title { color: var(--ink); }
.cf .cf-card.is-closed .cf-btn--pri { border-color: var(--brand); background: var(--brand); color: #fff; }
.cf .cf-card.is-closed .cf-btn--pri:hover { border-color: var(--brand-700); background: var(--brand-700); color: #fff; }
.cf .cf-card.is-closed .cf-facts { background: #fbfbfe; }
.cf .cf-dl.is-past { background: linear-gradient(90deg, var(--accent-50), #fff8f2); color: var(--ink); }
.cf .cf-dl.is-past span { color: #6f6e84; font-weight: 600; }
.cf .cf-card__main:not(:has(> .cf-dl)) { grid-template-columns: minmax(0, 1fr); }

/* Bộ lọc ngành gọn 2 dòng */
.cf .cf-chips { flex-wrap: wrap; overflow: visible; padding-bottom: 0; }
.cf-chips button { order: 0; }
.cf-chips button[data-empty] { order: 1; }
.cf-chips button[data-cf-field=""] { order: -1; }
.cf-chips button.is-over { display: none; }
.cf .cf-chips .cf-chips__more { order: 2; min-width: 44px; padding: 0 13px; border: 1px solid var(--brand); background: var(--brand-50); color: var(--brand); font-weight: 800; }
.cf .cf-chips .cf-chips__more:hover { background: var(--brand); color: #fff; }
.cf .cf-chips .cf-chips__more[hidden] { display: none; }


/* Một bố cục thẻ duy nhất cho cả bốn mục */
.cf .cf-card__main { display: flex; flex-direction: column; }
.cf .cf-facts { grid-template-columns: 1.15fr 1fr 1fr 1fr; }
.cf-fact--dl { background: linear-gradient(135deg, var(--accent-50), #fff8f2); }
.cf-fact--dl dt svg { color: var(--accent-600); }
.cf .cf-fact--dl dd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-size: 14.5px; }
.cf .cf-fact--dl .cf-dl__left { color: #b84800; font-size: 13.5px; font-weight: 800; }
.cf-dl__past { color: #6f6e84; font-size: 13.5px; font-weight: 600; }
.cf-fact--dl small { flex-basis: 100%; color: var(--muted); font-size: 12.5px; font-weight: 500; }
.cf-fact--dl.is-soon { background: #fff0ec; }
.cf-card__ft .cf-card__acts { margin-left: auto; }
@media (max-width: 860px) { .cf .cf-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cf-facts > div:nth-child(3) { border-left: 0; } .cf-facts > div:nth-child(n+3) { border-top: 1px solid #ecebf6; } }
@media (max-width: 640px) { .cf .cf-facts { grid-template-columns: minmax(0, 1fr); } .cf-facts > div:nth-child(n+2) { border-top: 1px solid #ecebf6; } .cf .cf-fact--dl dd { justify-content: flex-end; } }

/* Hạn nộp sắp tới: lưới đều nhau */
.cf-soon { padding: 18px 20px 20px; }
.cf .cf-soon__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; overflow: visible; padding-bottom: 0; }
.cf .cf-soon__item { display: flex; flex-direction: column; gap: 8px; min-width: 0; min-height: 132px; padding: 14px 15px; border-color: #efedf8; background: #fff; box-shadow: 0 3px 10px rgba(24,0,173,.04); }
.cf .cf-soon__item:hover { border-color: #ffc9a3; box-shadow: 0 10px 22px rgba(255,102,0,.13); }
.cf .cf-soon__top { align-items: center; flex-wrap: nowrap; font-size: 13.5px; white-space: nowrap; }
.cf .cf-soon__top b { color: var(--muted); font-weight: 600; }
.cf .cf-soon__top .cf-dl__left { padding: 2px 9px; border-radius: 999px; background: var(--accent-50); color: #b84800; font-size: 12.5px; font-weight: 800; }
.cf-soon__item.is-soon .cf-dl__left { background: #fff0ec; color: #c23a1a; }
.cf .cf-soon__t { flex: 1; min-height: 40px; font-size: 14.5px; }
.cf .cf-soon__item small { display: flex; align-items: center; gap: 7px; min-width: 0; }
.cf-soon__scope { flex: none; padding: 1px 7px; border-radius: 999px; background: #f1f0f9; color: #4f4e63; font-size: 11.5px; font-weight: 700; }
.cf-soon__scope.is-vn { background: var(--green-50); color: #0f7a45; }
.cf-soon__place { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 1080px) { .cf .cf-soon__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .cf .cf-soon__row { grid-template-columns: minmax(0, 1fr); } .cf .cf-soon__item { min-height: 0; flex-basis: auto; } }

/* Nội dung thẻ trải đủ chiều ngang, hai đầu thẳng hàng */
.cf .cf-card { align-items: stretch; padding: 22px 24px; }
.cf .cf-card__main { align-items: stretch; width: 100%; min-width: 0; }
.cf .cf-card__main > * { width: 100%; max-width: 100%; }
.cf .cf-facts { width: 100%; margin-top: 14px; }
.cf .cf-card__ft { justify-content: space-between; margin-top: 14px; padding-top: 12px; }
.cf .cf-src { flex: 1 1 auto; min-width: 0; }
.cf .cf-card__acts { flex: none; justify-content: flex-end; margin-left: auto; }
.cf .cf-card__meta { margin-top: 6px; }
@media (max-width: 860px) {
	.cf .cf-card__acts { flex: 1 1 100%; justify-content: flex-start; margin-left: 0; }
}


/* Khối trạng thái góc phải thẻ */
.cf .cf-card__top { display: grid; grid-template-columns: minmax(0, 1fr) 216px; gap: 22px; align-items: stretch; }
.cf-card__info { min-width: 0; }
.cf-status { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid #ecebf6; border-radius: 14px; background: linear-gradient(160deg, #fbfbfe, #f4f2fd); }
.cf-status__pill { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 2px 10px; border-radius: 999px; background: var(--brand-50); color: var(--brand); font-size: 12.5px; font-weight: 700; line-height: 1.6; white-space: nowrap; }
.cf-status__pill i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.cf-status--open .cf-status__pill, .cf-status--live .cf-status__pill { background: var(--green-50); color: #0f7a45; }
.cf-status--closed .cf-status__pill { background: var(--accent-50); color: #b84800; }
.cf-status--end .cf-status__pill { background: #ececf2; color: #55546a; }
.cf-status--open .cf-status__pill i, .cf-status--live .cf-status__pill i { animation: cfPulse 2s ease-in-out infinite; }
@keyframes cfPulse { 50% { box-shadow: 0 0 0 4px rgba(15,122,69,.16); } }
.cf .cf-status__big { display: grid; gap: 0; margin: 0; }
.cf-status__big b { color: var(--ink); font-size: 21px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; }
.cf-status__big small { color: var(--muted); font-size: 12.5px; line-height: 1.4; }
.cf-status__share { display: inline-flex; align-items: center; justify-content: center; gap: 5px; margin-top: auto; min-height: 32px; border: 1px solid #dcd8f7; border-radius: 9px; background: #fff; color: var(--brand); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.cf-status__share:hover { border-color: var(--brand); background: var(--brand); color: #fff; }
@media (prefers-reduced-motion: reduce) { .cf-status__pill i { animation: none !important; } }
@media (max-width: 760px) {
	.cf .cf-card__top { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.cf-status { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; }
	.cf-status__pill { grid-column: 1 / -1; }
	.cf-status__share { margin-top: 0; padding: 0 12px; }
}


/* Đếm ngược trên một dòng: 340 ngày (Đến ngày khai mạc) */
.cf .cf-card__top { grid-template-columns: minmax(0, 1fr) 244px; }
.cf .cf-status__big { display: flex; flex-wrap: nowrap; align-items: baseline; gap: 5px; white-space: nowrap; }
.cf-status__big b { font-size: 19px; }
.cf-status__big small { font-size: 11.5px; }
@media (max-width: 760px) { .cf .cf-card__top { grid-template-columns: minmax(0, 1fr); } }
.cf-status { padding: 12px; }
.cf .cf-status__big { flex-wrap: wrap; white-space: normal; }
.cf-status__big b, .cf-status__big small { white-space: nowrap; }
@media (max-width: 760px) {
	.cf-status { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
	.cf-status__pill { grid-column: 1; grid-row: 1; }
	.cf-status__share { grid-column: 2; grid-row: 1; }
	.cf .cf-status__big { grid-column: 1 / -1; grid-row: 2; }
}

.cf-status--end .cf-status__big b, .cf-status--closed .cf-status__big b { font-size: 16.5px; }


/* Phân trang */
.cf .cf-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-top: 12px; padding: 10px 12px 10px 18px; border: 1px solid #ecebf6; border-radius: 16px; background: #fff; box-shadow: 0 4px 16px rgba(24,0,173,.05); }
.cf .cf-pager__info { color: var(--muted); font-size: 14px; }
.cf-pager__info b { color: var(--ink); }
.cf-pager__nav { display: flex; align-items: center; gap: 6px; }
.cf .cf-pager a { min-width: 0; height: auto; border: 0; background: none; }
.cf .cf-pager .cf-pager__num { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 6px; border: 1px solid transparent; border-radius: 11px; color: #4f4e63; font-size: 14.5px; font-weight: 600; text-decoration: none; transition: background .15s, color .15s; }
.cf .cf-pager .cf-pager__num:hover { background: var(--brand-50); color: var(--brand); }
.cf .cf-pager .cf-pager__num[aria-current] { background: linear-gradient(135deg, var(--brand), #3b24d6); color: #fff; box-shadow: 0 6px 14px rgba(24,0,173,.24); }
.cf-pager__gap { min-width: 22px; color: var(--muted); font-weight: 700; text-align: center; }
.cf .cf-pager .cf-pager__step { display: inline-flex; align-items: center; gap: 5px; height: 40px; padding: 0 13px; border: 1px solid #e4e2f2; border-radius: 11px; background: #fff; color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; transition: border-color .15s, color .15s, background .15s; }
.cf .cf-pager a.cf-pager__step:hover { border-color: var(--brand); background: var(--brand-50); color: var(--brand); }
.cf-pager__step svg { color: var(--brand); }
.cf-pager__step.is-prev svg { transform: rotate(180deg); }
.cf-pager__step.is-off { opacity: .42; cursor: not-allowed; }
@media (max-width: 640px) {
	.cf .cf-pager { justify-content: center; padding: 10px; }
	.cf .cf-pager__info { flex-basis: 100%; text-align: center; }
	.cf-pager__nav { gap: 3px; }
	.cf .cf-pager .cf-pager__num { min-width: 36px; height: 38px; padding: 0 4px; }
	.cf .cf-pager .cf-pager__step { height: 38px; padding: 0 9px; }
	.cf-pager__step span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.cf-pager__gap { min-width: 14px; }
}
@media (max-width: 760px) {
	.cf .cf-status__share, .cf .cf-card__acts .cf-btn { min-height: 40px; }
}
