/* features.css — Chế độ học, khách, nhập đề, câu chọn nhiều, thi ngẫu nhiên, trợ lý AI, thi nghiêm túc, bài giao, sổ lỗi, công cụ giáo viên
   (tách từ index.html; thứ tự nạp các file CSS phải giữ như trong index.html) */
/* ================= Trang chủ: hai chế độ (Practice by skill / Mock exam) ================= */
.tests .s-listening{--sc:#2aa5bd;--sb:#cfe8ed;--sg:linear-gradient(180deg,#3bb8cf,#1e8ba1)}
.modesw,.sktabs,.ppanel,.mockinfo,.mcard{font-family:Montserrat,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;color:var(--navy)}
.modesw{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 18px}
.msw{display:flex;align-items:center;gap:14px;text-align:left;padding:16px 20px;border:2px solid #d5dde6;border-radius:18px;background:#fff;color:var(--navy);cursor:pointer;font:inherit;transition:box-shadow .15s,border-color .15s,background .15s}
.msw svg{width:34px;height:34px;flex:none;stroke:var(--navy);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.msw b{display:block;font-size:19px;font-weight:800}
.msw small{display:block;margin-top:2px;font-size:12.5px;font-weight:600;color:#66778a}
.msw:hover{border-color:#8aa0b8}
.msw[aria-pressed=true]{background:#2a4365;border-color:#2a4365;color:#fff;box-shadow:0 8px 22px rgba(31,58,95,.22)}
.msw[aria-pressed=true] svg{stroke:#fff}.msw[aria-pressed=true] small{color:#cfdcec}
.msw:focus-visible,.sktab:focus-visible{outline:3px solid #7aa7ff;outline-offset:2px}
.sktabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.sktab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;border:2px solid var(--sb);border-radius:16px;background:#fff;color:var(--navy);cursor:pointer;font:inherit;transition:background .15s,border-color .15s}
.sktab svg{width:30px;height:30px;stroke:var(--sc);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sktab b{font-size:16px;font-weight:800}.sktab small{font-size:12px;font-weight:600;color:#66778a}
.sktab:hover{border-color:var(--sc)}
.sktab[aria-pressed=true]{background:var(--sc);border-color:var(--sc);color:#fff}
.sktab[aria-pressed=true] svg{stroke:#fff}.sktab[aria-pressed=true] small{color:rgba(255,255,255,.9)}
.ppanel{background:#fff;border-radius:22px;padding:22px 24px 24px;margin:0 0 22px;box-shadow:0 8px 28px rgba(31,58,95,.10)}
.ppanel h2{margin:0 0 4px;font-size:24px;font-weight:800;color:var(--sc)}
.pdesc{margin:0 0 16px;font-size:14px;color:#5a6b7e}
.plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.prow{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--sb);border-radius:16px;background:#fff}
.prow.done{background:color-mix(in srgb,var(--sc) 5%,#fff)}
.pinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ptitle{font-size:18px;font-weight:800}
.pstat{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px;font-size:13px;color:#66778a}
.pstat .sband{font-size:20px}
.prow .take{width:auto;max-width:none;padding:10px 22px;font-size:15px}
.mockinfo{display:flex;gap:14px;align-items:flex-start;margin:0 0 16px;padding:16px 20px;border-radius:16px;background:#eaf1f8;border:1px solid #cfdcea}
.mockinfo svg{width:30px;height:30px;flex:none;stroke:var(--navy);fill:none;stroke-width:1.7}
.mockinfo p{margin:4px 0 0;font-size:14px;line-height:1.5;color:#44566b}
.mcard{background:#fff;border-radius:22px;padding:20px 24px 22px;margin:0 0 16px;box-shadow:0 8px 28px rgba(31,58,95,.10)}
.mtop{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mtop h2{margin:0;font-size:22px;font-weight:800}
.mstate{font-size:13px;font-weight:700;color:#66778a;padding:3px 12px;border-radius:999px;background:#eef2f6}
.mstate.on{color:#1e6a3a;background:#dff1e6}
.mchips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.chip{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--sb);border-radius:12px;background:#fff;font-size:13px}
.chip svg{width:22px;height:22px;flex:none;stroke:var(--sc);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chip b{font-weight:700}.chip em{margin-left:auto;font-style:normal;font-weight:800;color:#8a97a6}
.chip.done{background:color-mix(in srgb,var(--sc) 9%,#fff);border-color:var(--sc)}.chip.done em{color:var(--sc)}
.mbar{display:flex;align-items:center;gap:20px}
@media (max-width:860px){.sktabs,.mchips{grid-template-columns:repeat(2,minmax(0,1fr))}.plist{grid-template-columns:1fr}}
@media (max-width:560px){
  .modesw{grid-template-columns:1fr}.msw{padding:14px 16px}
  .ppanel,.mcard{padding:16px 14px 18px;border-radius:18px}
  .mbar{flex-wrap:wrap;gap:12px}.mbar .fprog{max-width:none;flex-basis:100%}.mbar .startfull{margin-left:0;width:100%;justify-content:center}
  .prow .take{padding:10px 16px;font-size:14px}
}

/* ================= Kết quả cho học viên: thống kê theo phần ================= */
table.partstat{width:100%;border-collapse:collapse;margin:8px 0 14px}
.partstat th,.partstat td{padding:9px 12px;border-bottom:1px solid #e3e8ee;text-align:left;font-size:15px}
.partstat td.ok{color:#1e7a3c;font-weight:800}.partstat td.no{color:#b3261e;font-weight:800}
.pbar{position:relative;height:24px;min-width:120px;border-radius:999px;background:#eef2f6;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#1f3a5f}
.pbar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#a9d6e2,#6fb5c9)}
.pbar span{position:relative}

/* ================= Chế độ khách ================= */
.guestnote{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;padding:12px 16px;border-radius:14px;background:#fff6e5;border:1px solid #f0d9a8;color:#5c4510;font-size:14px;line-height:1.5}
.guestnote svg{width:22px;height:22px;flex:none;margin-top:1px;stroke:#8a6512;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guestnote .linkbtn{font-size:14px;color:#8a4b00}
.prow.locked{background:#f5f6f8;border-color:#dde2e8}
.prow.locked .ptitle{color:#7b8797}
.take.lockbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#8b98a8;box-shadow:none}
.take.lockbtn svg,.startfull.locked svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.startfull.locked{background:#8b98a8}.startfull.locked:hover{background:#7a8798}
.mcard.locked{background:#fafbfc}
.guestbox{margin-top:18px;text-align:center}
.guestbox .gor{display:flex;align-items:center;gap:10px;color:#8b98a8;font-size:13px;margin-bottom:12px}
.guestbox .gor:before,.guestbox .gor:after{content:"";flex:1;height:1px;background:#d9dfe6}
.guestbox .btn{width:100%}
.guestbox .fine{margin:10px 0 0}

/* ================= Nhập đề từ file JSON ================= */
.eimp{background:#fff;border:1px solid #cfd8e3;border-radius:14px;padding:16px 18px;margin:0 0 20px}
.eimp h3{margin:0 0 6px}
.eimp code{background:#eef2f6;padding:1px 5px;border-radius:4px;font-size:12.5px}
.impbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:10px 0}
.impbar input[type=file]{max-width:100%}
.imptbl{width:100%;border-collapse:collapse;margin:10px 0}
.imptbl th,.imptbl td{padding:8px 10px;border-bottom:1px solid #e3e8ee;text-align:left;vertical-align:top;font-size:14px}
.imptbl .okc{color:#1e7a3c}.imptbl .noc{color:#b3261e}
.imperr,.impwarn{margin:4px 0 0;padding-left:18px;font-size:13px;line-height:1.45}
.imperr{color:#b3261e}.impwarn{color:#8a6512}

/* ================= Câu hỏi chọn nhiều chữ cái (Choose TWO letters) ================= */
.q.multi .qhead{gap:6px}
.q.multi .qanchor{display:block;height:0;overflow:hidden}
.q.multi .mopts label{padding:6px 8px;border-radius:8px}
.q.multi .mopts label:hover{background:#eef4f8}
.q.multi .mopts input[type=checkbox]{width:16px;height:16px;margin-top:2px;flex:none;accent-color:#1f6fa8}
.q.multi .mopts input[type=checkbox]:disabled + span{color:#8a97a5}
.exam .q.multi .opts{margin-left:0}

/* ================= Thi ngay: bộ đề trộn ngẫu nhiên ================= */
.modesw{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.modesw{grid-template-columns:1fr}}
.mixcard{background:#fff;border-radius:22px;padding:20px 24px 22px;margin:0 0 16px;box-shadow:0 8px 28px rgba(31,58,95,.10);font-family:Montserrat,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;color:var(--navy)}
.mixcard .pdesc{margin:10px 0 14px}
.mixskills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.mixsk{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:2px solid var(--sb);border-radius:999px;background:#fff;cursor:pointer;font-weight:700;font-size:14px;user-select:none}
.mixsk input{position:absolute;opacity:0;pointer-events:none}
.mixsk svg{width:20px;height:20px;fill:none;stroke:var(--sc);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mixsk.on{background:var(--sc);border-color:var(--sc);color:#fff}
.mixsk.on svg{stroke:#fff}
.mixsk:focus-within{outline:3px solid #7aa7ff;outline-offset:2px}
.mixplan{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 16px}
.mixpick{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--sb);border-radius:14px;background:color-mix(in srgb,var(--sc) 7%,#fff)}
.mixpick>svg{width:30px;height:30px;flex:none;fill:none;stroke:var(--sc);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mixpick small{display:block;font-size:12px;font-weight:700;color:#66778a;text-transform:uppercase;letter-spacing:.04em}
.mixpick b{display:block;font-size:20px;font-weight:800}
.mixpick .mixtag{margin-left:auto;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:#eef2f6;color:#5a6b7e;white-space:nowrap}
.mixpick .mixtag.new{background:#dff1e6;color:#1e6a3a}
.mixpick.locked{background:#f5f6f8}.mixpick.locked b{color:#7b8797}
.mixcard .mbar .btn svg{width:17px;height:17px;vertical-align:-3px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ================= Trợ lý AI ================= */
.aibox{margin:22px 0;padding:16px 18px;border:1px solid #cdd9e6;border-radius:14px;background:#f7fafd}
.aibox h2{margin:0 0 8px;font-size:20px}
.aiprogbtn{margin:14px 0}.aiprogbtn .btn{margin-right:8px}
.aiout{margin-top:10px}.aierrmsg{color:#a12b22}
.aifb .aihead{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin:6px 0 12px}
.aiover{min-width:140px;padding:10px 16px;border-radius:12px;background:#fff;border:1px solid #cdd9e6;text-align:center}
.aiover span{display:block;font-size:12px;color:#66778a;font-weight:700}.aiover b{font-size:34px;color:#1f4e79}
.aisum{flex:1;min-width:220px;margin:0;line-height:1.55}
.aiprio{background:#fff8e6;border:1px solid #f0d9a8;border-radius:10px;padding:10px 14px;margin:0 0 12px}.aiprio ol{margin:6px 0 0 18px;padding:0}
.aisec{margin:14px 0;padding:12px 14px;background:#fff;border:1px solid #dde5ee;border-radius:12px}
.aisec h3{margin:0 0 8px;font-size:18px}.aiband{margin-left:8px;font-size:14px;padding:2px 10px;border-radius:999px;background:#dff1e6;color:#1e6a3a}
.aisec h4,.aifb>h4{margin:12px 0 4px;font-size:15px}
table.aicrit{width:auto;min-width:280px;border-collapse:collapse;margin:0 0 6px}.aicrit td{padding:4px 12px 4px 0;border:0;font-size:14px}
.aierr{margin:8px 0;padding:8px 12px;border-left:4px solid #e0a94a;background:#fffaf0;border-radius:0 8px 8px 0}
.aitype{display:inline-block;font-size:12px;font-weight:800;color:#8a5a00;background:#ffeecb;border-radius:999px;padding:2px 10px}
.aierr p{margin:5px 0 0}.aierr del{color:#a12b22;background:#fde8e6;text-decoration:line-through}.aierr ins{color:#1e6a3a;background:#e2f4e8;text-decoration:none}
.aiplan{margin:8px 0}.aiplan ul{margin:4px 0 0 18px}
.aiwrap{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin:8px 0 18px}
.airadar{flex:none;background:#fff;border:1px solid var(--sb,#cdd9e6);border-radius:14px;padding:4px 10px}
.aiwrap .aistats{flex:1;min-width:220px;margin:0}
.aistats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0 18px}
.aipiewrap{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin:10px 0 14px}
.aipielegendbox{display:flex;flex-direction:column;gap:6px}
.aipielegend{display:flex;align-items:center;gap:8px;font-size:14px}
.aipielegend i{width:13px;height:13px;border-radius:3px;flex:none}
.aipielegend small{color:#8a97a5}
table.aierrtable{width:100%;border-collapse:collapse;margin:6px 0 18px;min-width:520px}
table.aierrtable th,table.aierrtable td{padding:7px 10px;border-bottom:1px solid #e6ebf0;text-align:left;font-size:14px;vertical-align:top}
table.aierrtable del{color:#a12b22;text-decoration:line-through}table.aierrtable ins{color:#1e6a3a;text-decoration:none}
@media (max-width:560px){.airadar{margin:0 auto}}
.aistat{padding:12px 14px;border:1px solid var(--sb,#cdd9e6);border-radius:14px;background:#fff}
.aistat b{display:block;font-size:17px}.aistat small{display:block;margin-top:4px;color:#66778a}
.aitrend{display:inline-block;margin-top:4px;font-weight:800;font-size:14px}
.aitrend.up{color:#1e7a3c}.aitrend.down{color:#b3261e}.aitrend.flat{color:#8a6512}.aitrend.na{color:#8a97a6;font-weight:600}
.aibar{display:grid;grid-template-columns:minmax(150px,1.2fr) 2fr 48px auto;gap:10px;align-items:center;margin:5px 0;font-size:14px}
.aibar>div{height:14px;border-radius:999px;background:#eef2f6;overflow:hidden}.aibar i{display:block;height:100%;background:linear-gradient(90deg,#a9d6e2,#3f9bb5)}
.aibar small{color:#66778a}
.aipanel{margin:14px 0;padding:12px 14px;border:1px solid #cdd9e6;border-radius:12px;background:#f7fafd}
.aipanel h4{margin:0 0 6px}
@media (max-width:560px){.aibar{grid-template-columns:1fr 60px}.aibar>div{grid-column:1/3}}

/* ================= Thi nghiêm túc ================= */
.integbar{position:fixed;left:50%;top:10px;transform:translateX(-50%);z-index:9999;max-width:min(720px,92vw);padding:10px 18px;border-radius:12px;font-size:15px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.25);background:#1f3a5f;color:#fff}
.integbar.warn{background:#a15c00}.integbar.bad{background:#a12b22}.integbar.info{background:#3c5a7a}
#integOverlay{position:fixed;inset:0;z-index:10000;background:rgba(15,25,40,.94);display:flex;align-items:center;justify-content:center}
#integOverlay .integbox{background:#fff;border-radius:16px;padding:26px 30px;max-width:460px;text-align:center}
#integOverlay h2{margin:0 0 10px;font-size:22px}#integOverlay p{margin:0 0 18px;color:#44566b}
.tag.warnleave{background:#fde8e6;color:#a12b22;border-color:#f3b8b2}
.integdetail{margin:8px 0;padding:8px 12px;border-radius:10px;font-size:14px}.integdetail.warn{background:#fff4e0;border:1px solid #f0d9a8}.integdetail.ok{background:#e6f5ea;border:1px solid #bfe0c8}.integdetail ul{margin:6px 0 0 18px}
/* ================= Bài giao ================= */
.asgbox{margin:0 0 18px;padding:16px 18px;background:#fff;border-radius:18px;box-shadow:0 8px 28px rgba(31,58,95,.10)}
.asgbox h2{margin:0 0 10px;font-size:22px;color:var(--navy)}
.asg{padding:12px 14px;margin:0 0 10px;border:1px solid #dde5ee;border-left:6px solid #3f9bb5;border-radius:12px}
.asg.bad{border-left-color:#c0392b;background:#fff7f6}.asg.ok{border-left-color:#2e7d32;background:#f6fbf7}.asg.late{border-left-color:#d9822b}
.asghead{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.asgtag{font-size:12px;font-weight:800;padding:2px 10px;border-radius:999px;background:#e3f0f7;color:#1f4e79}.asgtag.bad{background:#fde8e6;color:#a12b22}.asgtag.ok{background:#dff1e6;color:#1e6a3a}.asgtag.late{background:#ffeecb;color:#8a5a00}
.asgnote{margin:6px 0;font-size:14px}.asgitems{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.asgit{display:grid;grid-template-columns:130px 1fr auto auto;gap:10px;align-items:center;padding:6px 10px;background:#f7fafd;border-radius:10px;font-size:14px}
.asgit.done,.asgit.late{background:#eef8f1}.asgsk{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:13px}.asgsk svg{width:18px;height:18px;fill:none;stroke:var(--sc,#3f9bb5);stroke-width:1.6}
.asgti{font-weight:800}.asgst{color:#66778a}.asgit .btn{padding:5px 14px;font-size:14px}
@media (max-width:640px){.asgit{grid-template-columns:1fr auto}.asgsk{grid-column:1/3}}
/* ================= Sổ lỗi ================= */
.nbtools{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:12px 0}.nbtools select,.nbtools input[type=text]{padding:7px 10px}
.nbcard{margin:10px 0;padding:12px 14px;border:1px solid #dde5ee;border-left:6px solid #e0a94a;border-radius:12px;background:#fff}
.nbcard.st-practising{border-left-color:#3f9bb5}.nbcard.st-mastered{border-left-color:#2e7d32;background:#f6fbf7}
.nbtop{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.aifix{margin:8px 0 4px}.nbfix{color:#1e6a3a}
.nbbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:8px 0}
.nbseg button{padding:5px 12px;border:1px solid #b5c3ce;background:#fff;font-size:13px;cursor:pointer}.nbseg button:first-child{border-radius:8px 0 0 8px}.nbseg button:last-child{border-radius:0 8px 8px 0}.nbseg button[aria-pressed=true]{background:#1f4e79;color:#fff;border-color:#1f4e79}
.nbnote{display:block;margin:6px 0 0;font-size:13px}.nbnote span{display:block;color:#66778a;font-weight:700;margin-bottom:2px}.nbnote input{width:100%;padding:6px 10px;box-sizing:border-box}
.nbteach{margin:6px 0 0;padding:6px 10px;background:#eef4fb;border-radius:8px;font-size:14px}
.nbadd{display:grid;gap:8px;margin:0 0 14px;padding:12px 14px;border:1px dashed #b5c3ce;border-radius:12px}.nbadd label{display:grid;gap:3px;font-size:13px;font-weight:700}.nbadd input,.nbadd select{padding:7px 10px;font-weight:400}
.nbtry{width:100%;padding:10px 12px;font-size:16px;box-sizing:border-box;margin:6px 0 10px}
.nbwrap{padding:4px 0}
/* ================= Công cụ giáo viên ================= */
.twrap{max-width:1180px;margin:0 auto;padding:18px 20px 60px}
.tltabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 16px;border-bottom:2px solid #dde5ee}
.tltabs button{padding:9px 18px;border:0;background:none;font-weight:700;font-size:15px;color:#5a6b7e;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}.tltabs button[aria-selected=true]{color:#1f4e79;border-bottom-color:#1f4e79}
.tlbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:0 0 14px}.tlbar select,.tlbar input[type=text]{padding:7px 10px}
table.tltable{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:14px}.tltable th,.tltable td{padding:8px 10px;border-bottom:1px solid #e3e8ee;text-align:left;vertical-align:top}.tltable th{background:#f4f7fa;position:sticky;top:0}
.thsort{border:0;background:none;font:inherit;font-weight:800;cursor:pointer;color:inherit;padding:0}
.tltable td.ok,.tltable b.ok{color:#1e7a3c}.tltable td.no,.tltable b.no{color:#b3261e}.tltable td.late{color:#8a5a00}
.tr.up{color:#1e7a3c}.tr.down{color:#b3261e}.tr.flat{color:#8a6512}
.flag{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:#eef2f6;color:#5a6b7e;margin:1px 2px 1px 0}
.flag.ok{background:#dff1e6;color:#1e6a3a}.flag.warn{background:#ffeecb;color:#8a5a00}.flag.no{background:#fde8e6;color:#a12b22}.flag.info{background:#e3f0f7;color:#1f4e79}
.tlinsight{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}
.iaflag td{background:#fffaf0}
.asgform{padding:14px 16px;border:1px solid #cdd9e6;border-radius:14px;background:#f7fafd;margin:0 0 16px;display:grid;gap:10px}.asgform label{display:grid;gap:3px;font-weight:700;font-size:13px}.asgform input[type=text],.asgform input[type=datetime-local],.asgform select{padding:7px 10px;font-weight:400}
.asgform fieldset{border:1px solid #dde5ee;border-radius:10px;padding:8px 12px}.asgform .chk{display:inline-flex;gap:6px;margin-right:14px;font-weight:400}.asrow{display:flex;gap:8px;margin:0 0 6px}
.asgcard{padding:12px 14px;margin:0 0 12px;border:1px solid #dde5ee;border-radius:14px;background:#fff}.asgcounts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}
.hcard{padding:12px 16px;border-radius:12px;margin:0 0 14px;border:1px solid #bfe0c8;background:#e6f5ea}.hcard.warn{background:#fff4e0;border-color:#f0d9a8}.hcard.no{background:#fde8e6;border-color:#f3b8b2}.hcard ul{margin:6px 0 0 18px}
@media (max-width:640px){.hidesm{display:none}}
