.portal-i18n-ui { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; position: relative; z-index: 1065; }
.portal-language-nav-item { align-items: center; display: flex; margin-left: 4px; position: relative; }
.portal-language-menu { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; position: relative; }
.portal-language-trigger { align-items: center; background: #f4f8f6; border: 1px solid #d7e2dc; border-radius: 9px; color: #173e2d; cursor: pointer; display: inline-flex; gap: 6px; height: 34px; justify-content: center; min-width: 58px; padding: 0 9px; }
.portal-language-trigger:hover,
.portal-language-trigger:focus-visible,
.portal-language-menu.is-open .portal-language-trigger { background: #e9f5ef; border-color: #78b795; box-shadow: 0 0 0 3px rgba(22,128,77,.1); outline: none; }
.portal-language-trigger > span { color: #16804d; font-size: 16px; line-height: 1; }
.portal-language-trigger strong { font-size: 11px; letter-spacing: .08em; }
.portal-language-trigger i { color: #658074; font-size: 12px; font-style: normal; transition: transform .18s ease; }
.portal-language-menu.is-open .portal-language-trigger i { transform: rotate(180deg); }
.portal-language-options { background: #fff; border: 1px solid #d9e4de; border-radius: 13px; box-shadow: 0 18px 45px rgba(13,48,32,.18); color: #17241e; min-width: 270px; padding: 14px; position: absolute; right: 0; top: calc(100% + 9px); z-index: 1080; }
.portal-language-options[hidden] { display: none; }
.portal-language-options header { border-bottom: 1px solid #edf2ef; margin-bottom: 10px; padding: 1px 2px 10px; }
.portal-language-options header strong { display: block; font-size: 13px; }
.portal-language-options header small { color: #718078; display: block; font-size: 9px; line-height: 1.45; margin-top: 3px; }
.portal-language-list { display: grid; gap: 5px; }
.portal-language-list button { align-items: center; background: #fff; border: 1px solid transparent; border-radius: 9px; color: #263a31; cursor: pointer; display: grid; gap: 9px; grid-template-columns: 34px 1fr auto 18px; min-height: 40px; padding: 6px 8px; text-align: left; width: 100%; }
.portal-language-list button:hover,
.portal-language-list button:focus-visible { background: #f3f8f5; border-color: #d8e6de; outline: none; }
.portal-language-list button[aria-pressed="true"] { background: #e9f6ef; border-color: #9bc9ae; }
.portal-language-list b { align-items: center; background: #edf3f0; border-radius: 7px; color: #315343; display: flex; font-size: 9px; height: 27px; justify-content: center; }
.portal-language-list span { font-size: 11px; font-weight: 700; }
.portal-language-list i { color: #6b7f75; font-size: 7px; font-style: normal; text-transform: uppercase; }
.portal-language-list em { color: #16804d; font-size: 12px; font-style: normal; opacity: 0; }
.portal-language-list button[aria-pressed="true"] em { opacity: 1; }
.portal-account-language > small { display: none; }
body.portal-fullwidth .portal-account-language { padding: 10px 0; }
.portal-language-profile-item .portal-language-menu { background: #f2f7f4; border: 1px solid #d3e3da; color: #12382c; padding: 10px; }
.portal-language-profile-static > header { align-items: center; border: 0; display: grid; gap: 9px; grid-template-columns: 30px 1fr; margin: 0; padding: 0; }
.portal-language-profile-static > header > span { align-items: center; border: 1px solid #a9cdbb; border-radius: 50%; color: #07965a; display: flex; font-size: 15px; height: 30px; justify-content: center; width: 30px; }
.portal-language-profile-static > header > div { display: grid; gap: 1px; }
.portal-language-profile-static > header strong { color: #12382c; font-size: 10px; }
.portal-language-profile-static > header small { color: #07965a; font-size: 8px; font-weight: 800; }
.portal-language-profile-static .portal-language-list { display: grid; gap: 5px; grid-template-columns: repeat(5,minmax(0,1fr)); margin-top: 8px; }
.portal-language-profile-static .portal-language-list button { align-items: center; background: rgba(255,255,255,.75); border: 1px solid #cbded4; border-radius: 0; display: flex; justify-content: center; min-height: 36px; padding: 3px; position: relative; }
.portal-language-profile-static .portal-language-list button:hover,.portal-language-profile-static .portal-language-list button:focus-visible { background: #fff; border-color: #8fbea6; }
.portal-language-profile-static .portal-language-list button[aria-pressed="true"] { background: #103f30; border-color: #103f30; }
.portal-language-profile-static .portal-language-list button b { background: transparent; color: #12382c; font-size: 8.5px; height: auto; }
.portal-language-profile-static .portal-language-list button[aria-pressed="true"] b { color: #fff; }
.portal-language-profile-static .portal-language-list button span,.portal-language-profile-static .portal-language-list button i { display: none; }
.portal-language-profile-static .portal-language-list button em { color: #25bb73; font-size: 9px; position: absolute; right: 3px; top: 2px; }
.portal-language-profile-static > p { color: #6f8379; font-size: 7px; line-height: 1.4; margin: 8px 0 0; }
.portal-language-login { position: fixed; right: 22px; top: 20px; z-index: 1070; }
.portal-support-drawer { bottom: 11vh; display: flex; position: fixed; top: 11vh; transition: transform .3s ease; z-index: 1065; }
.portal-support-content header p { color: #6dcb99; font-size: 10px; font-weight: 800; letter-spacing: .14em; margin: 0 0 6px; text-transform: uppercase; }
.portal-support-tab { align-items: center; align-self: center; background: #16804d; border: 0; color: #fff; cursor: pointer; display: flex; flex-direction: column; height: 150px; justify-content: center; padding: 10px 7px; width: 48px; }
.portal-support-tab > span { font-size: 20px; margin-bottom: 10px; }
.portal-support-tab strong { font-size: 8px; margin-top: 5px; writing-mode: vertical-rl; }
.portal-support-tab i { font-size: 20px; font-style: normal; margin-top: 8px; }
.portal-support-drawer { flex-direction: row; right: 0; transform: translateX(360px); }
.portal-support-drawer.is-open,
.portal-support-drawer:hover,
.portal-support-drawer:focus-within { transform: translateX(0); }
.portal-support-tab { border-radius: 13px 0 0 13px; }
.portal-support-content { background: #10231a; border: 1px solid rgba(255,255,255,.12); border-radius: 18px 0 0 18px; border-right: 0; box-shadow: -18px 20px 55px rgba(0,0,0,.28); color: #fff; overflow: auto; padding: 24px; width: 360px; }
.portal-support-content header { margin-bottom: 17px; }
.portal-support-content header h2 { color: #fff; font-size: 23px; margin: 0 0 6px; }
.portal-support-content header span { color: #9eb3a8; display: block; font-size: 11px; line-height: 1.5; }
.portal-support-content label { color: #bfd0c8; display: block; font-size: 9px; font-weight: 700; margin: 9px 0 4px; }
.portal-support-content input,
.portal-support-content select,
.portal-support-content textarea { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 8px; color: #fff; font: inherit; font-size: 11px; min-height: 39px; padding: 9px 10px; width: 100%; }
.portal-support-content textarea { min-height: 75px; resize: vertical; }
.portal-support-content option { background: #10231a; }
.portal-support-grid { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; }
.portal-support-destination { background: rgba(39,174,102,.1); border: 1px solid rgba(82,215,144,.25); border-radius: 9px; margin: 10px 0; padding: 9px 11px; }
.portal-support-destination span { color: #6dcb99; display: block; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.portal-support-destination strong { display: block; font-size: 11px; margin-top: 3px; }
.portal-support-destination p { color: #9eb3a8; font-size: 9px; line-height: 1.45; margin: 4px 0 0; }
.portal-support-consent { align-items: flex-start; display: flex !important; gap: 8px; line-height: 1.4; }
.portal-support-consent input { flex: 0 0 auto; min-height: 0; margin-top: 2px; width: auto; }
.portal-support-submit { background: #23a866; border: 0; border-radius: 8px; color: #fff; cursor: pointer; font-size: 11px; font-weight: 800; margin-top: 10px; min-height: 41px; width: 100%; }
.portal-support-result { background: rgba(39,174,102,.13); border-radius: 7px; color: #a9e5c4; font-size: 9px; line-height: 1.45; margin: 8px 0 0; padding: 8px 10px; }
.portal-language-suggestion { align-items: flex-start; background: #fff; border: 1px solid #d9e4de; border-radius: 13px; bottom: 24px; box-shadow: 0 18px 50px rgba(5,29,18,.22); color: #17241e; display: flex; gap: 12px; left: 24px; max-width: 390px; padding: 15px 38px 15px 15px; position: fixed; z-index: 1080; }
.portal-language-suggestion[hidden] { display: none; }
.portal-language-suggestion > button { background: transparent; border: 0; color: #718078; cursor: pointer; font-size: 20px; position: absolute; right: 8px; top: 5px; }
.portal-language-suggestion > span { align-items: center; background: #e6f6ed; border-radius: 9px; color: #16804d; display: flex; flex: 0 0 35px; height: 35px; justify-content: center; }
.portal-language-suggestion strong { display: block; font-size: 13px; }
.portal-language-suggestion p { color: #65756d; font-size: 10px; line-height: 1.5; margin: 4px 0 9px; }
.portal-language-suggestion div div { display: flex; flex-wrap: wrap; gap: 6px; }
.portal-language-suggestion div button { background: #16804d; border: 1px solid #16804d; border-radius: 7px; color: #fff; cursor: pointer; font-size: 9px; font-weight: 700; padding: 7px 9px; }
.portal-language-suggestion div button + button { background: transparent; border-color: #cbd8d1; color: #48584f; }
.login-page [data-hero-rotation] { transition: opacity .25s ease, transform .25s ease; }
.portal-hero-features { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.portal-hero-features span { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: #d4e4dc; font-size: 10px; font-weight: 700; padding: 6px 10px; }
.portal-hero-languages { color: #89ad9b; display: flex; font-size: 9px; gap: 8px; margin-top: 12px; }
.portal-hero-languages span.is-active { color: #70d79f; font-weight: 800; }
@media (max-width: 991px) {
  .portal-language-nav-item { display: block; margin: 5px 0; }
  .portal-language-nav-item .portal-language-trigger { justify-content: flex-start; width: 100%; }
  .portal-language-nav-item .portal-language-options { box-shadow: none; margin-top: 6px; min-width: 0; position: static; width: 100%; }
}
@media (max-width: 720px) {
  .portal-support-drawer { bottom: 7vh; top: 7vh; transform: translateX(calc(100vw - 59px)); }
  .portal-support-content { width: calc(100vw - 59px); }
  .portal-support-drawer:hover:not(.is-open) { transform: translateX(calc(100vw - 59px)); }
  .portal-language-login { right: 10px; top: 10px; }
  .portal-language-login .portal-language-options { max-width: calc(100vw - 20px); min-width: 260px; }
  .portal-language-suggestion { bottom: 14px; left: 14px; max-width: calc(100vw - 28px); }
}
@media (prefers-reduced-motion: reduce) { .portal-language-trigger i, .portal-support-drawer { transition: none; } }
