:root{
  --bg:#FFFFFF; --fg:#1D2B5A; --body:#33406A; --muted:#6A7493; --line:#E2E6F0; --accent:#2F6FEB; --err:#B42318;
  --sans:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--body);font:16px/1.6 var(--sans)}
a{color:var(--accent)}
.top{display:flex;justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;padding:20px 16px;font-size:14px;color:var(--muted)}
.brand{font-weight:700;font-size:18px;color:var(--fg);text-decoration:none;letter-spacing:-.01em}
.top button{background:none;border:0;color:var(--muted);font:inherit;text-decoration:underline;cursor:pointer;padding:0;margin-left:12px}
.wrap{max-width:960px;margin:0 auto;padding:8px 16px 64px}
.form{max-width:420px;margin:32px auto 0}
h1{color:var(--fg);font-size:28px;line-height:1.3;margin:0 0 8px;letter-spacing:-.01em}
.lead{margin:0 0 28px;color:var(--body)}
label{display:block;font-weight:500;color:var(--fg);margin:0 0 6px;font-size:15px}
input{width:100%;font:inherit;color:var(--fg);padding:12px 14px;border:1px solid var(--line);border-radius:8px;margin-bottom:18px;background:#fff}
input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}
.hint{font-size:13px;color:var(--muted);margin:-12px 0 18px}
.btn{display:inline-block;width:100%;font:inherit;font-weight:600;color:#fff;background:var(--fg);border:0;border-radius:8px;padding:13px 18px;cursor:pointer;text-align:center;text-decoration:none}
.btn:disabled{opacity:.6;cursor:default}
.btn.line{background:none;color:var(--fg);border:1px solid var(--line)}
.err{color:var(--err);font-size:15px;margin:0 0 16px}
.ok{color:var(--fg);margin:0 0 16px}
.links{margin-top:20px;font-size:15px;display:flex;flex-direction:column;gap:8px}
.trap{position:absolute;left:-9999px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:28px}
.card{border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:10px}
.card h2{color:var(--fg);font-size:20px;line-height:1.35;margin:0}
.card p{margin:0;flex:1}
.tag{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.price{font-weight:600;color:var(--fg)}
.card .btn{margin-top:8px}
.table{overflow-x:auto;margin-top:20px;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;font-size:14px;min-width:1100px}
th,td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
th{color:var(--fg);font-weight:600;background:#fff;white-space:nowrap}
td small{color:var(--muted)}
/* Trang đăng ký có phần giới thiệu khoá học */
.course{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:start;margin-top:16px}
.course .intro{max-width:620px}
.course .side{position:sticky;top:24px;border:1px solid var(--line);border-radius:12px;padding:24px}
.course .side .form{margin:0}
.course .side h1{font-size:22px}
.course .jump{display:none}
.intro h1{font-size:34px;line-height:1.25;margin-bottom:10px}
.intro h2{color:var(--fg);font-size:20px;margin:32px 0 10px}
.intro video,.intro img{width:100%;border:1px solid var(--line);border-radius:12px;display:block}
.intro video{margin:8px 0 4px;background:#fff}
.intro figure{margin:16px 0}
.intro ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.intro ul.dash li{padding-left:20px;position:relative}
.intro ul.dash li::before{content:"–";position:absolute;left:0;color:var(--muted)}
.gift{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--fg);margin:0 0 10px}
.note{font-weight:600;color:var(--fg)}
.card > a:last-child{font-size:15px}
@media (max-width:860px){
  .course{grid-template-columns:1fr;gap:32px}
  .course .side{position:static}
  .course .jump{display:block;margin-bottom:24px}
  .intro h1{font-size:28px}
}
body:has(.course) .top,body:has(.course) .wrap{max-width:1160px}
.course{grid-template-columns:minmax(0,1fr) 360px}
.course .intro{max-width:none}
@media (max-width:860px){.course{grid-template-columns:1fr}}
.intro li.em{display:grid;grid-template-columns:1.6em 1fr;column-gap:6px}
.gift .e{margin-right:8px}
/* Khối học phí, đếm ngược, số người đăng ký */
.offer{border:2px solid var(--fg);border-radius:12px;padding:18px 20px;margin:0 0 20px;background:#fff}
.offer-label{margin:0;font-size:14px;font-weight:600;color:var(--muted)}
.price-now{margin:2px 0 6px;font-size:44px;line-height:1.1;font-weight:700;color:var(--fg);letter-spacing:-.02em}
.price-now s{font-size:24px;font-weight:600;color:var(--muted);margin-left:10px;letter-spacing:0}
.price-note{margin:0 0 14px;font-size:15px;color:var(--body)}
.cd-label{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--fg)}
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;min-height:62px}
.countdown span{border:1px solid var(--line);border-radius:8px;padding:8px 4px;text-align:center;font-size:13px;color:var(--muted)}
.countdown b{display:block;font-size:24px;line-height:1.1;color:var(--fg);font-variant-numeric:tabular-nums}
.count{margin:14px 0 0;font-size:15px;color:var(--body)}
.count b{color:var(--fg);font-size:18px}
.course .side{padding:20px}
.offer-top{display:none}
@media (max-width:860px){
  .offer-top{display:block;margin-top:20px}
  .offer-side{display:none}
}
.course.solo{grid-template-columns:minmax(0,720px)}
.course.solo .offer-top{display:block}
.course .side{position:static;border:0;padding:0}
.course .side #dang-ky{border:1px solid var(--line);border-radius:12px;padding:20px}
/* Trang quản lý */
.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 24px}
.tabs a{padding:10px 14px;text-decoration:none;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.on{color:var(--fg);border-bottom-color:var(--fg)}
.tabs a:last-child{margin-left:auto;font-weight:400}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:16px 0}
.stats div{border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--muted)}
.stats b{display:block;font-size:28px;color:var(--fg);line-height:1.2}
.search{max-width:360px;margin:0 0 12px}
.tick{display:flex;gap:8px;align-items:center;font-weight:400;margin:0}
.tick input{width:auto;margin:0}
.mini{font:inherit;font-size:13px;border:1px solid var(--line);background:#fff;color:var(--fg);border-radius:6px;padding:6px 10px;cursor:pointer;white-space:nowrap}
.link-out{display:block;max-width:260px}
.copy-link{font-size:12px;padding:6px 8px;margin:6px 0 4px}
.top a{color:var(--muted)}
body:has(.tabs) .top,body:has(.tabs) .wrap{max-width:1160px}
/* Trang thanh toán */
.pay{max-width:860px;margin:16px auto 0}
.pay-grid{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start;margin-top:12px}
.qr{width:100%;height:auto;border:1px solid var(--line);border-radius:12px}
.bank{border-collapse:collapse;width:100%;margin:12px 0;font-size:15px;min-width:0}
.bank th{color:var(--muted);font-weight:400;padding:8px 12px 8px 0;white-space:nowrap}
.bank td{padding:8px 0;color:var(--fg)}
#tab h2{color:var(--fg);font-size:20px;margin:28px 0 8px}
@media (max-width:760px){.pay-grid{grid-template-columns:1fr}.qr{max-width:320px}}
.cards{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
