/* Tính điểm tốt nghiệp THPT — tông sáng theo logo Intracom, kế thừa font website */
.idt{
  --ink:#1C0045; --mut:#6b5e86; --line:#e8e1f2; --surface:#f7f5fb;
  --accent:#1C0045; --accent2:#E7C638;
  --ok:#1a8a5a; --okbg:#e7f6ee; --bad:#c0392b; --badbg:#fdecea;
  box-sizing:border-box; width:100%; max-width:720px; margin:0 auto;
  font-family:inherit; color:var(--ink);
}
.idt *,.idt *::before,.idt *::after{box-sizing:border-box;}
.idt__inner{position:relative; overflow:hidden; padding:clamp(18px,4vw,32px); border-radius:22px;
  background:radial-gradient(120% 90% at 100% -12%, color-mix(in srgb,var(--accent2) 14%,transparent), transparent 55%), #fff;
  border:1px solid var(--line); box-shadow:0 20px 50px -34px rgba(28,0,69,.35);}
.idt__inner::before{content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,var(--accent),var(--accent2));}

.idt__eyebrow{margin:0; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-weight:700;}
.idt__title{font-weight:800; font-size:clamp(19px,3.2vw,25px); margin:3px 0 0; line-height:1.15; color:var(--ink);}
.idt__intro{margin:8px 0 20px; font-size:14px; line-height:1.5; color:var(--mut);}

.idt__group{border:1px solid var(--line); border-radius:14px; padding:14px 14px 16px; margin:0 0 14px; min-width:0;}
.idt__group legend{display:flex; align-items:center; gap:8px; font-weight:700; font-size:14px; color:var(--ink); padding:0 6px;border-bottom: none; margin-bottom: 0;}
.idt__step{display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%;
  background:var(--accent); color:#fff; font-size:12px; font-weight:700;}

.idt__grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px 12px;}
.idt__grid--3{grid-template-columns:repeat(3,1fr);}
.idt__grid--2{grid-template-columns:repeat(2,1fr);}
.idt__field{display:flex; flex-direction:column; gap:5px; font-size:13px; color:var(--mut); min-width:0;}
.idt__field>span{font-weight:600;}
.idt__field input,.idt__field select{
  font-family:inherit; font-size:15px; color:var(--ink); width:100%;
  padding:5px 12px; min-height:45px; border:1px solid var(--line); border-radius:10px; background:var(--surface); min-width:0;}
.idt__field input:focus,.idt__field select:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent); background:#fff;}
.idt__field input.err{border-color:var(--bad); background:var(--badbg);}
.idt__field--pick{display:grid; grid-template-columns:1fr 92px; gap:6px; align-items:end;}
.idt__field--pick select{padding:10px 8px;}

.idt__actions{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:4px;}
.idt__btn{flex:1 1 auto; cursor:pointer; font-family:inherit; font-weight:700; font-size:16px; color:#fff;
  padding:14px 20px; border:0; border-radius:12px; background:var(--accent);
  box-shadow:0 12px 26px -14px color-mix(in srgb,var(--accent) 80%,transparent); transition:filter .15s, transform .15s;}
.idt__btn:hover{filter:brightness(1.15); transform:translateY(-1px);}
.idt__reset{cursor:pointer; font-family:inherit; font-weight:600; font-size:14px; color:var(--ink);
  padding:12px 16px; border:1px solid var(--line); border-radius:12px; background:#fff;}
.idt__reset:hover{border-color:var(--accent); background:var(--surface);}
.idt__btn:focus-visible,.idt__reset:focus-visible,.idt__cta:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.idt__err{min-height:1.1em; margin:10px 0 0; font-size:13px; color:var(--bad); font-weight:600;}

.idt__result{margin:18px 0 0; padding:18px; border-radius:14px; border:1px solid var(--line); background:var(--surface);}
.idt__score{font-weight:800; font-size:clamp(34px,8vw,52px); line-height:1; color:var(--accent); font-variant-numeric:tabular-nums;}
.idt__scorelbl{font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--mut); margin:0 0 4px;}
.idt__badge{display:inline-block; margin:14px 0 0; padding:8px 14px; border-radius:999px; font-weight:700; font-size:14px;}
.idt__badge--ok{background:var(--okbg); color:var(--ok);}
.idt__badge--bad{background:var(--badbg); color:var(--bad);}
.idt__break{margin:14px 0 0; padding:0; list-style:none; font-size:14px; color:var(--ink);}
.idt__break li{display:flex; justify-content:space-between; gap:12px; padding:7px 0; border-top:1px dashed var(--line);}
.idt__break li span:last-child{font-weight:700; font-variant-numeric:tabular-nums;}
.idt__note{margin:12px 0 0; font-size:12.5px; color:var(--mut); line-height:1.5;}

.idt__cta{display:block; text-align:center; text-decoration:none; margin:14px 0 0; font-weight:700; font-size:15px; color:#0c1030;
  padding:13px 20px; border-radius:12px; background:linear-gradient(90deg,var(--accent2),color-mix(in srgb,var(--accent2) 60%,#fff));}
.idt__cta:hover{filter:brightness(1.03);}

.idt__formula{margin:18px 0 0; border-top:1px solid var(--line); padding-top:14px;}
.idt__formula summary{cursor:pointer; font-weight:700; font-size:14px; color:var(--ink);}
.idt__formula p{font-size:13.5px; line-height:1.55; color:var(--mut); margin:10px 0 0;}
.idt__eq{background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:10px 12px; color:var(--ink)!important; overflow-x:auto;}

.idt__foot{display:flex; align-items:center; gap:10px; margin:20px 0 0; font-size:12px; color:var(--mut);}
.idt__logo{height:24px; width:auto; display:block;}
.idt__foot span{font-style:italic;}

@media (max-width:480px){
  .idt__grid,.idt__grid--3,.idt__grid--2{grid-template-columns:1fr 1fr;}
  .idt__btn{flex:1 1 100%;}
}
@media (prefers-reduced-motion:reduce){ .idt__btn{transition:none;} }

.idt__hint{margin:10px 2px 0; font-size:12px; color:var(--mut); line-height:1.5;}
.idt__hint b{color:var(--ink);}

.idt__tip{margin:0 0 18px; padding:11px 14px; border-radius:10px; line-height:1.5;
  background:color-mix(in srgb,var(--accent2) 16%,#fff); border:1px solid color-mix(in srgb,var(--accent2) 45%,#fff);
  font-size:13px; color:var(--ink);}
.idt__tip b{color:var(--accent);}
.idt__sub{display:block; margin-top:5px; font-size:11.5px; color:var(--mut); line-height:1.45; font-weight:400;}
