/* Thăm Khám Sức Khỏe Tài Chính 49K — giao diện V1 (ưu tiên điện thoại, tông xanh theo ảnh tham chiếu) */
:root{
  color-scheme: light;
  --bg:#EAF3F2;
  --bg-2:#F6FAF9;
  --card:#FFFFFF;
  --ink:#12303A;
  --ink-2:#4E6870;
  --ink-3:#7B929A;
  --line:#D6E4E4;
  --green:#178A54;
  --green-d:#0F6E41;
  --green-soft:#E3F4EA;
  --teal:#0E6F86;
  --blue:#1F5FBF;
  --blue-soft:#E7F0FC;
  --band-1:#1C7FA8;
  --band-2:#2AA17F;
  --amber:#B4620F;
  --amber-soft:#FCEFD9;
  --red:#C6353F;
  --red-soft:#FCE9EA;
  --violet:#6B4FD8;
  --violet-soft:#EEE9FC;
  --shadow:0 1px 2px rgba(18,48,58,.06),0 12px 28px -14px rgba(18,48,58,.28);
  --r:18px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:linear-gradient(180deg,#DDEEEC 0%,var(--bg) 220px,var(--bg-2) 100%);
  color:var(--ink);
  font-family:'Be Vietnam Pro',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:15px;line-height:1.5;
  padding-inline:16px;
  min-height:100vh;
}
button,input,select{font:inherit;color:inherit;}
.wrap{max-width:460px;margin-inline:auto;padding-block:20px 56px;}

/* ---- dải cảnh báo bản xem trước ---- */
.demo-ribbon{
  background:var(--amber-soft);border:1px solid #EBCB9A;color:#6F3E06;border-radius:12px;
  padding:9px 12px;font-size:.78rem;margin-bottom:12px;line-height:1.45;
}
.demo-ribbon b{color:#8A4A05;}

/* ---- thẻ màn hình ---- */
.screen{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(214,228,228,.7);}
.band{
  display:flex;align-items:center;gap:12px;padding:13px 16px;color:#fff;
  background:linear-gradient(100deg,var(--band-1),var(--band-2));
}
.band .num{
  flex:none;width:30px;height:30px;border-radius:9px;background:#fff;color:var(--band-1);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;
}
.band .ttl{font-weight:600;font-size:1.02rem;letter-spacing:.01em;}
.band.plum{background:linear-gradient(100deg,#3B5BD0,#7A4FD6);}
.body{padding:18px 18px 20px;}
.dots{display:flex;align-items:center;gap:0;margin:2px 4px 16px;}
.dots i{flex:none;width:11px;height:11px;border-radius:50%;background:#D6E4E4;border:2px solid #fff;box-shadow:0 0 0 1px #C6D8D8;}
.dots i.on{background:var(--green);box-shadow:0 0 0 1px var(--green);}
.dots u{flex:1;height:2px;background:#D6E4E4;}
.dots u.on{background:var(--green);}

h1,h2,h3{margin:0;}
.h-title{font-size:1.28rem;font-weight:700;line-height:1.25;color:var(--ink);text-wrap:balance;}
.h-sub{color:var(--ink-2);font-size:.9rem;margin:4px 0 0;}

/* ---- nút ---- */
.btn{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  border:none;border-radius:13px;padding:14px 18px;font-weight:700;letter-spacing:.02em;cursor:pointer;
  background:linear-gradient(180deg,#1E9A60,var(--green-d));color:#fff;
  box-shadow:0 8px 18px -8px rgba(15,110,65,.7);
}
.btn:hover{filter:brightness(1.05);}
.btn:disabled{opacity:.5;cursor:not-allowed;filter:none;}
.btn.blue{background:linear-gradient(180deg,#2C69C6,#1D4E9E);box-shadow:0 8px 18px -8px rgba(29,78,158,.7);}
.btn.ghost{background:#fff;color:var(--green-d);border:1.5px solid var(--green);box-shadow:none;}
.btn.ghost.blue{color:#1D4E9E;border-color:#2C69C6;}
.btn.small{padding:10px 14px;font-size:.85rem;}
.btn:focus-visible,.chip:focus-visible,.card-opt:focus-visible,.link-btn:focus-visible{outline:3px solid #7FC6A6;outline-offset:2px;}
.nav{display:flex;gap:10px;margin-top:20px;align-items:stretch;}
.nav .back{
  flex:none;background:none;border:none;color:var(--ink-2);font-weight:600;cursor:pointer;
  display:flex;align-items:center;gap:6px;padding:0 6px;font-size:.88rem;letter-spacing:.02em;
}
.nav .btn{flex:1;}
.link-btn{background:none;border:none;color:var(--blue);font-weight:600;cursor:pointer;padding:0;font-size:.85rem;text-decoration:underline;text-underline-offset:2px;}

/* ---- Màn 1 ---- */
.logo{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--green-d);margin-bottom:10px;}
.logo b{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.25;text-align:left;}
.hero-title{text-align:center;font-size:1.85rem;line-height:1.14;font-weight:800;color:#0F3B4A;margin:6px 0 10px;text-wrap:balance;}
.hero-title span{display:block;}
.price-line{text-align:center;font-weight:700;font-size:1.02rem;color:var(--ink);}
.price-line small{display:block;font-weight:500;color:var(--ink-2);font-size:.9rem;margin-top:2px;}
.hero-art{margin:14px -18px 4px;position:relative;line-height:0;}
.hero-art svg{width:100%;height:auto;display:block;}
.hero-art .script{
  position:absolute;right:14px;bottom:22px;text-align:right;line-height:1.15;color:#fff;
  font-family:'Dancing Script','Be Vietnam Pro',cursive;font-size:1.28rem;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.35);
}
.benefits{list-style:none;margin:16px 0 18px;padding:0;display:flex;flex-direction:column;gap:11px;}
.benefits li{display:flex;align-items:center;gap:11px;font-weight:600;color:#1B3E4A;font-size:.98rem;}
.benefits .ck{flex:none;width:24px;height:24px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;}
.assure{text-align:center;color:var(--ink-2);font-size:.82rem;margin-top:12px;line-height:1.5;}
.assure .lock{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--ink-2);font-weight:500;}

/* ---- form ---- */
.field{margin-top:16px;}
.field label,.q{display:block;font-weight:600;font-size:.95rem;color:var(--ink);}
.field .help{color:var(--ink-2);font-size:.82rem;margin:3px 0 7px;line-height:1.45;}
.field .help.tight{margin-bottom:8px;}
.inp{
  width:100%;border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:12px 14px;font-size:1rem;
  transition:border-color .15s,box-shadow .15s;
}
.inp::placeholder{color:#9AB0B6;}
.inp:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(23,138,84,.15);}
.money{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s;}
.money:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,138,84,.15);}
.money input{flex:1;min-width:0;border:none;background:transparent;padding:12px 6px 12px 14px;font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:600;}
.money input::placeholder{font-weight:400;color:#9AB0B6;font-size:.95rem;}
.money input:focus{outline:none;}
.money .cur{flex:none;padding:0 14px 0 4px;color:var(--ink-2);font-weight:700;}
.money.hl{border-color:#8BC8A8;background:#F4FBF7;}
.err{color:var(--red);font-size:.83rem;margin-top:6px;}
.warn{background:var(--amber-soft);border:1px solid #EBCB9A;color:#6F3E06;border-radius:12px;padding:10px 12px;font-size:.86rem;margin-top:14px;line-height:1.45;}
.foot-note{color:var(--ink-2);font-size:.84rem;margin-top:14px;display:flex;gap:8px;align-items:flex-start;line-height:1.45;}
.foot-note.ok{background:var(--green-soft);border-radius:12px;padding:10px 12px;color:#16523A;}
.group-h{font-size:.74rem;letter-spacing:.09em;font-weight:700;color:var(--green-d);margin:20px 0 -4px;text-transform:uppercase;}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.8rem;color:var(--ink-2);line-height:1.45;}
.consent input{margin-top:2px;width:18px;height:18px;accent-color:var(--green);flex:none;}

/* mục tiêu + số tháng */
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.card-opt{
  text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 12px 11px;cursor:pointer;
  display:flex;flex-direction:column;gap:6px;min-height:118px;
}
.card-opt .ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;}
.card-opt b{font-size:.92rem;line-height:1.2;}
.card-opt span{font-size:.74rem;color:var(--ink-2);line-height:1.35;}
.card-opt.on{border-color:var(--green);background:var(--green-soft);box-shadow:0 0 0 3px rgba(23,138,84,.14);}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.chip{
  flex:1 1 auto;min-width:64px;text-align:center;background:#fff;border:1.5px solid var(--line);border-radius:12px;
  padding:11px 10px;font-weight:600;cursor:pointer;font-size:.92rem;
}
.chip.on{border-color:var(--green);background:var(--green-soft);color:var(--green-d);}

/* ---- kết quả Màn 5 ---- */
.stack{display:flex;flex-direction:column;gap:12px;margin-top:14px;}
.rcard{border:1px solid var(--line);border-radius:16px;padding:14px 15px;background:#fff;}
.rcard .lab{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.86rem;color:var(--ink-2);}
.rcard .lab .ic{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none;}
.rcard .big{font-size:clamp(1.4rem,6.6vw,1.75rem);font-weight:800;color:var(--ink);margin:6px 0 2px;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em;}
.rcard .big.neg{color:var(--red);}
.rcard .big.pos{color:var(--green-d);}
.rcard p{margin:0;color:var(--ink-2);font-size:.86rem;line-height:1.5;}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.duo .cell{border-radius:13px;padding:11px 12px;text-align:center;}
.duo .cell small{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.duo .cell b{display:block;font-size:1.6rem;font-weight:800;margin-top:2px;font-variant-numeric:tabular-nums;}
.duo .c1{background:var(--blue-soft);color:#1A4A93;}
.duo .c2{background:var(--green-soft);color:#12603F;}
.picture{background:linear-gradient(180deg,#F1F9F5,#F7FBF9);border:1px solid #CFE6DA;border-radius:16px;padding:14px 15px;}
.picture h3{font-size:.95rem;margin-bottom:6px;color:#12603F;}
.picture p{margin:6px 0 0;font-size:.9rem;color:#24463A;line-height:1.55;}

/* ---- Màn 6 ---- */
.goal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.goal-top h2{font-size:1.18rem;font-weight:800;line-height:1.2;}
.goal-top small{display:block;color:var(--ink-2);font-size:.86rem;margin-top:3px;font-weight:500;}
.target{
  margin-top:14px;text-align:center;border-radius:16px;padding:16px 12px;background:linear-gradient(180deg,#FFF6E1,#FFEFCB);border:1px solid #F0D9A0;
}
.target small{font-weight:700;color:#8A5A0B;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;}
.target b{display:block;font-size:clamp(1.5rem,7.4vw,2rem);font-weight:800;color:#3A2A07;margin:2px 0;font-variant-numeric:tabular-nums;white-space:nowrap;}
.target span{color:#7A5A1D;font-size:.84rem;}
.prog{margin-top:14px;}
.prog .row{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;}
.bar{height:11px;border-radius:99px;background:#E2ECEC;margin-top:8px;overflow:hidden;}
.bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#1E9A60,#48C18A);}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.two .have{background:var(--blue-soft);border-radius:14px;padding:12px;}
.two .miss{background:var(--red-soft);border-radius:14px;padding:12px;}
.two small{display:block;font-weight:700;font-size:.78rem;}
.two .have small{color:#1A4A93;}
.two .miss small{color:#A32A33;}
.two b{display:block;font-size:1.02rem;font-weight:800;margin-top:3px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.timecard{margin-top:12px;border:1.5px solid #BFE0CE;background:#F3FBF7;border-radius:16px;padding:14px;}
.timecard .tt{color:var(--ink-2);font-size:.86rem;margin:0;}
.timecard .tt b{color:var(--ink);}
.timecard .months{font-size:1.5rem;font-weight:800;color:var(--green-d);margin:3px 0;}
.timecard .date{font-size:.9rem;color:var(--ink);font-weight:600;}
.timecard .note{font-size:.8rem;color:var(--ink-2);margin:8px 0 0;line-height:1.45;}
.timecard.neg{background:var(--red-soft);border-color:#EFC2C6;}
.timecard.neg .months{color:var(--red);}
.timecard.zero{background:var(--amber-soft);border-color:#EBCB9A;}
.timecard.zero .months{color:var(--amber);font-size:1.1rem;}
.donecard{margin-top:12px;background:var(--green-soft);border:1.5px solid #9ED4B7;border-radius:16px;padding:16px;text-align:center;}
.donecard b{font-size:1.08rem;color:#12603F;}
.donecard p{margin:6px 0 0;font-size:.86rem;color:#24463A;}

/* ---- Màn 7 ---- */
.sc-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;}
.sc{border:1.5px solid var(--line);border-radius:14px;padding:10px 6px 11px;text-align:center;background:#fff;}
.sc small{display:block;font-size:.72rem;font-weight:700;color:var(--ink-2);line-height:1.2;min-height:2.4em;}
.sc .fl{font-size:.7rem;color:var(--ink-2);margin-top:4px;line-height:1.3;font-variant-numeric:tabular-nums;}
.sc .mo{font-size:1.15rem;font-weight:800;margin-top:5px;font-variant-numeric:tabular-nums;}
.sc.now{background:#F1F5F6;}
.sc.sel{border-color:#2C69C6;background:var(--blue-soft);}
.sc.sel .mo{color:#1D4E9E;}
.sc.b{background:var(--violet-soft);border-color:#CFC4F5;}
.sc.b .mo{color:var(--violet);}
.sc .pb{height:5px;border-radius:9px;background:rgba(0,0,0,.08);margin-top:8px;overflow:hidden;}
.sc .pb i{display:block;height:100%;background:linear-gradient(90deg,#3B7CD8,#7A6BE0);}
.imp-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;}
.imp-chips .chip{min-width:0;padding:10px 4px;font-size:.84rem;}
.custom-row{margin-top:10px;}
.result-box{margin-top:14px;border-radius:16px;padding:14px;background:#F3F8FE;border:1.5px solid #C7DBF6;}
.result-box .arrow{color:var(--ink-3);text-align:center;margin:4px 0;font-size:.9rem;}
.result-box .ln{font-size:.9rem;color:var(--ink-2);}
.result-box .ln b{color:var(--ink);}
.result-box .short{font-size:1.3rem;font-weight:800;color:#1D4E9E;text-align:center;margin:4px 0 2px;}
.result-box .msg{font-size:.86rem;color:#24425F;margin:6px 0 0;line-height:1.5;}
.reverse{margin-top:16px;border:1.5px solid #E5B9BD;background:#FFF7F7;border-radius:16px;padding:14px;}
.reverse .q{color:#8E2B33;}
.reverse select{
  width:100%;margin-top:8px;border:1.5px solid #E5B9BD;background:#fff;border-radius:12px;padding:11px 12px;font-weight:600;
}
.reverse .need{margin-top:10px;background:#fff;border-radius:12px;padding:11px 12px;border:1px solid #F0D3D5;}
.reverse .need b{font-size:1.15rem;font-weight:800;color:#8E2B33;font-variant-numeric:tabular-nums;}
.reverse .need p{margin:4px 0 0;font-size:.84rem;color:var(--ink-2);}
.disc{color:var(--ink-3);font-size:.78rem;margin-top:10px;line-height:1.5;}

/* ---- Màn 8 ---- */
.sumbox{border:1px solid var(--line);border-radius:16px;padding:6px 14px;background:#fff;}
.sumrow{display:flex;gap:11px;align-items:flex-start;padding:11px 0;}
.sumrow + .sumrow{border-top:1px solid #EAF1F1;}
.sumrow .ic{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.sumrow b{display:block;font-size:.92rem;}
.sumrow span{color:var(--ink-2);font-size:.87rem;line-height:1.45;}
.prio{
  margin-top:14px;border-radius:18px;padding:16px 16px 17px;color:#fff;
  background:linear-gradient(120deg,#12798F,#2A9F7C);box-shadow:0 12px 24px -14px rgba(18,121,143,.8);
}
.prio small{font-weight:700;letter-spacing:.09em;font-size:.72rem;opacity:.9;}
.prio h3{font-size:1.14rem;line-height:1.28;margin:6px 0 8px;font-weight:800;text-wrap:balance;}
.prio p{margin:0;font-size:.9rem;line-height:1.5;opacity:.97;}
.mail{margin-top:14px;}
.mail .sub{font-size:.8rem;color:var(--ink-2);margin-top:6px;text-align:center;min-height:1.2em;}
.mail .sub.ok{color:var(--green-d);font-weight:600;}
.mail .sub.bad{color:var(--red);font-weight:600;}
.support{margin-top:16px;}
.support .q{font-size:.95rem;}
.select-btn{
  width:100%;margin-top:8px;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:12px;
  padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;color:var(--ink-2);
}
.select-btn.has{color:var(--ink);font-weight:600;}
.program{margin-top:16px;border-radius:18px;padding:16px;border:1.5px solid #C9D4F3;background:linear-gradient(180deg,#F5F7FF,#EEF2FD);}
.program small{font-weight:700;letter-spacing:.07em;font-size:.7rem;color:#4A5DAF;}
.program h3{font-size:1.02rem;font-weight:800;letter-spacing:.02em;margin:4px 0 2px;color:#1B2A6B;}
.program p{margin:0 0 12px;color:#3B4A85;font-size:.88rem;}
.tail{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.tail button{
  border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:12px 10px;cursor:pointer;text-align:left;
  display:flex;gap:9px;align-items:center;
}
.tail .ic{flex:none;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;}
.tail b{display:block;font-size:.88rem;line-height:1.2;}
.tail span{font-size:.74rem;color:var(--ink-2);}
.toast{
  position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);
  background:#12303A;color:#fff;padding:10px 16px;border-radius:12px;font-size:.86rem;z-index:80;max-width:88vw;text-align:center;
  box-shadow:0 12px 30px -10px rgba(0,0,0,.5);
}

/* ---- bảng trượt từ dưới (chọn nhu cầu, thanh toán, đổi mục tiêu) ---- */
.sheet-back{position:fixed;inset:0;background:rgba(10,30,36,.5);z-index:60;display:flex;align-items:flex-end;justify-content:center;}
.sheet{
  width:100%;max-width:460px;background:#fff;border-radius:22px 22px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));
  max-height:92vh;overflow:auto;
}
@media (prefers-reduced-motion:no-preference){ .sheet{animation:up .25s ease both;} @keyframes up{from{transform:translateY(40px);opacity:.5;}to{transform:none;opacity:1;}} }
.sheet h3{font-size:1.08rem;font-weight:800;}
.sheet .sh{color:var(--ink-2);font-size:.86rem;margin:4px 0 12px;}
.needs{display:flex;flex-direction:column;gap:8px;margin:12px 0 16px;}
.need-opt{
  display:flex;align-items:center;gap:11px;border:1.5px solid var(--line);border-radius:12px;padding:12px;background:#fff;cursor:pointer;font-weight:600;text-align:left;
}
.need-opt .bx{flex:none;width:20px;height:20px;border-radius:6px;border:2px solid #A9BFC4;display:flex;align-items:center;justify-content:center;}
.need-opt.on{border-color:var(--green);background:var(--green-soft);}
.need-opt.on .bx{background:var(--green);border-color:var(--green);}
.need-opt:disabled{opacity:.45;cursor:not-allowed;}
.pay-box{border:1.5px dashed #9ED4B7;background:#F4FBF7;border-radius:16px;padding:14px;text-align:center;}
.pay-box .qr{width:210px;max-width:70%;margin:6px auto 10px;background:#fff;border-radius:12px;padding:8px;border:1px solid var(--line);line-height:0;}
.pay-box .qr img,.pay-box .qr svg{width:100%;height:auto;display:block;}
.pay-box dl{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;text-align:left;margin:8px 0 0;font-size:.86rem;}
.pay-box dt{color:var(--ink-2);}
.pay-box dd{margin:0;font-weight:700;word-break:break-all;}
.pay-status{margin-top:12px;font-weight:600;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-2);}
.spin{width:16px;height:16px;border-radius:50%;border:2.5px solid #BFE0CE;border-top-color:var(--green);animation:sp 1s linear infinite;}
@keyframes sp{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.spin{animation:none;}}
.code-row{display:flex;gap:8px;margin-top:8px;}
.code-row .inp{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.06em;}
.hr-or{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:.78rem;margin:16px 0 4px;}
.hr-or:before,.hr-or:after{content:'';flex:1;height:1px;background:var(--line);}
.demo-tag{display:inline-block;background:var(--amber-soft);color:#8A4A05;border:1px solid #EBCB9A;border-radius:6px;padding:1px 6px;font-size:.68rem;font-weight:700;letter-spacing:.04em;margin-left:6px;vertical-align:middle;}

/* ---- trang chương trình ---- */
.prog-page h2{font-size:1.3rem;font-weight:800;line-height:1.2;color:#1B2A6B;}
.prog-page .meta{color:#4A5DAF;font-weight:700;margin-top:6px;}
.gift{margin-top:16px;display:flex;gap:12px;background:var(--green-soft);border:1.5px solid #9ED4B7;border-radius:16px;padding:14px;align-items:center;}
.gift b{display:block;color:#12603F;}
.prog-flow{margin:16px 0 0;color:var(--ink);font-size:.95rem;line-height:1.6;}

/* ---- hàng có biểu tượng (Màn 3–4) ---- */
.item{display:flex;gap:12px;align-items:flex-start;margin-top:4px;}
.item .ico-sq{flex:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-top:20px;}
.item .grow{flex:1;min-width:0;}
.item .field{margin-top:12px;}
@media (max-width:360px){ .item .ico-sq{display:none;} }
.rcard .lab .ic,.sumrow .ic,.tail .ic{flex:none;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

h1:focus,h2:focus,h3:focus{outline:none;}


.rcard .big small{font-size:.5em;font-weight:600;color:var(--ink-2);margin-left:3px;letter-spacing:0;}
.duo .cell small:first-child{min-height:2.5em;display:flex;align-items:center;justify-content:center;line-height:1.15;}


.tail button{flex-direction:column;text-align:center;justify-content:center;padding:14px 8px;gap:6px;}
.sc .mo{font-size:1rem;white-space:nowrap;}


/* ---- giải thích mở khi cần, dòng gợi ý gọn ---- */
.lbl{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.lbl label{font-weight:600;font-size:.95rem;color:var(--ink);flex:1;}
.info{flex:none;background:none;border:none;color:var(--ink-3);padding:2px;cursor:pointer;line-height:0;border-radius:50%;margin-top:1px;}
.info[aria-expanded="true"]{color:var(--blue);}
.info:focus-visible,.tog:focus-visible{outline:3px solid #7FC6A6;outline-offset:2px;}
.tog{display:inline-flex;align-items:center;gap:4px;margin-top:8px;background:none;border:none;padding:2px 0;color:var(--blue);font-weight:600;font-size:.8rem;cursor:pointer;}
.tog svg{transition:transform .15s;}
.tog.open svg{transform:rotate(180deg);}
@media (prefers-reduced-motion:reduce){.tog svg{transition:none;}}
.more{margin-top:6px;}
.more p{margin:0;font-size:.84rem;color:var(--ink-2);line-height:1.5;}
.help.more{margin:0 0 8px;}
.hint-line{margin:8px 2px 0;font-size:.78rem;color:var(--ink-2);}
.small-note{font-size:.78rem !important;color:var(--ink-3) !important;margin-top:6px !important;}
.hero-art .hero-photo{width:100%;height:auto;aspect-ratio:2.4/1;object-fit:cover;display:block;}
.sum-illu{flex:none;width:92px;height:auto;display:block;}

.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.two b{font-size:clamp(.82rem,4vw,1.02rem);}


.sc-row{grid-template-columns:repeat(3,minmax(0,1fr));}
.sc{padding:10px 5px 11px;}
.sc .mo{font-size:.92rem;}


.rk{letter-spacing:1px;font-family:Consolas,'Courier New',monospace;}


.sum-illu{width:128px;margin:-8px -4px 0 0;}

