     /* --- CSS Giao diện Chatbot --- */
     * {
         box-sizing: border-box;
     }

     body {
         margin: 0;
         padding: 0;
         font-family: "Segoe UI", sans-serif;
         background: linear-gradient(to bottom, #dff5ff, #eaf9ff);
         color: #222;
         display: flex;
         justify-content: center;
         align-items: center;
         min-height: 100vh;
     }

     .wrapper {
         width: 100%;
         max-width: 1080px;
         margin: auto;
         padding: 20px;
         display: flex;
         flex-direction: column;
         height: 90vh;
     }

     .header {
         display: flex;
         align-items: center;
         gap: 16px;
         margin-bottom: 20px;
     }

     .header img {
         width: 120px;
         height: 120px;
     }

     .header-text h2 {
         margin: 0;
         color: #00a2e8;
     }

     .header-text p {
         margin: 4px 0 0;
         font-size: 15px;
         color: #444;
     }

     #chatBox {
         background: #fff;
         border-radius: 12px;
         padding: 16px;
         min-height: 320px;
         flex-grow: 1;
         overflow-y: auto;
         display: flex;
         flex-direction: column;
         gap: 10px;
         box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
         margin-bottom: 12px;
     }

     .message {
         padding: 12px 16px;
         border-radius: 18px;
         max-width: 80%;
         font-size: 15px;
         /* line-height: 1.5;
         white-space: pre-wrap; */
     }

     .user {
         background: #cce7ff;
         align-self: flex-end;
     }

     .bot {
         background: #e1ffe9;
         align-self: flex-start;
     }

     .note {
         font-size: 12px;
         color: #666;
         margin-top: 5px;
         display: block;
     }

     .info-form-btn {
         margin-top: 10px;
         padding: 8px 12px;
         border: 1px solid #00a2e8;
         background-color: transparent;
         color: #00a2e8;
         cursor: pointer;
         border-radius: 12px;
         transition: background-color 0.2s, color 0.2s;
     }

     .info-form-btn:hover {
         background-color: #00a2e8;
         color: #fff;
     }

     #inputArea {
         position: relative;
         display: flex;
         flex-direction: row;
         gap: 10px;
     }

     #userInput {
         flex: 1;
         padding: 14px;
         font-size: 15px;
         border-radius: 12px;
         border: 1px solid #ccc;
         box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
     }

     #suggestBox {
         position: absolute;
         bottom: 105px;
         left: 0;
         right: 0;
         background: #fff;
         border: 1px solid #ccc;
         border-radius: 8px;
         z-index: 10;
         box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
         display: none;
     }

     .suggest-item {
         padding: 10px;
         cursor: pointer;
     }

     .suggest-item:hover {
         background: #f0f0f0;
     }

     button {
         background: #00a2e8;
         color: white;
         border: none;
         border-radius: 12px;
         padding: 14px 18px;
         cursor: pointer;
         font-size: 15px;
         transition: background-color 0.2s;
     }

     button:hover {
         background-color: #007bb5;
     }

     .typing {
         font-style: italic;
         color: #666;
         background-color: #f0f0f0;
     }

     .typing::after {
         content: ".";
         animation: dots 1.2s steps(3, end) infinite;
     }

     @keyframes dots {

         0%,
         20% {
             content: ".";
         }

         40% {
             content: "..";
         }

         60%,
         100% {
             content: "...";
         }
     }

     /* --- CSS Modal Form đã được chỉnh sửa --- */
     .modal {
         position: fixed;
         top: 0;
         left: 0;
         width: 100%;
         height: 100%;
         background-color: rgba(0, 0, 0, 0.6);
         display: none;
         justify-content: center;
         align-items: center;
         z-index: 1000;
         animation: fadeIn 0.3s ease-out;
     }

     .modal-content {
         background-color: #fff;
         padding: 40px;
         border-radius: 16px;
         width: 90%;
         max-width: 480px;
         box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
         position: relative;
         animation: slideIn 0.4s ease-out;
         display: flex;
         flex-direction: column;
         gap: 20px;
     }

     .modal-close-btn {
         position: absolute;
         top: 15px;
         right: 15px;
         font-size: 28px;
         cursor: pointer;
         color: #888;
         background: none;
         border: none;
         line-height: 1;
         transition: color 0.2s;
     }

     .modal-close-btn:hover {
         color: #222;
     }

     .modal-content h3 {
         margin-top: 0;
         margin-bottom: 5px;
         font-size: 26px;
         color: #00a2e8;
         text-align: center;
         font-weight: 600;
     }

     .modal-content p {
         text-align: center;
         color: #555;
         margin-bottom: 20px;
     }

     .modal-content input {
         width: 100%;
         padding: 15px;
         margin-bottom: 15px;
         border: 1px solid #ddd;
         border-radius: 10px;
         font-size: 16px;
         transition: border-color 0.2s, box-shadow 0.2s;
     }

     .modal-content input:focus {
         outline: none;
         border-color: #00a2e8;
         box-shadow: 0 0 0 3px rgba(0, 162, 232, 0.1);
     }

     /* --- Sửa CSS cho nút "Gửi thông tin" trong Modal --- */
     .modal-close-btn-100 {
         width: 100%;
         padding: 14px 24px;
         display: block;
         float: right;
         font-size: 16px;
         font-weight: 600;
         border: none;
         cursor: pointer;
         border-radius: 10px;
         background: linear-gradient(to right, #00a2e8, #007bb5);
         color: #ffffff;
         transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
         box-shadow: 0 4px 12px rgba(0, 162, 232, 0.2);
     }

     .modal-close-btn-100:hover {
         transform: translateY(-2px);
         box-shadow: 0 6px 16px rgba(0, 162, 232, 0.3);
     }

     .modal-close-btn-100:active {
         transform: translateY(0);
         box-shadow: 0 2px 8px rgba(0, 162, 232, 0.2);
         opacity: 0.9;
     }

     /* Clear float để các phần tử khác không bị ảnh hưởng */
     .modal-content::after {
         content: "";
         display: table;
         clear: both;
     }

     @keyframes fadeIn {
         from {
             opacity: 0;
         }

         to {
             opacity: 1;
         }
     }

     @keyframes slideIn {
         from {
             transform: translateY(-50px);
             opacity: 0;
         }

         to {
             transform: translateY(0);
             opacity: 1;
         }
     }

     /* Composer (input box) */
     .composer {
         position: relative;
         background: #fff;
         border-radius: 16px;
         box-shadow: 0 10px 25px rgba(0, 0, 0, .06);
         border: 1px solid #e6eef5;
         padding: 12px 56px 28px 16px;
         /* chừa chỗ nút gửi + counter */
     }

     .composer:focus-within {
         border-color: #bfe8ff;
         box-shadow: 0 10px 25px rgba(0, 162, 232, .12);
     }

     .composer textarea {
         width: 100%;
         border: 0;
         outline: 0;
         resize: none;
         background: transparent;
         color: #222;
         font: 15px/1.6 "Segoe UI", sans-serif;
         max-height: 160px;
         min-height: 54px;
     }

     .composer textarea::placeholder {
         color: #9aa5b1;
     }

     .composer .send {
         position: absolute;
         right: 10px;
         /* top: 20px; */
         width: 40px;
         height: 40px;
         border: 0;
         border-radius: 9999px;
         background: #52a9f5;
         display: flex;
         align-items: center;
         justify-content: center;
         cursor: pointer;
         transition: transform .12s, background .2s, opacity .2s;
     }

     .composer .send svg {
         fill: #9bbedd;
         transition: fill .2s;
     }

     .composer .send:hover {
         background: #01385e;
         transform: translateY(-1px);
     }

     .composer .send:active {
         transform: translateY(0);
     }

     .composer .send:disabled {
         opacity: .45;
         cursor: not-allowed;
         transform: none;
     }

     .composer .send:disabled svg {
         fill: #c3d6e6;
     }

     .composer .counter {
         position: absolute;
         right: 16px;
         bottom: 6px;
         font-size: 12px;
         color: #7a8a99;
     }

     .composer .counter.too-long {
         color: #d33;
     }

     /* Suggestion dropdown */
     .composer .suggest {
         position: absolute;
         left: 12px;
         right: 60px;
         bottom: 58px;
         background: #fff;
         border: 1px solid #e4ecf3;
         border-radius: 10px;
         box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
         display: none;
         z-index: 10;
         max-height: 240px;
         overflow: auto;
     }

     .composer .suggest .suggest-item {
         padding: 10px 12px;
         cursor: pointer;
         font-size: 14px;
     }

     .composer .suggest .suggest-item:hover {
         background: #f4f9ff;
     }