/* ==========================================================================
   Lolool — Lịch Khám Thai (công cụ). CSS cô lập hoàn toàn trong #lckt.
   Màu + phông ĐỒNG BỘ hệ brand (Inter/Outfit · ink #293D33 · green #469F4C · kem).
   Giữ màu trạng thái mốc khám: xanh=hiện tại · vàng=sắp tới · đỏ=cảnh báo.
   ========================================================================== */
#lckt{all:initial;display:block;font-family:var(--font-body,'Inter',system-ui,Arial,sans-serif);font-size:15px;line-height:1.55;color:#33414E}
#lckt *,#lckt *::before,#lckt *::after{box-sizing:border-box}
#lckt .lk-wrap{max-width:700px;margin:0 auto;padding:0 4px 20px}
#lckt .lk-head{text-align:center;padding:20px 0 16px;border-bottom:2px solid #f3eee3;margin-bottom:20px}
#lckt .lk-head h2{font-size:1.3rem;font-weight:800;color:#293D33;font-family:var(--font-heading,'Outfit',sans-serif);margin:0 0 4px}
#lckt .lk-head p{font-size:.83rem;color:#8a97a1;margin:0}
#lckt .lk-card{background:#fff;border:1px solid #e5ddcd;border-radius:10px;padding:18px;margin-bottom:14px}
#lckt .lk-label{font-size:.78rem;font-weight:700;color:#667581;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
#lckt .lk-toggle{display:flex;gap:8px;margin-bottom:12px}
#lckt .lk-tbtn{flex:1;padding:8px 6px;border:1.5px solid #e5ddcd;border-radius:8px;background:#fff;font-size:.86rem;font-weight:700;cursor:pointer;color:#8a97a1;text-align:center;font-family:inherit;transition:all .15s}
#lckt .lk-tbtn.on{border-color:#469F4C;background:#E8F3E9;color:#469F4C}
#lckt .lk-twin{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}
#lckt .lk-twbtn{padding:9px 8px;border:1.5px solid #e5ddcd;border-radius:8px;background:#fff;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s}
#lckt .tw-n{font-size:.84rem;font-weight:700;color:#8a97a1;display:block}
#lckt .tw-d{font-size:.7rem;color:#b8b0a0;display:block;margin-top:1px}
#lckt .lk-twbtn.on{border-color:#469F4C;background:#E8F3E9}
#lckt .lk-twbtn.on .tw-n{color:#293D33}
#lckt .lk-twbtn.on .tw-d{color:#667581;opacity:1}
#lckt .lk-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
#lckt .lk-field{flex:1 1 155px}
#lckt .lk-field label{display:block;font-size:.79rem;font-weight:600;color:#667581;margin-bottom:4px}
#lckt .lk-field input{width:100%;padding:9px 11px;border:1px solid #e5ddcd;border-radius:8px;font-size:.92rem;color:#33414E;outline:none;background:#fdfbf6;font-family:inherit}
#lckt .lk-field input:focus{border-color:#469F4C;background:#fff}
#lckt .lk-btn{flex:0 0 auto;padding:10px 20px;background:#469F4C;color:#fff;border:none;border-radius:8px;font-size:.92rem;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit}
#lckt .lk-btn:hover{background:#37813C}
#lckt .lk-warn{background:#fef2f2;border:1.5px solid #fca5a5;border-radius:10px;padding:13px 15px;margin-bottom:14px}
#lckt .lk-warn-t{font-size:.88rem;font-weight:800;color:#dc2626;margin-bottom:5px}
#lckt .lk-warn-b{font-size:.8rem;color:#7f1d1d;line-height:1.6}
#lckt .lk-warn.lk-warn-info{background:#eff6ff;border-color:#93c5fd}
#lckt .lk-warn.lk-warn-info .lk-warn-b{color:#1e3a8a}
#lckt .lk-gcalbar{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
#lckt .lk-gcal-all{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;background:#469F4C;border:none;color:#fff;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;width:100%}
#lckt .lk-gcal-all:hover{background:#37813C}
#lckt .lk-gcal-hint{font-size:.72rem;color:#8a97a1;text-align:center;line-height:1.4}
#lckt .lk-sum{background:#fff;border:1px solid #e5ddcd;border-radius:10px;padding:11px 14px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;border-top:2.5px solid #469F4C}
#lckt .ls-i{flex:1 1 70px;text-align:center}
#lckt .ls-n{font-size:1.35rem;font-weight:800;color:#293D33}
#lckt .ls-n.pk{color:#293D33;font-size:.95rem}
#lckt .ls-l{font-size:.65rem;color:#8a97a1;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-top:1px}
#lckt .lk-sec{font-size:.75rem;font-weight:700;color:#667581;text-transform:uppercase;letter-spacing:.5px;padding:5px 0;border-bottom:1px solid #e5ddcd;margin:18px 0 4px;display:flex;align-items:center;gap:6px}
#lckt .lk-sec span{color:#8a97a1;font-weight:400;text-transform:none;letter-spacing:0}
#lckt .lk-ms{background:#fff;border:1px solid #e5ddcd;border-left:3px solid #cbc2b0;border-radius:0 9px 9px 0;padding:12px 14px 10px;margin:5px 0}
#lckt .lk-ms.imp{border-left-color:#469F4C}
#lckt .lk-ms.past{opacity:.38}
#lckt .lk-ms.soon{background:#fdfbf6;border-left-color:#f59e0b}
#lckt .lk-ms.now{background:#eef5ee;border-left-color:#16a34a;box-shadow:0 0 0 1px #d1fae5}
#lckt .lk-ms.xtra{border-style:dashed;background:#fdfbf6}
#lckt .lk-ms.xtra.mcda{border-left-color:#8a97a1;border-left-style:solid}
#lckt .lk-ms.xtra.mcma{border-left-color:#8a97a1;border-left-style:solid}
#lckt .ms-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:3px;flex-wrap:wrap}
#lckt .ms-wk{font-size:.93rem;font-weight:800;color:#293D33;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#lckt .ms-rng{font-size:.76rem;color:#8a97a1;font-weight:400}
#lckt .ms-st{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}
#lckt .ms-st.now{background:#dcfce7;color:#15803d}
#lckt .ms-st.soon{background:#fef3c7;color:#b45309}
#lckt .ms-st.past{background:#f3eee3;color:#8a97a1}
#lckt .ms-dt{font-size:.77rem;color:#8a97a1;font-weight:600;white-space:nowrap}
#lckt .ms-nm{font-size:.91rem;font-weight:700;color:#33414E;margin-bottom:7px}
#lckt .ms-tg{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
#lckt .ms-tag{font-size:.68rem;font-weight:600;padding:2px 8px;border-radius:20px;background:#f3eee3;color:#667581}
#lckt .ms-tag.b,#lckt .ms-tag.p,#lckt .ms-tag.v,#lckt .ms-tag.r,#lckt .ms-tag.g,#lckt .ms-tag.a{background:#f3eee3;color:#667581}
#lckt .ms-gr{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;margin-top:6px}
#lckt .ms-bx{background:#fdfbf6;border-radius:7px;padding:8px 10px}
#lckt .ms-bx.da{background:#fffbeb;border:1px dashed #fcd34d}
#lckt .ms-bt{font-size:.66rem;font-weight:700;color:#8a97a1;text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px}
#lckt .ms-bl{font-size:.78rem;color:#33414E;line-height:1.6;padding-left:12px;margin:0}
#lckt .ms-bl li{margin-bottom:1px}
#lckt .ms-bl .sk{color:#b8b0a0;text-decoration:line-through;font-style:italic}
#lckt .ms-bl .dn{color:#b45309;font-weight:600;font-size:.71rem}
#lckt .ms-nt{margin-top:7px;font-size:.78rem;color:#667581;background:#fdfbf6;border-left:2.5px solid #cbc2b0;padding:5px 10px;border-radius:0 6px 6px 0}
#lckt .ms-nt.imp{border-left-color:#469F4C;color:#33414E;background:#fdfbf6}
#lckt .ms-gc{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:.74rem;font-weight:700;color:#469F4C;background:#fff;border:1.5px solid #cfe6da;padding:6px 12px;border-radius:20px;text-decoration:none;cursor:pointer;min-height:36px}
#lckt .ms-gc:hover{background:#E8F3E9}
#lckt .lk-emp{text-align:center;padding:50px 20px}
#lckt .lk-emp h3{font-size:1rem;font-weight:700;color:#293D33;margin-bottom:6px}
#lckt .lk-emp p{font-size:.85rem;color:#8a97a1;line-height:1.6;margin:0}
#lckt .lk-ref{margin-top:28px;padding:13px 15px;background:#fdfbf6;border:1px solid #e5ddcd;border-radius:10px}
#lckt .lk-ref-t{font-size:.75rem;font-weight:700;color:#667581;text-transform:uppercase;letter-spacing:.4px;margin-bottom:7px}
#lckt .lk-ref ol{padding-left:15px;margin:0}
#lckt .lk-ref li{font-size:.74rem;color:#8a97a1;line-height:1.5;margin-bottom:3px}
#lckt .lk-disc{font-size:.74rem;color:#8a97a1;font-style:italic;margin-top:8px;padding-top:8px;border-top:1px solid #e5ddcd;line-height:1.5}
@media(max-width:520px){
  #lckt .ms-gr{grid-template-columns:1fr}
  #lckt .lk-row{flex-direction:column;align-items:stretch}
  #lckt .lk-field{flex:none;width:100%}
  #lckt .lk-btn{width:100%;text-align:center;padding:12px}
  #lckt .lk-twin{grid-template-columns:1fr 1fr}
  #lckt .lk-sum{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:8px}
  #lckt .ls-i{flex:0 0 72px}
  #lckt .lk-gcal-all{font-size:.9rem;padding:12px 14px}
  #lckt .ms-gc{width:100%;justify-content:center;padding:8px 12px;font-size:.78rem}
  #lckt .lk-twbtn{padding:8px 6px}
  #lckt .tw-n{font-size:.78rem}
  #lckt .tw-d{font-size:.65rem}
}
