/* ============================================================
   CỐ VẤN (Consultant) — CSS riêng trang, tách khỏi Consultant.aspx 2026-08-11.
   Class .cv* dùng cho giao diện hỏi-đáp AI. Nạp qua Asset.V (auto-bump).
   ============================================================ */
  /* ===== CỐ VẤN - giao diện kiểu Gemini (chào giữa + ô hỏi ghim đáy) ===== */
  .cv{--chu:var(--cq-dark);--chu2:#5f6b7a;--vien:var(--cq-border);--xanh:var(--cq-green);--xanh2:var(--cq-green);
      --glow1:var(--cq-light);--glow2:var(--cq-light);font-family:"Segoe UI",Arial,Tahoma,sans-serif;color:var(--chu)}
  .cv *{box-sizing:border-box}
  /* nền sáng + quầng sáng nhẹ ở màn chờ */
  .cv-wrap{position:relative;min-height:calc(100vh - 140px);display:flex;flex-direction:column;
           max-width:820px;margin:0 auto;padding:0 16px 120px}
  .cv-wrap:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
     background:radial-gradient(60% 45% at 50% 42%,var(--glow1) 0%,rgba(232,243,255,0) 60%),
                radial-gradient(50% 40% at 50% 55%,var(--glow2) 0%,rgba(234,250,243,0) 65%);
     opacity:1;transition:opacity .4s}
  .cv.chatting .cv-wrap:before{opacity:0}

  /* MÀN CHỜ: chào + ô hỏi ở giữa màn */
  .cv-wrap{justify-content:center}
  .cv.chatting .cv-wrap{justify-content:flex-start}
  .cv-hero{text-align:center;margin-bottom:30px}
  .cv-hero h1{font-size:30px;line-height:1.35;font-weight:500;color:var(--cq-text);margin:0}
  .cv.chatting .cv-hero{display:none}

  /* KHUNG TIN NHẮN */
  .cv-log{display:none;padding:26px 0 10px}
  .cv.chatting .cv-log{display:block}
  /* câu hỏi người dùng: viên xám, bên phải */
  .cv-u{display:flex;justify-content:flex-end;margin:18px 0}
  .cv-u>div{max-width:78%;background:var(--cq-light);color:var(--cq-dark);font-size:15px;line-height:1.5;
            padding:12px 18px;border-radius:22px}
  /* trả lời cố vấn: bên trái, avatar tròn + tên */
  .cv-a{display:flex;gap:12px;margin:6px 0 22px}
  .cv-a .av{flex:0 0 auto;width:30px;height:30px;border-radius:50%;color:#fff;font-size:12px;
            font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:2px}
  .cv-a.hoa .av{background:var(--cq-green)}.cv-a.han .av{background:#8a6a3b}.cv-a.la .av{background:var(--cq-green)}
  .cv-a .bd{flex:1;min-width:0;max-width:100%}
  .cv-a .nm{font-size:13px;font-weight:700;color:var(--cq-dark);display:flex;align-items:center;gap:7px;margin-bottom:4px}
  .cv-a .nm .ai{font-size:9.5px;font-weight:700;letter-spacing:.06em;color:#6b7684;background:var(--cq-light);
                padding:1.5px 6px;border-radius:5px}
  .cv-a .tx{font-size:15px;line-height:1.62;color:var(--cq-dark);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}
  .cv-a .tx a{color:var(--cq-green);font-weight:600;text-decoration:underline;text-underline-offset:2px}
  .cv-a .go{display:flex;gap:5px;height:16px;align-items:center}
  .cv-a .go span{width:7px;height:7px;border-radius:50%;background:var(--cq-border);animation:cvn 1.1s infinite ease-in-out}
  .cv-a .go span:nth-child(2){animation-delay:.16s}.cv-a .go span:nth-child(3){animation-delay:.32s}
  .cv-a .go .st{font-size:12.5px;color:#8a95a3;margin-left:7px;font-style:normal}
  @keyframes cvn{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
  /* Card cây thư viện — hiện khi cố vấn đề xuất cây */
  .cv-cards{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
  .cv-card{display:flex;flex-direction:column;width:134px;border:1px solid var(--cq-light);border-radius:12px;
    overflow:hidden;text-decoration:none;background:#fff;transition:box-shadow .2s,transform .2s}
  .cv-card:hover{box-shadow:0 6px 18px rgba(18,131,106,.18);transform:translateY(-2px)}
  .cv-card__img{display:block;height:94px;background-size:cover;background-position:center;background-color:var(--cq-light)}
  .cv-card__bd{padding:8px 10px 10px}
  .cv-card__ten{display:block;font-weight:700;font-size:13px;color:var(--cq-dark);line-height:1.25}
  .cv-card__kh{display:block;font-style:italic;font-size:11px;color:#7a8794;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cv-card__nhom{display:block;font-size:11px;color:var(--cq-green);margin-top:3px}
  .cv-card__img--kc{display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:#9fb0bd;background:var(--cq-light)}
  .cv-card__badge{display:inline-block;margin-top:5px;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:99px;background:var(--cq-light);color:#6b7684}
  .cv-b-bai{background:var(--cq-light);color:var(--cq-green)}.cv-b-ytuong{background:var(--cq-light);color:#c07a1e}
  .cv-b-donvi{background:var(--cq-light);color:#4a5fa5}.cv-b-nguoi{background:var(--cq-light);color:#7a4a9c}
  @media(max-width:640px){.cv-card{width:calc(50% - 5px)}}
  /* [2026-08-08] Kết quả tìm (gộp nhóm, full danh sách) khi vào từ ô search */
  .cv-search .bd{max-width:100%}
  .cv-sr{margin-top:8px}
  .cv-sr-group{margin-top:14px}
  .cv-sr-group:first-child{margin-top:6px}
  .cv-sr-lb{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--cq-green);margin:0 0 8px}
  .cv-sr-empty{font-size:14px;color:var(--cq-text);padding:8px 0}
  /* Nút "MỞ THƯ VIỆN" gợi ý sau khi đề xuất cây */
  .cv-libcta{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:10px 16px;border-radius:12px;background:var(--cq-green);color:#fff !important;font-weight:700;font-size:13px;letter-spacing:.02em;text-decoration:none;transition:background .18s,transform .18s}
  .cv-libcta:hover{background:var(--cq-green);transform:translateY(-1px);text-decoration:none}
  .cv-libcta span{font-size:16px;line-height:1}

  /* Ô HỎI — viên bo tròn to. Màn chờ: nằm giữa. Màn chat: ghim đáy màn hình. */
  .cv-dock{width:100%}
  .cv.chatting .cv-dock{position:fixed;left:0;right:0;bottom:0;z-index:20;
     background:linear-gradient(#ffffff00,#fff 22%);padding:10px 16px 20px}
  .cv-bar{max-width:820px;margin:0 auto;display:flex;align-items:center;gap:8px;background:#fff;
          border:1px solid var(--vien);border-radius:30px;padding:8px 8px 8px 20px;
          box-shadow:0 6px 26px rgba(20,40,70,.10)}
  .cv-bar .plus{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:0;background:transparent;
                color:#5f6b7a;font-size:22px;cursor:default;display:flex;align-items:center;justify-content:center}
  .cv-bar input{flex:1;border:0;outline:0;background:transparent;font-family:inherit;font-size:16px;
                color:var(--cq-dark);padding:6px 2px}
  .cv-bar input::placeholder{color:#8a95a3}
  .cv-bar .who{flex:0 0 auto;font-size:12.5px;color:#5f6b7a;font-weight:600;padding:0 6px;
               display:flex;align-items:center;gap:6px}
  .cv-bar .who i{width:7px;height:7px;border-radius:50%;background:var(--xanh);display:inline-block}
  .cv-bar .send{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:0;background:var(--xanh);
                color:#fff;font-size:17px;cursor:pointer;transition:background .15s,transform .1s}
  .cv-bar .send:hover{background:var(--xanh2)}.cv-bar .send:active{transform:scale(.94)}
  .cv-bar .send:disabled{background:var(--cq-border);cursor:default}
  /* gợi ý dưới ô hỏi (chỉ màn chờ) */
  .cv-goiy{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
  .cv.chatting .cv-goiy{display:none}
  .cv-goiy button{border:1px solid var(--vien);background:#fff;color:#4a5563;border-radius:999px;
                  padding:8px 16px;font-family:inherit;font-size:13px;cursor:pointer;transition:all .15s}
  .cv-goiy button:hover{border-color:var(--xanh);color:var(--xanh);background:var(--cq-light)}
  .cv-note{text-align:center;font-size:12px;color:var(--cq-muted);margin-top:14px}
  .cv.chatting .cv-note{display:none}

  /* Mobile/tablet: site có thanh nav đáy .cq-bottom-nav (57px) + nút FAB (+) bật ở ≤1279px.
     Ô hỏi phải NỔI TRÊN thanh đó, và ẩn FAB thừa để không đè nút gửi. */
  @media(max-width:1279px){
    .cv.chatting .cv-dock{bottom:57px;bottom:calc(57px + env(safe-area-inset-bottom,0px))}
    .cv.chatting .cv-wrap{padding-bottom:180px}
    .cq-fab{display:none!important}
  }
  @media(max-width:560px){.cv-hero h1{font-size:23px}.cv-bar input{font-size:15px}.cv-bar .who{display:none}}
