/* VietSCI - ô chọn chuyên ngành/lĩnh vực có biểu tượng và tìm kiếm (dùng chung toàn website). */
.ae-fsel { position: relative; display: block; width: 100%; min-width: 0; font-family: inherit; }
.ae-fsel__native { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; opacity: 0 !important; pointer-events: none; border: 0 !important; }
.ae-fsel__btn { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 46px; margin: 0; padding: 8px 12px 8px 10px; border: 1.5px solid #d3d1e3; border-radius: 12px; background: #fff; color: #16133d; font: inherit; font-size: 14.5px; line-height: 1.35; text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s, background .15s; }
.ae-fsel__btn:hover { border-color: #b8b2f0; }
.ae-fsel__btn:focus-visible, .ae-fsel.is-open .ae-fsel__btn { outline: none; border-color: #1800ad; box-shadow: 0 0 0 4px rgba(24,0,173,.12); }
.ae-fsel__btn:disabled { background: #f6f6fa; color: #9a98b0; cursor: not-allowed; }
.ae-fsel.is-invalid .ae-fsel__btn { border-color: #dc2626; box-shadow: 0 0 0 4px rgba(220,38,38,.1); }
.ae-fsel__bic { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: #f1efff; color: #1800ad; transition: background .15s, color .15s; }
.ae-fsel.is-filled .ae-fsel__bic { background: #1800ad; color: #fff; }
.ae-fsel__bic svg, .ae-fsel__ic svg, .ae-fsel__gic svg { width: 17px; height: 17px; }
.ae-fsel__v { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 600; }
.ae-fsel__v.is-ph { color: #8a88a3; font-weight: 400; }
.ae-fsel__chev { flex: none; display: grid; color: #8a88a3; transition: transform .2s; }
.ae-fsel__chev svg { width: 18px; height: 18px; }
.ae-fsel.is-open .ae-fsel__chev { transform: rotate(180deg); color: #1800ad; }
.ae-fsel__panel { position: absolute; z-index: 80; left: 0; right: 0; top: calc(100% + 6px); display: flex; flex-direction: column; min-width: 280px; max-height: 380px; overflow: hidden; border: 1px solid #e3e1f2; border-radius: 14px; background: #fff; box-shadow: 0 18px 44px rgba(22,19,61,.18), 0 2px 6px rgba(22,19,61,.06); animation: ae-fsel-in .14s ease; }
.ae-fsel.is-up .ae-fsel__panel { top: auto; bottom: calc(100% + 6px); }
.ae-fsel__panel[hidden] { display: none; }
@keyframes ae-fsel-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.ae-fsel__search { position: relative; flex: none; padding: 10px; border-bottom: 1px solid #efeef6; background: #fcfcff; }
.ae-fsel__sic { position: absolute; left: 22px; top: 50%; transform: translateY(-50%); display: grid; color: #8a88a3; pointer-events: none; }
.ae-fsel__sic svg { width: 16px; height: 16px; }
.ae-fsel__search input { width: 100% !important; height: 40px; margin: 0 !important; padding: 8px 12px 8px 38px !important; border: 1.5px solid #e3e1f2 !important; border-radius: 10px !important; background: #fff !important; font: inherit; font-size: 14px !important; color: #16133d; box-shadow: none !important; }
.ae-fsel__search input:focus { outline: none; border-color: #1800ad !important; box-shadow: 0 0 0 3px rgba(24,0,173,.1) !important; }
.ae-fsel__list { flex: 1; margin: 0; padding: 6px; overflow-y: auto; list-style: none; overscroll-behavior: contain; scrollbar-width: thin; }
.ae-fsel__g { position: sticky; top: -6px; z-index: 1; display: flex; align-items: center; gap: 8px; margin: 6px 0 2px; padding: 8px 8px 6px; background: #fff; font-size: 11.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #1800ad; }
.ae-fsel__g:first-child { margin-top: 0; }
.ae-fsel__g[hidden], .ae-fsel__o[hidden] { display: none; }
.ae-fsel__gic { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: #f1efff; color: #1800ad; }
.ae-fsel__gic svg { width: 14px; height: 14px; }
.ae-fsel__o { display: flex; align-items: center; gap: 10px; margin: 1px 0; padding: 8px 10px 8px 14px; border-radius: 9px; font-size: 14px; line-height: 1.35; color: #2b2a3d; cursor: pointer; }
.ae-fsel__ic { flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: #f6f5fd; color: #5a50c8; transition: background .12s, color .12s; }
.ae-fsel__ic svg { width: 15px; height: 15px; }
.ae-fsel__t { flex: 1; min-width: 0; }
.ae-fsel__ck { flex: none; display: none; color: #1800ad; }
.ae-fsel__ck svg { width: 16px; height: 16px; }
.ae-fsel__o.is-act { background: #f4f2ff; color: #16133d; }
.ae-fsel__o.is-act .ae-fsel__ic { background: #e6e2ff; color: #1800ad; }
.ae-fsel__o.is-sel { background: #ecebff; color: #1800ad; font-weight: 700; }
.ae-fsel__o.is-sel .ae-fsel__ic { background: #1800ad; color: #fff; }
.ae-fsel__o.is-sel .ae-fsel__ck { display: grid; }
.ae-fsel__empty { margin: 0; padding: 18px 14px 20px; text-align: center; font-size: 13.5px; color: #8a88a3; }
/* Trong khung chọn có biểu tượng sẵn (form đặt hàng): dùng biểu tượng của ô chọn mới. */
.ae-of-pick__box.has-fsel { display: block; padding: 0; border: 0; background: none; box-shadow: none; }
.ae-of-pick__box.has-fsel > .ae-of-pick__ic { display: none; }
@media (max-width: 600px) { .ae-fsel__panel { min-width: 0; max-height: 60vh; } .ae-fsel__o { padding: 10px; } }
/* Ô nhập có gợi ý (Trường/Đơn vị). */
.ae-fsel--combo .ae-fsel__cic { position: absolute; left: 12px; top: 50%; z-index: 1; transform: translateY(-50%); display: grid; color: #1800ad; pointer-events: none; }
.ae-fsel--combo .ae-fsel__cic svg { width: 18px; height: 18px; }
.ae-fsel--combo > .ae-fsel__chev { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); cursor: pointer; padding: 4px; }
.ae-fsel--combo.is-open > .ae-fsel__chev { transform: translateY(-50%) rotate(180deg); }
.ae-fsel--combo input.ae-fsel__cin { width: 100%; padding-left: 40px !important; padding-right: 38px !important; }
.ae-fsel--combo .ae-fsel__panel { max-height: 320px; }
.ae-fsel__o--sch { align-items: baseline; gap: 10px; }
.ae-fsel__ab { flex: none; min-width: 64px; padding: 2px 7px; border-radius: 6px; background: #f1efff; color: #1800ad; font-size: 12px; font-weight: 800; text-align: center; letter-spacing: .02em; }
.ae-fsel__o--sch.is-act .ae-fsel__ab { background: #1800ad; color: #fff; }
.ae-fsel--combo .ae-fsel__panel { right: auto; width: max(100%, min(480px, 92vw)); }
/* Danh sách trường theo nhóm + mục "Khác". */
.ae-fsel--combo .ae-fsel__g { font-size: 11px; padding: 9px 8px 5px; }
.ae-fsel__o--other { position: sticky; bottom: -6px; margin-top: 6px; border-top: 1px dashed #dcd8f5; border-radius: 0 0 9px 9px; background: #fff; color: #1800ad; font-weight: 700; }
.ae-fsel__o--other .ae-fsel__ic { background: #1800ad; color: #fff; }
.ae-fsel__o--other.is-act { background: #f1efff; }
.ae-fsel--combo.is-other input.ae-fsel__cin { color: #1800ad; font-weight: 600; cursor: pointer; background: #f7f6ff !important; }
.ae-fsel-other { position: relative; margin-top: 8px; animation: ae-fsel-in .16s ease; }
.ae-fsel-other[hidden] { display: none; }
.ae-fsel-other__ic { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); display: grid; color: #ff6600; pointer-events: none; }
.ae-fsel-other__ic svg { width: 18px; height: 18px; }
.ae-fsel-other input { width: 100% !important; min-height: 46px; padding: 10px 40px 10px 40px !important; border: 1.5px solid #ffcfa8 !important; border-radius: 12px !important; background: #fffaf5 !important; font: inherit; font-size: 14.5px; }
.ae-fsel-other input:focus { outline: none; border-color: #ff6600 !important; box-shadow: 0 0 0 4px rgba(255,102,0,.14) !important; background: #fff !important; }
.ae-fsel-other__x { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border: 0; border-radius: 8px; background: transparent; color: #8a88a3; font-size: 20px; line-height: 1; cursor: pointer; }
.ae-fsel-other__x:hover { background: #f1efff; color: #1800ad; }
/* Ảnh đại diện trong ô chọn người. */
.ae-fsel__ic.ae-fsel__av, .ae-fsel__bic.ae-fsel__av { position: relative; overflow: hidden; border-radius: 50%; background: #e3dfff; color: #1800ad; font-size: 11px; font-weight: 800; line-height: 1; }
.ae-fsel.is-filled .ae-fsel__bic.ae-fsel__av, .ae-fsel__o.is-sel .ae-fsel__ic.ae-fsel__av { background: #1800ad; color: #fff; }
.ae-fsel__av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Màu theo mức: dùng chung cho ưu tiên, trạng thái. */
.ae-fsel__o[data-tone="ok"] .ae-fsel__ic, .ae-fsel__o[data-tone="ok"].is-act .ae-fsel__ic { background: #dcfce7; color: #14804a; }
.ae-fsel__o[data-tone="warn"] .ae-fsel__ic, .ae-fsel__o[data-tone="warn"].is-act .ae-fsel__ic { background: #fff1e6; color: #e85a00; }
.ae-fsel__o[data-tone="bad"] .ae-fsel__ic, .ae-fsel__o[data-tone="bad"].is-act .ae-fsel__ic { background: #fee2e2; color: #c02626; }
.ae-fsel__o[data-tone="brand"] .ae-fsel__ic, .ae-fsel__o[data-tone="brand"].is-act .ae-fsel__ic { background: #f1efff; color: #1800ad; }
.ae-fsel__o[data-tone="mute"] .ae-fsel__ic, .ae-fsel__o[data-tone="mute"].is-act .ae-fsel__ic { background: #f1f0f8; color: #6b6a80; }
.ae-fsel[data-tone="ok"].is-filled .ae-fsel__bic, .ae-fsel__o[data-tone="ok"].is-sel .ae-fsel__ic { background: #14804a; color: #fff; }
.ae-fsel[data-tone="warn"].is-filled .ae-fsel__bic, .ae-fsel__o[data-tone="warn"].is-sel .ae-fsel__ic { background: #e85a00; color: #fff; }
.ae-fsel[data-tone="bad"].is-filled .ae-fsel__bic, .ae-fsel__o[data-tone="bad"].is-sel .ae-fsel__ic { background: #c02626; color: #fff; }
.ae-fsel[data-tone="brand"].is-filled .ae-fsel__bic, .ae-fsel__o[data-tone="brand"].is-sel .ae-fsel__ic { background: #1800ad; color: #fff; }
.ae-fsel[data-tone="mute"].is-filled .ae-fsel__bic, .ae-fsel__o[data-tone="mute"].is-sel .ae-fsel__ic { background: #6b6a80; color: #fff; }
