/* Một bộ font hệ thống duy nhất, đầy đủ dấu tiếng Việt trên mọi thiết bị. */
html, body, body *, button, input, textarea, select {
  font-family: "Segoe UI", Arial, Tahoma, sans-serif !important;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

@font-face {
  font-display: swap;
  font-family: "Mai Sans";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/mai-sans-regular.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Mai Sans";
  font-style: normal;
  font-weight: 700 900;
  src: url("/fonts/mai-sans-bold.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: Georgia;
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/mai-serif-regular.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: Georgia;
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/mai-serif-bold.ttf") format("truetype");
}

:root {
  --red: #b31224;
  --red-dark: #820d1a;
  --green: #075a3a;
  --green-dark: #043f2a;
  --gold: #b59a3c;
  --gold-light: #e8dba6;
  --ink: #171812;
  --muted: #66685f;
  --cream: #f8f4e8;
  --paper: #fffef9;
  --line: #e6dfcc;
  --white: #ffffff;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: "Mai Sans", Arial, Helvetica, sans-serif;
  font-synthesis: none;
  margin: 0;
  min-width: 320px;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

.container {
  margin: 0 auto;
  max-width: 1240px;
  padding-left: 24px;
  padding-right: 24px;
  width: 100%;
}

.utility-bar {
  background: var(--red-dark);
  color: rgba(255, 255, 255, 0.88);
  font-size: 12px;
  letter-spacing: 0.02em;
}

.utility-inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 36px;
}

.utility-inner > div {
  display: flex;
  gap: 26px;
}

.utility-inner a:hover {
  color: var(--white);
}

.site-header {
  background: var(--white);
  position: relative;
  z-index: 50;
}

.brand-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 112px;
}

.brand {
  align-items: center;
  display: inline-flex;
  gap: 17px;
}

.brand img {
  height: 82px;
  object-fit: contain;
  width: 88px;
}

.brand span {
  display: flex;
  flex-direction: column;
}

.brand strong,
.brand b {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  line-height: 1.02;
  text-transform: uppercase;
}

.brand strong {
  color: var(--green);
  font-size: 16px;
  letter-spacing: 0.065em;
}

.brand b {
  color: var(--red);
  font-size: 32px;
  letter-spacing: 0.04em;
  margin-top: 3px;
}

.brand em {
  color: #74692c;
  font-size: 11px;
  font-style: normal;
  letter-spacing: 0.07em;
  margin-top: 7px;
  text-transform: uppercase;
}

.desktop-login {
  background: transparent;
  border: 0;
  border-left: 1px solid var(--line);
  color: var(--muted);
  padding: 4px 0 4px 28px;
  text-align: left;
}

.desktop-login span,
.desktop-login strong {
  display: block;
}

.desktop-login span {
  font-size: 11px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.desktop-login strong {
  color: var(--red);
  font-size: 14px;
  margin-top: 6px;
}

.nav-shell {
  background: var(--green-dark);
}

.primary-nav {
  align-items: center;
  display: flex;
  min-height: 52px;
}

.primary-nav > a {
  align-items: center;
  color: rgba(255, 255, 255, 0.88);
  display: flex;
  font-size: 13px;
  font-weight: 700;
  height: 52px;
  letter-spacing: 0.035em;
  padding: 0 20px;
  position: relative;
  text-transform: uppercase;
}

.primary-nav > a.active {
  background: var(--red);
  color: var(--white);
}

.primary-nav > a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--white);
}

.primary-nav > a.active:hover {
  background: var(--red);
}

.management-menu {
  height: 52px;
  position: relative;
}

.management-menu > button {
  align-items: center;
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.88);
  cursor: pointer;
  display: flex;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  gap: 7px;
  height: 52px;
  letter-spacing: 0.035em;
  padding: 0 20px;
  text-transform: uppercase;
}

.management-menu.active > button,
.management-menu > button:hover,
.management-menu:focus-within > button {
  background: var(--red);
  color: var(--white);
}

.management-submenu {
  background: var(--white);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.18);
  display: none;
  left: 0;
  min-width: 210px;
  position: absolute;
  top: 52px;
  z-index: 30;
}

.management-menu:hover .management-submenu,
.management-menu:focus-within .management-submenu,
.management-menu.is-open .management-submenu {
  display: grid;
}

.management-submenu a {
  border-bottom: 1px solid var(--line);
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 700;
  padding: 14px 18px;
}

.management-submenu a:hover {
  background: var(--cream);
  color: var(--red);
}

.mobile-login,
.menu-button {
  display: none;
}

.hero {
  background: #f6f0df;
  overflow: hidden;
  position: relative;
}

.hero-pattern {
  background-image: url("/assets/hoa-van-ho-mai-1.jpg");
  background-position: right center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  inset: 0 0 0 auto;
  opacity: 0.1;
  pointer-events: none;
  position: absolute;
  width: 56%;
}

.hero-grid {
  align-items: center;
  display: grid;
  gap: 72px;
  grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
  min-height: 680px;
  padding-bottom: 76px;
  padding-top: 76px;
  position: relative;
}

.eyebrow,
.section-kicker {
  color: var(--red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.17em;
  margin: 0 0 20px;
  text-transform: uppercase;
}

.hero h1 {
  color: #1a201a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 5vw, 76px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.02;
  margin: 0;
  max-width: 660px;
}

.hero h1 span {
  color: var(--red);
  display: block;
}

.hero-lead {
  color: #585c54;
  font-size: 17px;
  line-height: 1.8;
  margin: 28px 0 0;
  max-width: 630px;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.button {
  align-items: center;
  border: 1px solid transparent;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 12px;
  justify-content: center;
  letter-spacing: 0.035em;
  min-height: 50px;
  padding: 0 22px;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.button-primary {
  background: var(--red);
  color: var(--white);
}

.button-primary:hover {
  background: var(--red-dark);
}

.button-ghost {
  border-color: #bdb294;
  color: #31372e;
}

.button-ghost:hover {
  background: var(--white);
  border-color: var(--gold);
}

.button-outline {
  border-color: #c9c2b1;
  color: var(--green-dark);
}

.button-outline:hover {
  border-color: var(--green);
}

.wide {
  width: 100%;
}

.hero-meta {
  border-top: 1px solid #d5ccb5;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 42px;
  padding-top: 22px;
}

.hero-meta div {
  display: grid;
  gap: 4px;
}

.hero-meta strong {
  color: var(--green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
}

.hero-meta span {
  color: #68695f;
  font-size: 11px;
  line-height: 1.45;
  text-transform: uppercase;
}

.hero-visual {
  margin: 34px 0;
  min-height: 470px;
  position: relative;
}

.hero-image-wrap {
  border: 1px solid rgba(181, 154, 60, 0.55);
  box-shadow: 28px 28px 0 rgba(181, 154, 60, 0.16);
  height: 420px;
  overflow: hidden;
  position: relative;
}

.hero-image-wrap img {
  object-fit: cover;
}

.hero-seal {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--gold-light);
  bottom: 0;
  display: flex;
  height: 170px;
  justify-content: center;
  left: -45px;
  position: absolute;
  width: 178px;
}

.hero-seal img {
  height: 152px;
  object-fit: contain;
  width: 164px;
}

.hero-note {
  background: var(--green-dark);
  bottom: 5px;
  color: var(--white);
  display: flex;
  flex-direction: column;
  max-width: 278px;
  padding: 18px 22px;
  position: absolute;
  right: -18px;
}

.hero-note span {
  color: var(--gold-light);
  font-size: 11px;
  letter-spacing: 0.14em;
}

.hero-note strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.35;
  margin-top: 6px;
}

.announcement {
  background: var(--red);
  color: var(--white);
}

.announcement-inner {
  align-items: center;
  display: grid;
  gap: 28px;
  grid-template-columns: auto 1fr auto;
  min-height: 62px;
}

.announcement-label {
  background: var(--white);
  color: var(--red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  padding: 8px 12px;
  text-transform: uppercase;
}

.announcement p {
  font-size: 14px;
  margin: 0;
}

.announcement a {
  font-size: 13px;
  font-weight: 800;
}

.section {
  padding-bottom: 104px;
  padding-top: 104px;
}

.intro-grid {
  display: grid;
  gap: 70px;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
}

.section-title {
  color: #1d211b;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(37px, 4vw, 56px);
  letter-spacing: -0.035em;
  line-height: 1.12;
  margin: 0;
}

.section-title span {
  color: var(--green);
}

.intro-copy {
  border-left: 3px solid var(--gold);
  padding-left: 30px;
}

.intro-copy p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.85;
  margin: 0 0 24px;
}

.text-link {
  color: var(--red);
  font-size: 13px;
  font-weight: 800;
}

.text-link span {
  margin-left: 6px;
}

.values-grid {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 72px;
}

.value-card {
  border: 1px solid var(--line);
  border-right: 0;
  min-height: 290px;
  padding: 34px 30px;
}

.value-card:last-child {
  border-right: 1px solid var(--line);
}

.value-card > span {
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 700;
}

.value-card h3 {
  color: var(--green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 29px;
  margin: 50px 0 14px;
}

.value-card p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
  margin: 0;
}

.quote-section {
  background: var(--green-dark);
  color: var(--white);
  overflow: hidden;
  padding: 82px 0;
  position: relative;
}

.quote-grid {
  align-items: center;
  display: grid;
  gap: 42px;
  grid-template-columns: 120px minmax(0, 1fr) 320px;
}

.quote-mark {
  color: rgba(255, 255, 255, 0.07);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 150px;
  font-weight: 700;
  line-height: 0.8;
}

.quote-grid blockquote {
  border-left: 1px solid rgba(232, 219, 166, 0.45);
  margin: 0;
  padding-left: 42px;
}

.quote-grid blockquote > p {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 3vw, 39px);
  letter-spacing: -0.02em;
  line-height: 1.36;
  margin: 0 0 30px;
}

.quote-grid blockquote footer {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.quote-grid blockquote footer strong {
  color: var(--gold-light);
  font-size: 14px;
  text-transform: uppercase;
}

.quote-grid blockquote footer span {
  color: rgba(255, 255, 255, 0.65);
  font-size: 13px;
}

.quote-side {
  background: var(--cream);
  color: var(--green-dark);
  padding: 30px;
}

.quote-side span {
  color: var(--red);
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.quote-side strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.5;
}

.news-section {
  background: #fbfaf6;
}

.section-heading-row {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
}

.news-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: 1.42fr 0.79fr 0.79fr;
  margin-top: 50px;
}

.news-card {
  background: var(--white);
  border: 1px solid var(--line);
}

.news-image {
  display: block;
  height: 220px;
  overflow: hidden;
  position: relative;
}

.news-card.featured .news-image {
  height: 330px;
}

.news-image img {
  object-fit: cover;
  transition: transform 300ms ease;
}

.news-card:hover .news-image img {
  transform: scale(1.025);
}

.news-content {
  padding: 25px;
}

.news-card.featured .news-content {
  padding: 30px;
}

.news-meta {
  color: var(--muted);
  display: flex;
  font-size: 10px;
  font-weight: 800;
  justify-content: space-between;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.news-meta span {
  color: var(--red);
}

.news-content h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  letter-spacing: -0.02em;
  line-height: 1.35;
  margin: 18px 0 12px;
}

.news-card.featured .news-content h3 {
  font-size: 31px;
}

.news-content h3 a:hover {
  color: var(--red);
}

.news-content p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 22px;
}

.membership-cta {
  background: var(--red-dark);
  color: var(--white);
  overflow: hidden;
  padding: 76px 0;
  position: relative;
}

.membership-cta::after {
  background-image: url("/assets/hoa-van-ho-mai-2.jpg");
  background-position: center;
  background-size: cover;
  content: "";
  inset: 0 0 0 auto;
  opacity: 0.08;
  position: absolute;
  width: 43%;
}

.membership-inner {
  align-items: center;
  display: grid;
  gap: 70px;
  grid-template-columns: minmax(0, 1fr) auto;
  position: relative;
  z-index: 1;
}

.section-kicker.light {
  color: var(--gold-light);
}

.membership-inner h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4vw, 49px);
  letter-spacing: -0.03em;
  line-height: 1.18;
  margin: 0;
  max-width: 760px;
}

.membership-inner > div > p:last-child {
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.75;
  margin: 20px 0 0;
  max-width: 720px;
}

.membership-actions {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 270px;
}

.button-light {
  background: var(--cream);
  color: var(--red-dark);
}

.button-light:hover {
  background: var(--white);
}

.button-on-dark {
  border-color: rgba(255, 255, 255, 0.36);
  color: var(--white);
}

.button-on-dark:hover {
  border-color: var(--white);
}

.site-footer {
  background: #111611;
  color: rgba(255, 255, 255, 0.7);
  padding: 68px 0 24px;
}

.footer-grid {
  display: grid;
  gap: 55px;
  grid-template-columns: 1.3fr 1fr 0.55fr;
}

.footer-brand {
  align-items: center;
  display: flex;
  gap: 20px;
}

.footer-brand img {
  height: 98px;
  object-fit: contain;
  width: 106px;
}

.footer-brand div {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.footer-brand strong {
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  line-height: 1.35;
}

.footer-brand span {
  color: var(--gold-light);
  font-size: 11px;
}

.footer-grid h3 {
  color: var(--white);
  font-size: 12px;
  letter-spacing: 0.1em;
  margin: 4px 0 18px;
  text-transform: uppercase;
}

.footer-grid p {
  font-size: 13px;
  line-height: 1.7;
  margin: 0 0 8px;
}

.footer-grid nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 13px;
}

.footer-grid a:hover {
  color: var(--white);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  font-size: 11px;
  justify-content: space-between;
  margin-top: 52px;
  padding-top: 23px;
}

.modal-backdrop {
  align-items: center;
  background: rgba(8, 17, 12, 0.72);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 22px;
  position: fixed;
  z-index: 100;
}

.login-modal {
  background: var(--paper);
  border-top: 5px solid var(--red);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
  max-height: calc(100vh - 36px);
  max-width: 480px;
  overflow: auto;
  padding: 38px 44px 34px;
  position: relative;
  text-align: center;
  width: 100%;
}

.modal-close {
  background: transparent;
  border: 0;
  color: #6f6f66;
  font-size: 28px;
  line-height: 1;
  padding: 10px;
  position: absolute;
  right: 10px;
  top: 8px;
}

.login-modal > img,
.login-modal .login-brand-logo {
  display: block;
  height: 130px;
  margin: 0 auto 16px;
  max-width: 100%;
  object-fit: contain;
  width: 190px;
}

.login-modal h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 36px;
  margin: 0;
}

.login-intro {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
  margin: 10px auto 24px;
  max-width: 340px;
}

.login-modal form {
  text-align: left;
}

.login-modal form > label {
  color: #34382f;
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin: 0 0 16px;
}

.login-modal input[type="text"],
.login-modal input[type="password"] {
  background: var(--white);
  border: 1px solid #d7d0bd;
  display: block;
  margin-top: 8px;
  min-height: 48px;
  outline: none;
  padding: 0 14px;
  width: 100%;
}

.login-modal input:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(7, 90, 58, 0.1);
}

.login-options {
  align-items: center;
  display: flex;
  font-size: 12px;
  justify-content: space-between;
  margin: 2px 0 20px;
}

.login-options label {
  align-items: center;
  display: flex;
  gap: 7px;
}

.login-options a,
.register-note a {
  color: var(--red);
  font-weight: 700;
}

.form-notice {
  background: #f2ead1;
  border-left: 3px solid var(--gold);
  color: #514923;
  font-size: 12px;
  line-height: 1.55;
  margin: 14px 0 0;
  padding: 11px 13px;
}

.register-note {
  color: var(--muted);
  font-size: 12px;
  margin: 22px 0 0;
}

.login-level-list {
  border: 1px solid var(--line);
  margin: 0 0 20px;
  text-align: left;
}

.login-level-list div {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 12px;
  grid-template-columns: 30px 1fr;
  min-height: 41px;
  padding: 6px 12px;
}

.login-level-list div:last-child {
  border-bottom: 0;
}

.login-level-list span {
  align-items: center;
  background: var(--green-dark);
  border-radius: 50%;
  color: var(--white);
  display: flex;
  font-size: 11px;
  font-weight: 800;
  height: 25px;
  justify-content: center;
  width: 25px;
}

.login-level-list strong {
  color: #34382f;
  font-size: 12px;
}

.secure-login-note {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
  margin: 14px 0 0;
}

@media (max-width: 1100px) {
  .primary-nav > a {
    font-size: 12px;
    padding: 0 14px;
  }

  .hero-grid {
    gap: 46px;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 0.9fr);
  }

  .hero h1 {
    font-size: 56px;
  }

  .quote-grid {
    grid-template-columns: 80px minmax(0, 1fr);
  }

  .quote-side {
    display: none;
  }

  .news-grid {
    grid-template-columns: 1fr 1fr;
  }

  .news-card.featured {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .utility-inner > span,
  .desktop-login:not(.guest-login) {
    display: none;
  }
  .desktop-login.guest-login {
    display:block;
    margin-left:auto;
    padding:4px 10px;
    border-left:0;
    text-align:right;
  }
  .desktop-login.guest-login span{display:none;}
  .desktop-login.guest-login strong{margin-top:0;font-size:13px;white-space:nowrap;}

  .utility-inner {
    justify-content: flex-end;
  }

  .brand-row {
    min-height: 92px;
  }

  .brand img {
    height: 66px;
    width: 71px;
  }

  .brand strong {
    font-size: 12px;
  }

  .brand b {
    font-size: 24px;
  }

  .brand em {
    display: none;
  }

  .menu-button {
    background: transparent;
    border: 0;
    display: grid;
    gap: 5px;
    padding: 12px 4px 12px 12px;
  }

  .menu-button i {
    background: var(--green-dark);
    display: block;
    height: 2px;
    transition: transform 160ms ease, opacity 160ms ease;
    width: 27px;
  }

  .menu-button.is-open i:first-child {
    transform: translateY(7px) rotate(45deg);
  }

  .menu-button.is-open i:nth-child(2) {
    opacity: 0;
  }

  .menu-button.is-open i:last-child {
    transform: translateY(-7px) rotate(-45deg);
  }

  .nav-shell {
    display: none;
    height: calc(100vh - 128px);
    inset: 128px 0 auto;
    overflow: auto;
    position: fixed;
  }

  .nav-shell.is-open {
    display: block;
  }

  .primary-nav {
    align-items: stretch;
    flex-direction: column;
    padding-bottom: 30px;
    padding-top: 16px;
  }

  .primary-nav > a {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    height: 53px;
    padding: 0 4px;
  }

  .primary-nav > a.active {
    color: var(--gold-light);
  }

  .management-menu {
    height: auto;
  }

  .management-menu > button {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    justify-content: space-between;
    padding: 0 4px;
    width: 100%;
  }

  .management-menu.active > button,
  .management-menu > button:hover,
  .management-menu:focus-within > button {
    background: transparent;
    color: var(--gold-light);
  }

  .management-submenu {
    background: rgba(0, 0, 0, 0.13);
    box-shadow: none;
    min-width: 0;
    position: static;
  }

  .management-submenu a {
    border-bottom-color: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.86);
    padding: 14px 22px;
  }

  .mobile-login {
    background: var(--red);
    border: 0;
    color: var(--white);
    display: block;
    font-weight: 800;
    margin-top: 22px;
    min-height: 50px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    padding-bottom: 74px;
    padding-top: 66px;
  }

  .hero-copy {
    max-width: 680px;
  }

  .hero-visual {
    margin-left: 28px;
    min-height: 430px;
  }

  .hero-image-wrap {
    height: 380px;
  }

  .announcement-inner {
    gap: 14px;
    grid-template-columns: auto 1fr;
    padding-bottom: 14px;
    padding-top: 14px;
  }

  .announcement a {
    grid-column: 2;
  }

  .intro-grid {
    gap: 38px;
    grid-template-columns: 1fr;
  }

  .values-grid {
    grid-template-columns: 1fr 1fr;
  }

  .value-card:nth-child(2) {
    border-right: 1px solid var(--line);
  }

  .value-card:nth-child(n + 3) {
    border-top: 0;
  }

  .quote-grid {
    gap: 10px;
    grid-template-columns: 1fr;
  }

  .quote-mark {
    display: none;
  }

  .quote-grid blockquote {
    padding-left: 28px;
  }

  .membership-inner {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .membership-actions {
    max-width: 360px;
    width: 100%;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .utility-inner > div {
    gap: 14px;
  }

  .utility-inner > div a:last-child {
    display: none;
  }

  .brand {
    gap: 9px;
  }

  .brand img {
    height: 56px;
    width: 60px;
  }

  .brand strong {
    font-size: 10px;
  }

  .brand b {
    font-size: 20px;
  }

  .hero h1 {
    font-size: 43px;
  }

  .hero-lead {
    font-size: 15px;
  }

  .hero-actions .button {
    width: 100%;
  }

  .hero-meta {
    gap: 10px;
  }

  .hero-meta strong {
    font-size: 22px;
  }

  .hero-meta span {
    font-size: 9px;
  }

  .hero-visual {
    margin-left: 0;
    min-height: 350px;
  }

  .hero-image-wrap {
    box-shadow: 14px 14px 0 rgba(181, 154, 60, 0.16);
    height: 280px;
  }

  .hero-seal {
    height: 116px;
    left: -6px;
    width: 122px;
  }

  .hero-seal img {
    height: 105px;
    width: 113px;
  }

  .hero-note {
    bottom: 10px;
    max-width: 230px;
    padding: 14px 17px;
    right: -4px;
  }

  .announcement-inner {
    grid-template-columns: 1fr;
  }

  .announcement-label {
    justify-self: start;
  }

  .announcement a {
    grid-column: 1;
  }

  .section {
    padding-bottom: 76px;
    padding-top: 76px;
  }

  .section-title {
    font-size: 37px;
  }

  .values-grid {
    grid-template-columns: 1fr;
    margin-top: 48px;
  }

  .value-card,
  .value-card:nth-child(2) {
    border-right: 1px solid var(--line);
    border-top: 0;
    min-height: auto;
    padding: 28px;
  }

  .value-card:first-child {
    border-top: 1px solid var(--line);
  }

  .value-card h3 {
    margin-top: 24px;
  }

  .quote-section {
    padding: 62px 0;
  }

  .quote-grid blockquote > p {
    font-size: 27px;
  }

  .section-heading-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 28px;
  }

  .news-grid {
    grid-template-columns: 1fr;
    margin-top: 36px;
  }

  .news-card.featured {
    grid-column: auto;
  }

  .news-card.featured .news-image,
  .news-image {
    height: 230px;
  }

  .news-card.featured .news-content h3,
  .news-content h3 {
    font-size: 23px;
  }

  .membership-cta {
    padding: 62px 0;
  }

  .membership-inner {
    gap: 38px;
  }

  .membership-inner h2 {
    font-size: 36px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-brand {
    align-items: flex-start;
    grid-column: auto;
  }

  .footer-brand img {
    height: 72px;
    width: 78px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 10px;
  }

  .login-modal {
    padding: 32px 22px 28px;
  }
}

.hero-meta.expanded {
  grid-template-columns: repeat(3, 1fr);
  row-gap: 22px;
}

.hero-meta.expanded strong {
  font-size: 24px;
}
.hero-meta.expanded .money-stat strong { font-size:24px; letter-spacing:-.4px; line-height:1.1; white-space:nowrap; }
.hero-meta.expanded .money-stat span { line-height:1.35; }

.account-tabs {
  background: var(--white);
  border: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: -28px 0 42px;
  position: sticky;
  top: 10px;
  z-index: 12;
}

.account-tabs a {
  border-right: 1px solid var(--line);
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 800;
  padding: 15px 18px;
}

.account-tabs a:hover {
  background: var(--green-dark);
  color: var(--white);
}

.account-panel {
  border-top: 4px solid var(--green);
  margin-top: 52px;
  padding-top: 30px;
  scroll-margin-top: 90px;
}

.article-editor,
.statistics-editor {
  background: var(--cream);
  display: grid;
  gap: 16px;
  margin: 24px 0;
  padding: 26px;
}

.article-editor label,
.statistics-editor label {
  display: grid;
  font-size: 13px;
  font-weight: 800;
  gap: 7px;
}

.article-editor input,
.article-editor textarea,
.article-editor select,
.statistics-editor input {
  background: var(--white);
  border: 1px solid #d7c9ad;
  min-height: 46px;
  padding: 11px 12px;
}

.article-editor > div {
  display: flex;
  gap: 10px;
}

.article-admin-list article {
  align-items: center;
  border: 1px solid var(--line);
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr auto;
  margin-top: 12px;
  padding: 20px;
}

.article-admin-list h3 { margin: 7px 0; }
.article-admin-list p { color: var(--muted); margin: 0; }
.article-admin-list span { color: var(--red); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.article-admin-list button { background: transparent; border: 1px solid var(--green); color: var(--green); margin-left: 8px; padding: 8px 12px; }
.article-admin-list button.danger { border-color: var(--red); color: var(--red); }
.article-admin-list a.article-view-button { display:inline-block; margin-left:8px; padding:8px 12px; border:1px solid var(--green); background:var(--green); color:#fff; font-weight:800; text-decoration:none; }

.statistics-editor {
  grid-template-columns: repeat(3, 1fr);
}

.statistics-editor .button,
.statistics-editor .account-notice { grid-column: 1 / -1; }

@media (max-width: 760px) {
  .hero-meta.expanded,
  .statistics-editor { grid-template-columns: 1fr 1fr; }
  .account-tabs { position: static; }
  .account-tabs a { width: 50%; }
  .article-admin-list article { grid-template-columns: 1fr; }
}

.account-level-column {
  display: grid;
  gap: 14px;
}

.account-hero-logout {
  display: flex;
  justify-content: flex-end;
}

.account-hero-logout .button {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.55);
  color: var(--white);
  min-height: 42px;
}

.document-editor {
  background: var(--cream);
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
  margin: 24px 0;
  padding: 26px;
}

.document-editor label {
  display: grid;
  font-size: 13px;
  font-weight: 800;
  gap: 7px;
}

.document-editor input,
.document-editor select {
  background: var(--white);
  border: 1px solid #d7c9ad;
  min-height: 46px;
  padding: 11px 12px;
}

.document-editor .span-two {
  grid-column: 1 / -1;
}

.document-editor > div {
  display: flex;
  gap: 10px;
}

.managed-document-list article {
  align-items: center;
  border: 1px solid var(--line);
  display: grid;
  gap: 18px;
  grid-template-columns: 115px 1fr auto;
  margin-top: 10px;
  padding: 18px;
}

.managed-document-list h3 { margin: 0 0 7px; }
.managed-document-list p { color: var(--muted); margin: 0; }
.managed-document-list button { background: transparent; border: 1px solid var(--green); color: var(--green); margin-left: 8px; padding: 8px 12px; }
.managed-document-list button.danger { border-color: var(--red); color: var(--red); }
.document-list article > a { color: var(--red); font-size: 12px; font-weight: 800; }

@media (max-width: 760px) {
  .document-editor { grid-template-columns: 1fr; }
  .document-editor .span-two { grid-column: auto; }
  .managed-document-list article { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
  }
}

/* Member account and five-level authorization */
.account-hero {
  background: linear-gradient(125deg, var(--green-dark) 0%, #07583b 62%, #0b6d49 100%);
  color: var(--white);
  overflow: hidden;
  position: relative;
}

.account-hero::after {
  background-image: url("/assets/hoa-van-ho-mai-2.jpg");
  background-position: right center;
  background-size: cover;
  content: "";
  inset: 0 0 0 auto;
  opacity: 0.08;
  position: absolute;
  width: 48%;
}

.account-hero-grid {
  align-items: center;
  display: grid;
  gap: 80px;
  grid-template-columns: minmax(0, 1fr) 390px;
  min-height: 470px;
  padding-bottom: 68px;
  padding-top: 68px;
  position: relative;
  z-index: 1;
}

.account-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 5vw, 64px);
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin: 0;
}

.account-hero-grid > div:first-child > p:last-child {
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.75;
  margin: 22px 0 0;
  max-width: 680px;
}

.account-hero .eyebrow {
  color: var(--gold-light);
}

.current-level-card {
  background: var(--paper);
  border-top: 5px solid var(--gold);
  color: var(--ink);
  padding: 32px;
}

.current-level-card > span {
  color: var(--red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.current-level-card > strong {
  color: var(--green);
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 44px;
  line-height: 1;
  margin: 22px 0 8px;
}

.current-level-card h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  margin: 0;
}

.current-level-card p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
  margin: 16px 0 0;
}

.account-toolbar,
.account-section-heading {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
}

.role-level-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 46px;
}

.role-level-card {
  border: 1px solid var(--line);
  min-height: 245px;
  padding: 25px 22px;
  position: relative;
}

.role-level-card.is-current {
  background: var(--cream);
  border-color: var(--gold);
  box-shadow: inset 0 4px 0 var(--gold);
}

.role-level-card > span {
  color: var(--red);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.role-level-card h3 {
  color: var(--green-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.25;
  margin: 26px 0 13px;
}

.role-level-card p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
  margin: 0;
}

.role-level-card b {
  bottom: 17px;
  color: var(--red);
  font-size: 10px;
  letter-spacing: 0.08em;
  position: absolute;
  text-transform: uppercase;
}

.account-admin {
  border-top: 1px solid var(--line);
  margin-top: 78px;
  padding-top: 68px;
}

.account-section-heading h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  margin: 0;
}

.account-section-heading > span {
  background: var(--green-dark);
  color: var(--white);
  font-size: 11px;
  font-weight: 700;
  padding: 9px 13px;
}

.account-notice {
  background: #f2ead1;
  border-left: 3px solid var(--gold);
  color: #514923;
  font-size: 12px;
  margin: 24px 0 0;
  padding: 12px 15px;
}

.application-approval-list {
  margin-top: 38px;
}

.application-approval-list > h3 {
  align-items: center;
  color: var(--green-dark);
  display: flex;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  gap: 12px;
  margin: 0 0 18px;
}

.application-approval-list > h3 span {
  align-items: center;
  background: var(--red);
  border-radius: 50%;
  color: var(--white);
  display: flex;
  font-family: "Mai Sans", Arial, sans-serif;
  font-size: 10px;
  height: 25px;
  justify-content: center;
  width: 25px;
}

.empty-state {
  border: 1px dashed #cfc6ae;
  color: var(--muted);
  font-size: 13px;
  padding: 22px;
}

.application-review {
  border: 1px solid var(--line);
  margin-bottom: 12px;
}

.application-review summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 18px 20px;
}

.application-review summary::-webkit-details-marker {
  display: none;
}

.application-review summary span,
.application-review summary small {
  display: block;
}

.application-review summary small {
  color: var(--muted);
  font-size: 11px;
  margin-top: 5px;
}

.application-review summary > b {
  color: var(--red);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.application-review-body {
  border-top: 1px solid var(--line);
  padding: 24px;
}

.application-summary-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 1fr;
}

.application-summary-grid p {
  background: var(--cream);
  color: #4d5149;
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
  padding: 14px;
  white-space: pre-line;
}

.application-summary-grid b {
  color: var(--green-dark);
  display: block;
  font-size: 10px;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.approval-form {
  align-items: end;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr 1fr 1fr auto;
  margin-top: 22px;
  padding-top: 22px;
}

.approval-form label {
  color: #34382f;
  font-size: 11px;
  font-weight: 700;
}

.approval-form input,
.approval-form select {
  background: var(--white);
  border: 1px solid #d3ccb8;
  display: block;
  margin-top: 7px;
  min-height: 44px;
  padding: 0 11px;
  width: 100%;
}

.account-table-wrap {
  border: 1px solid var(--line);
  margin-top: 30px;
  overflow-x: auto;
}

.account-table {
  border-collapse: collapse;
  min-width: 820px;
  width: 100%;
}

.account-table th,
.account-table td {
  border-bottom: 1px solid var(--line);
  padding: 16px 18px;
  text-align: left;
}

.account-table th {
  background: var(--cream);
  color: var(--green-dark);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-table td {
  color: var(--muted);
  font-size: 12px;
}

.account-table tbody tr:last-child td {
  border-bottom: 0;
}

.account-table select {
  background: var(--white);
  border: 1px solid #d7d0bd;
  min-height: 40px;
  padding: 0 10px;
  width: 100%;
}

.level-pill {
  background: #ede8da;
  color: var(--green-dark);
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  padding: 7px 9px;
  white-space: nowrap;
}

.setup-layout {
  align-items: start;
  display: grid;
  gap: 70px;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
}

.setup-layout > div:first-child > p:last-child {
  color: var(--muted);
  line-height: 1.75;
  max-width: 520px;
}

.setup-message {
  background: var(--white);
  border-left: 4px solid var(--gold);
  color: var(--green-dark);
  line-height: 1.7;
  padding: 28px;
}

.admin-setup-form > label {
  color: #34382f;
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 18px;
}

@media (max-width: 1050px) {
  .role-level-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 860px) {
  .account-hero-grid {
    gap: 38px;
    grid-template-columns: 1fr;
  }

  .current-level-card {
    max-width: 560px;
  }

  .approval-form,
  .setup-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .account-hero-grid {
    min-height: auto;
    padding-bottom: 54px;
    padding-top: 54px;
  }

  .account-hero h1 {
    font-size: 40px;
  }

  .account-toolbar,
  .account-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
  }

  .role-level-grid {
    grid-template-columns: 1fr;
  }

  .role-level-card {
    min-height: 210px;
  }

  .application-summary-grid {
    grid-template-columns: 1fr;
  }
}

/* Interior pages */
.inner-hero {
  background: var(--green-dark);
  color: var(--white);
  overflow: hidden;
  position: relative;
}

.inner-hero::after {
  /* Không dùng lớp hoa văn mờ: phần tiêu đề phải là một dải xanh đồng nhất. */
  display: none;
}

.inner-hero-grid {
  align-items: center;
  display: grid;
  gap: 80px;
  grid-template-columns: minmax(0, 1fr) 230px;
  min-height: 410px;
  padding-bottom: 72px;
  padding-top: 72px;
  position: relative;
  z-index: 1;
}

.inner-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(45px, 5vw, 68px);
  letter-spacing: -0.04em;
  line-height: 1.08;
  margin: 0;
  max-width: 900px;
}

.inner-hero-grid > div > p:last-child {
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.75;
  margin: 24px 0 0;
  max-width: 780px;
}

.inner-hero .eyebrow {
  color: var(--gold-light);
}

.inner-hero img {
  height: 214px;
  object-fit: contain;
  opacity: 0.94;
  width: 230px;
}

.inner-hero.has-info-aside .inner-hero-grid { align-items:stretch; grid-template-columns:minmax(0,1.12fr) minmax(400px,.88fr); gap:36px; min-height:0; padding-top:34px; padding-bottom:34px; }
.inner-hero.has-info-aside .inner-hero-copy { display:flex; flex-direction:column; justify-content:center; }
.inner-hero.has-info-aside h1 { max-width:850px; font-size:clamp(35px,3.25vw,49px); line-height:1.07; }
.inner-hero.has-info-aside .inner-hero-copy > p:last-of-type { max-width:780px; margin-top:16px; font-size:15px; line-height:1.6; }
.inner-hero-info { display:grid; align-content:start; gap:11px; padding:15px; border:0; background:transparent; box-shadow:none; }
.inner-hero-info-brand { display:grid; grid-template-columns:58px minmax(0,1fr); align-items:center; gap:11px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.24); }
.inner-hero img.inner-hero-brand-logo { display:block; width:58px; height:55px; opacity:1; }
.inner-hero-info-brand span,.inner-hero-info-brand strong { display:block; }
.inner-hero-info-brand span { color:rgba(255,255,255,.65); font-size:.63rem; font-weight:750; line-height:1.35; }
.inner-hero-info-brand strong { margin-top:2px; color:var(--gold-light); font-size:.78rem; line-height:1.35; }
.inner-hero-info-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.inner-hero-info-facts > div { position:relative; min-width:0; min-height:82px; padding:9px; border-left:2px solid rgba(217,183,74,.85); background:transparent; }
.inner-hero-info-facts small,.inner-hero-info-facts b,.inner-hero-info-facts span { display:block; }
.inner-hero-info-facts small { color:rgba(241,226,174,.75); font-size:.57rem; font-weight:900; }
.inner-hero-info-facts b { margin-top:5px; color:#fff; font-size:.68rem; line-height:1.3; }
.inner-hero-info-facts span { margin-top:3px; color:rgba(255,255,255,.62); font-size:.6rem; line-height:1.35; }
.inner-hero-info-tags { display:flex; flex-wrap:wrap; gap:6px; }
.inner-hero-info-tags span { padding:5px 8px; background:#f1e2ae; color:#5f4710; font-size:.61rem; font-weight:850; }

.trade-inner-hero::after { width:38%; opacity:.055; }
.trade-inner-hero .inner-hero-grid { align-items:stretch; grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr); gap:34px; min-height:0; padding-top:32px; padding-bottom:32px; }
.trade-inner-hero .inner-hero-copy { display:flex; flex-direction:column; justify-content:center; }
.trade-inner-hero h1 { max-width:790px; font-size:clamp(36px,3.25vw,48px); line-height:1.06; }
.trade-inner-hero .inner-hero-copy > p:last-of-type { max-width:760px; margin-top:16px; font-size:15px; line-height:1.6; }
.trade-hero-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:18px; }
.trade-hero-benefits > div { min-width:0; padding:9px 11px; border:1px solid rgba(255,255,255,.15); border-top:2px solid var(--gold); background:rgba(255,255,255,.055); }
.trade-hero-benefits b,.trade-hero-benefits span { display:block; }
.trade-hero-benefits b { color:#fff; font-size:.78rem; }
.trade-hero-benefits span { margin-top:4px; color:rgba(255,255,255,.67); font-size:.68rem; line-height:1.4; }
.trade-hero-panel { display:grid; align-content:start; gap:10px; padding:16px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.075); box-shadow:0 16px 38px rgba(0,0,0,.12); }
.trade-hero-panel-heading span,.trade-hero-panel-heading strong { display:block; }
.trade-hero-panel-heading span { color:var(--gold-light); font-size:.64rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.trade-hero-panel-heading strong { margin-top:4px; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:1.12rem; line-height:1.22; }
.trade-hero-data-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.trade-hero-data-grid > div { min-width:0; padding:7px 8px; background:rgba(2,48,35,.5); border-left:2px solid rgba(217,183,74,.8); }
.trade-hero-data-grid b,.trade-hero-data-grid span { display:block; }
.trade-hero-data-grid b { color:#fff; font-size:.68rem; }
.trade-hero-data-grid span { margin-top:3px; color:rgba(255,255,255,.62); font-size:.6rem; line-height:1.35; }
.trade-hero-categories { display:grid; gap:6px; padding-top:8px; border-top:1px solid rgba(255,255,255,.14); }
.trade-hero-categories > b { color:rgba(255,255,255,.72); font-size:.67rem; text-transform:uppercase; letter-spacing:.08em; }
.trade-hero-categories > div { display:flex; flex-wrap:wrap; gap:6px; }
.trade-hero-categories span { padding:5px 8px; background:#f1e2ae; color:#5f4710; font-size:.62rem; font-weight:850; }
.opportunity-content-section { padding-top:54px; padding-bottom:72px; }

.content-section {
  padding: 72px 0;
}

/* Nội dung đọc dài được căn đều hai bên trên toàn bộ các trang. */
body p,
body li,
body td {
  text-align: justify;
  text-justify: inter-word;
}

.muted-section {
  background: var(--cream);
}

.two-column-story,
.function-grid,
.timeline-grid,
.member-benefit-grid {
  display: grid;
  gap: 80px;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
}

.content-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(35px, 4vw, 51px);
  letter-spacing: -0.035em;
  line-height: 1.16;
  margin: 0;
}

.content-title.narrow {
  max-width: 740px;
}

.content-title.small {
  font-size: clamp(31px, 3.2vw, 43px);
}

.prose p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.85;
  margin: 0 0 20px;
}

.prose .text-link {
  display: inline-block;
  margin-top: 8px;
}

.mission-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, 1fr);
}

.mission-grid article {
  background: var(--white);
  border-top: 4px solid var(--gold);
  min-height: 360px;
  padding: 34px;
}

.mission-grid article > span {
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
}

.mission-grid .section-kicker {
  margin: 48px 0 12px;
}

.mission-grid h2 {
  color: var(--green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.3;
  margin: 0 0 15px;
}

.mission-grid article > p:last-child,
.unit-grid p,
.activity-grid p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
  margin: 0;
}

.function-grid ol,
.member-benefit-grid ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.function-grid li,
.member-benefit-grid li {
  align-items: flex-start;
  border-top: 1px solid var(--line);
  color: #42463e;
  display: grid;
  gap: 20px;
  grid-template-columns: 48px 1fr;
  line-height: 1.6;
  padding: 21px 0;
}

.function-grid li:last-child,
.member-benefit-grid li:last-child {
  border-bottom: 1px solid var(--line);
}

.function-grid li span,
.member-benefit-grid li span {
  color: var(--red);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
}

.section-heading-row.compact {
  align-items: flex-start;
}

.side-note {
  border-left: 2px solid var(--gold);
  color: var(--muted);
  font-size: 12px;
  letter-spacing: 0.1em;
  margin: 9px 0 0;
  padding: 6px 0 6px 16px;
  text-transform: uppercase;
}

.leader-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr 1fr;
  margin-top: 48px;
}

.leader-card {
  align-items: center;
  border: 1px solid var(--line);
  display: grid;
  gap: 28px;
  grid-template-columns: 132px 1fr;
  min-height: 250px;
  padding: 30px;
}

.leader-card.primary {
  border-top: 4px solid var(--red);
}

.leader-monogram {
  align-items: center;
  background: var(--green-dark);
  color: var(--gold-light);
  display: flex;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 37px;
  height: 132px;
  justify-content: center;
  width: 132px;
}

.leader-card span {
  color: var(--red);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.leader-card h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  margin: 9px 0 11px;
}

.leader-card p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
  margin: 0;
}

.unit-grid,
.activity-grid {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 48px;
}

.unit-grid article,
.activity-grid article {
  background: var(--white);
  border: 1px solid var(--line);
  border-right: 0;
  min-height: 300px;
  padding: 30px;
}

.unit-grid article:last-child,
.activity-grid article:last-child {
  border-right: 1px solid var(--line);
}

.unit-grid article > span,
.activity-grid article > span {
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
}

.unit-grid h3,
.activity-grid h2 {
  color: var(--green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  line-height: 1.3;
  margin: 50px 0 14px;
}

.governance-callout,
.simple-cta {
  align-items: center;
  background: var(--green-dark);
  color: var(--white);
  display: grid;
  gap: 70px;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
  padding-bottom: 54px;
  padding-top: 54px;
}

.governance-callout .section-kicker,
.simple-cta .section-kicker {
  color: var(--gold-light);
}

.governance-callout h2,
.simple-cta h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 37px;
  line-height: 1.25;
  margin: 0;
}

.governance-callout > p {
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.8;
  margin: 0;
}

.simple-cta {
  background: var(--cream);
  color: var(--ink);
}

.simple-cta .section-kicker {
  color: var(--red);
}

.simple-cta .button {
  justify-self: end;
}

.timeline-section {
  background: var(--green-dark);
  color: var(--white);
}

.timeline-section .section-kicker {
  color: var(--gold-light);
}

.timeline-section .content-title {
  color: var(--white);
}

.timeline article {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  padding: 25px 0;
}

.timeline article:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.timeline time {
  color: var(--gold-light);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.timeline h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  margin: 10px 0 7px;
}

.timeline p {
  color: rgba(255, 255, 255, 0.67);
  font-size: 14px;
  line-height: 1.7;
  margin: 0;
}

.article-list {
  display: grid;
  gap: 28px;
}

.article-row {
  align-items: stretch;
  border: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(310px, 0.7fr) minmax(0, 1.3fr);
}

.article-image {
  min-height: 300px;
  overflow: hidden;
  position: relative;
}

.article-image img {
  object-fit: cover;
}

.article-row > div {
  padding: 40px;
}

.article-row h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 31px;
  line-height: 1.3;
  margin: 22px 0 15px;
}

.article-row h2 a:hover {
  color: var(--red);
}

.article-row p {
  color: var(--muted);
  line-height: 1.75;
  margin: 0 0 24px;
}

.document-layout {
  align-items: start;
  display: grid;
  gap: 70px;
  grid-template-columns: 310px minmax(0, 1fr);
}

.document-layout aside {
  background: var(--green-dark);
  color: var(--white);
  padding: 34px;
  position: sticky;
  top: 20px;
}

.document-layout aside .section-kicker {
  color: var(--gold-light);
}

.document-layout aside h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  margin: 0 0 16px;
}

.document-layout aside > p:last-child {
  color: rgba(255, 255, 255, 0.65);
  font-size: 14px;
  line-height: 1.75;
}

.document-list article {
  align-items: center;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 18px;
  grid-template-columns: 100px minmax(0, 1fr) 86px auto;
  min-height: 92px;
  padding: 18px 0;
}

.document-list article:last-child {
  border-bottom: 1px solid var(--line);
}

.doc-code {
  color: var(--red);
  font-size: 12px;
  font-weight: 800;
}

.document-list h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}

.doc-type {
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.document-list button {
  background: transparent;
  border: 0;
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.form-layout {
  align-items: start;
  display: grid;
  gap: 70px;
  grid-template-columns: 340px minmax(0, 1fr);
}

.form-layout aside h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 36px;
  line-height: 1.25;
  margin: 0 0 17px;
}

.form-layout aside > p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.contact-mini {
  border-top: 1px solid #d9cfb6;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 28px;
  padding-top: 22px;
}

.contact-mini strong {
  color: var(--green);
  font-size: 12px;
  text-transform: uppercase;
}

.contact-mini a {
  color: var(--red);
  font-size: 13px;
}

.application-form {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 36px;
}

.form-section {
  border: 0;
  margin: 0 0 34px;
  padding: 0;
}

.form-section + .form-section {
  border-top: 1px solid var(--line);
  padding-top: 30px;
}

.form-section legend {
  color: var(--green-dark);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  font-weight: 700;
  margin-bottom: 24px;
  padding: 0;
}

.form-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
}

.application-form > label,
.form-section > label,
.form-grid label {
  color: #34382f;
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 20px;
}

.form-grid .span-two {
  grid-column: 1 / -1;
}

.application-form input,
.application-form select,
.application-form textarea {
  background: var(--paper);
  border: 1px solid #d3ccb8;
  display: block;
  margin-top: 8px;
  min-height: 48px;
  outline: none;
  padding: 11px 13px;
  width: 100%;
}

.application-form textarea {
  line-height: 1.6;
  resize: vertical;
}

.application-form input:focus,
.application-form select:focus,
.application-form textarea:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(7, 90, 58, 0.1);
}

.application-form .consent {
  align-items: flex-start;
  color: var(--muted);
  display: flex;
  font-weight: 400;
  gap: 9px;
  line-height: 1.55;
}

.application-form .consent input {
  flex: 0 0 auto;
  margin: 2px 0 0;
  min-height: 0;
  width: auto;
}

.honeypot {
  left: -10000px !important;
  position: absolute !important;
}

.submit-message {
  border-left: 3px solid var(--gold);
  font-size: 13px;
  line-height: 1.6;
  margin: 20px 0 0;
  padding: 12px 14px;
}

.submit-message.success {
  background: #e7f2ea;
  border-color: var(--green);
  color: var(--green-dark);
}

.submit-message.error {
  background: #f8e7e7;
  border-color: var(--red);
  color: var(--red-dark);
}

.contact-layout {
  display: grid;
  gap: 70px;
  grid-template-columns: 360px minmax(0, 1fr);
}

.contact-location-stack {
  align-content: start;
  display: grid;
  gap: 18px;
}

.contact-location-stack .contact-card {
  min-width: 0;
}

.contact-card a {
  color: inherit;
  overflow-wrap: anywhere;
}

.contact-card {
  background: var(--green-dark);
  color: var(--white);
  padding: 36px;
}

.contact-card .section-kicker {
  color: var(--gold-light);
}

.contact-card h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  margin: 0 0 32px;
}

.contact-card dl {
  margin: 0;
}

.contact-card dl div {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  padding: 18px 0;
}

.contact-card dt {
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin-bottom: 7px;
  text-transform: uppercase;
}

.contact-card dd {
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  line-height: 1.7;
  margin: 0;
}

.contact-form {
  border: 0;
  margin-top: 32px;
  padding: 0;
}

@media (max-width: 900px) {
  .inner-hero-grid {
    grid-template-columns: 1fr 145px;
  }

  .inner-hero img {
    height: 135px;
    width: 145px;
  }

  .inner-hero.has-info-aside .inner-hero-grid { grid-template-columns:1fr; gap:22px; min-height:0; }
  .inner-hero-info { width:100%; }

  .trade-inner-hero .inner-hero-grid { grid-template-columns:1fr; gap:24px; }
  .trade-hero-panel { width:100%; }

  .two-column-story,
  .function-grid,
  .timeline-grid,
  .member-benefit-grid,
  .form-layout,
  .contact-layout {
    gap: 42px;
    grid-template-columns: 1fr;
  }

  .mission-grid {
    grid-template-columns: 1fr;
  }

  .mission-grid article {
    min-height: auto;
  }

  .mission-grid .section-kicker {
    margin-top: 24px;
  }

  .leader-grid {
    grid-template-columns: 1fr;
  }

  .unit-grid,
  .activity-grid {
    grid-template-columns: 1fr 1fr;
  }

  .unit-grid article:nth-child(2),
  .activity-grid article:nth-child(2) {
    border-right: 1px solid var(--line);
  }

  .unit-grid article:nth-child(n + 3),
  .activity-grid article:nth-child(n + 3) {
    border-top: 0;
  }

  .article-row {
    grid-template-columns: 1fr;
  }

  .document-layout {
    gap: 34px;
    grid-template-columns: 1fr;
  }

  .document-layout aside {
    position: static;
  }
}

@media (max-width: 600px) {
  .inner-hero-grid {
    grid-template-columns: 1fr;
    min-height: 390px;
    padding-bottom: 58px;
    padding-top: 58px;
  }

  .inner-hero h1 {
    font-size: 42px;
  }

  .inner-hero img {
    display: none;
  }

  .inner-hero.has-info-aside .inner-hero-grid { min-height:0; padding-top:34px; padding-bottom:34px; }
  .inner-hero.has-info-aside h1 { font-size:35px; }
  .inner-hero-info-facts { grid-template-columns:1fr; }
  .inner-hero-info-facts > div { min-height:0; }
  .inner-hero img.inner-hero-brand-logo { display:block; }

  .trade-inner-hero .inner-hero-grid { min-height:0; padding-top:38px; padding-bottom:38px; }
  .trade-inner-hero h1 { font-size:36px; }
  .trade-hero-benefits { grid-template-columns:1fr; }
  .trade-hero-data-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opportunity-content-section { padding-top:42px; padding-bottom:58px; }

  .content-section {
    padding: 54px 0;
  }

  .leader-card {
    align-items: start;
    grid-template-columns: 86px 1fr;
    padding: 22px;
  }

  .leader-monogram {
    font-size: 27px;
    height: 86px;
    width: 86px;
  }

  .unit-grid,
  .activity-grid {
    grid-template-columns: 1fr;
  }

  .unit-grid article,
  .unit-grid article:nth-child(2),
  .activity-grid article,
  .activity-grid article:nth-child(2) {
    border-right: 1px solid var(--line);
    border-top: 0;
    min-height: auto;
  }

  .unit-grid article:first-child,
  .activity-grid article:first-child {
    border-top: 1px solid var(--line);
  }

  .unit-grid h3,
  .activity-grid h2 {
    margin-top: 24px;
  }

  .governance-callout,
  .simple-cta {
    gap: 28px;
    grid-template-columns: 1fr;
    padding-bottom: 40px;
    padding-top: 40px;
  }

  .simple-cta .button {
    justify-self: stretch;
  }

  .article-image {
    min-height: 220px;
  }

  .article-row > div {
    padding: 25px;
  }

  .article-row h2 {
    font-size: 25px;
  }

  .document-list article {
    gap: 8px 14px;
    grid-template-columns: 1fr auto;
    padding: 22px 0;
  }

  .document-list h3 {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .doc-type {
    display: none;
  }

  .document-list button {
    grid-column: 2;
    grid-row: 1;
  }

  .application-form {
    padding: 24px;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }
}
.change-password-card {
  margin: 36px 0;
  padding: 28px;
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(320px, 1.2fr);
  gap: 32px;
  background: #fff;
  border: 1px solid rgba(124, 91, 32, .22);
  border-radius: 4px;
}
.change-password-card h2 { margin: 4px 0 10px; }
.change-password-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.change-password-form label:first-child { grid-column: 1 / -1; }
.change-password-form label { display: grid; gap: 7px; font-weight: 700; }
.change-password-form input { min-height: 46px; padding: 10px 12px; border: 1px solid #d7c9ad; background: #fffdfa; font: inherit; }
.change-password-form .account-notice { grid-column: 1 / -1; margin: 0; }
@media (max-width: 760px) {
  .change-password-card, .change-password-form { grid-template-columns: 1fr; }
  .change-password-form label:first-child { grid-column: auto; }
}
.application-document-header {
  text-align: center;
  padding: 26px 20px 12px;
  margin-bottom: 24px;
}
.application-document-header strong,
.application-document-header span { display: block; }
.application-document-header strong { font-size: 17px; }
.application-document-header span { margin-top: 5px; font-weight: 700; }
.application-document-header h2 { margin: 0; font-size: 28px; color: var(--red-dark); }
.application-document-header p { margin: 7px 0 0; font-weight: 700; }
.application-preamble { padding: 0 8px 10px; line-height: 1.7; }
.digital-application .form-section { scroll-margin-top: 120px; }
.application-commitment p { line-height: 1.7; margin-top: 0; }
.credential-result {
  margin-top: 22px;
  padding: 22px;
  border: 2px solid var(--green);
  background: #f1faf5;
}
.credential-result > span { color: var(--green); font-weight: 900; letter-spacing: .06em; }
.credential-result p { margin: 12px 0 0; }
.credential-result code { font-size: 18px; padding: 3px 8px; background: #fff; border: 1px dashed var(--green); }
.credential-result strong { display: block; margin-top: 15px; color: var(--red-dark); }
.application-actions { grid-template-columns: 1fr 1fr; }
.application-actions p { grid-column: 1 / -1; margin: 0; }
@media (max-width: 680px) {
  .application-actions { grid-template-columns: 1fr; }
  .application-actions p { grid-column: auto; }
  .application-document-header strong { font-size: 14px; }
  .application-document-header h2 { font-size: 23px; }
}

/* Editorial typography: compact headings and justified body copy. */
body p,
body li {
  text-align: justify;
}

/* Các trang giới thiệu, tin tức và trang đọc bài không có thẻ <main>,
   nên khai báo trực tiếp các vùng nội dung để căn đều luôn có hiệu lực. */
.content-section .prose p,
.content-section p,
.content-section li,
.article-row > div > p,
.article-detail-content p,
.article-detail-content li,
.inner-hero-copy > p:last-of-type {
  text-align: justify !important;
  text-justify: inter-word;
}

/* Giữ nhãn ngắn, ngày giờ và nút không bị giãn khoảng cách. */
.section-kicker,
.eyebrow,
.article-meta,
.article-row time,
.inner-hero-info p,
.inner-hero-info small,
.inner-hero-info span,
.inner-hero-info b {
  text-align: left !important;
}

.hero h1 {
  font-size: clamp(42px, 4.5vw, 68px);
}

.section-title {
  font-size: clamp(33px, 3.6vw, 50px);
}

.inner-hero h1 {
  font-size: clamp(39px, 4.4vw, 59px);
}

.content-title {
  font-size: clamp(31px, 3.5vw, 45px);
}

.content-title.small {
  font-size: clamp(28px, 2.9vw, 39px);
}

.mission-grid h2,
.leader-card h3 {
  font-size: 25px;
}

.unit-grid h3,
.activity-grid h2 {
  font-size: 22px;
}

.application-document-header p,
.credential-result p,
.login-modal p,
.account-notice,
.submit-message {
  text-align: center;
}

/* Home-page refinement from the August review list. */
.container {
  max-width: 1500px;
  padding-left: clamp(22px, 3.2vw, 54px);
  padding-right: clamp(22px, 3.2vw, 54px);
}

.desktop-login.logged-in {
  max-width: 310px;
}

.desktop-login.logged-in span {
  color: var(--green-dark);
  font-weight: 800;
  letter-spacing: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

.desktop-member {
  align-items: stretch;
  display: grid;
  gap: 6px;
  justify-items: end;
}

.header-logout {
  background: transparent;
  border: 0;
  color: var(--red);
  font-size: 12px;
  font-weight: 800;
  padding: 0;
}

.header-logout:hover { text-decoration: underline; }

.account-tabs button {
  background: transparent;
  border: 0;
  border-right: 1px solid var(--line);
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 800;
  padding: 15px 18px;
}

.account-tabs button:hover,
.account-tabs button.active {
  background: var(--green-dark);
  color: var(--white);
}

.account-tab-placeholder {
  background: var(--cream);
  border: 1px dashed #c8b98d;
  color: var(--muted);
  padding: 44px 24px;
  text-align: center;
}

.account-tab-content {
  animation: account-panel-in 180ms ease-out;
}

.profile-account-summary,
.profile-data-grid,
.profile-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.profile-account-summary { margin: 18px 0; padding: 16px; background: #f8f4e8; border-left: 3px solid var(--red); }
.profile-account-summary p, .profile-data-grid p { margin: 0; display: grid; gap: 5px; }
.profile-account-summary b, .profile-data-grid b { color: #6c665a; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.profile-data-grid p { padding: 15px; border: 1px solid #e6decc; background: #fff; }
.profile-data-grid span { color: #222; overflow-wrap: anywhere; }
.profile-edit-form label { display: grid; gap: 7px; color: #403b32; font-weight: 700; font-size: .88rem; }
.profile-edit-form input { width: 100%; min-height: 46px; border: 1px solid #d8cfbb; background: #fff; padding: 10px 12px; font: inherit; font-weight: 400; }
.profile-edit-form input:focus { outline: 2px solid rgba(178, 18, 39, .18); border-color: var(--red); }
.profile-panel > .account-notice { margin-top: 16px; }
.account-content-direct { padding-top: 36px; }
.opportunity-toolbar { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.opportunity-toolbar h2 { margin:5px 0 0; color:#083d2d; font-size:clamp(1.5rem,3vw,2.3rem); }
.opportunity-toolbar > span { color:#706958; font-size:.88rem; }
.opportunity-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:24px; margin-bottom:28px; background:#f8f4e8; border-top:3px solid var(--red); }
.opportunity-form label { display:grid; gap:7px; font-weight:700; font-size:.86rem; }
.opportunity-form input,.opportunity-form select,.opportunity-form textarea { width:100%; padding:11px 12px; border:1px solid #d8cfbb; background:#fff; font:inherit; }
.opportunity-attachment-field { min-width:0; margin:0; padding:15px; border:1px dashed #b9a77f; background:#fff; }
.opportunity-attachment-field legend { padding:0 7px; color:#403b32; font-size:.86rem; font-weight:800; }
.opportunity-attachment-modes { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.opportunity-attachment-modes label { display:flex; align-items:center; gap:8px; min-height:42px; padding:8px 14px; border:1px solid #d8cfbb; background:#f8f4e8; cursor:pointer; }
.opportunity-attachment-modes input { width:auto; margin:0; accent-color:var(--red); }
.opportunity-file-field,.opportunity-link-field { display:grid; gap:7px; font-weight:700; font-size:.86rem; }
.opportunity-file-field small { color:#706958; font-weight:500; line-height:1.5; }
.opportunity-file-field > span { color:var(--green); font-size:.82rem; font-weight:700; overflow-wrap:anywhere; }
.opportunity-link-field small { color:#706958; font-weight:500; line-height:1.5; }
.opportunity-edit-controls { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 14px; border:1px solid #d8cfbb; background:#fff; }
.opportunity-edit-controls > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.opportunity-edit-controls span { color:#706958; font-size:.8rem; }
.opportunity-edit-controls button { padding:7px 11px; border:1px solid #c9b994; background:#fff; color:#8d1022; font-weight:800; cursor:pointer; }
.opportunity-edit-controls button.success { border-color:#8fc5a7; color:#17633f; }
.opportunity-quick-stats { display:grid; grid-template-columns:repeat(3,minmax(110px,.55fr)) minmax(240px,1.35fr); gap:10px; margin:0 0 12px; }
.opportunity-quick-stats > div { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:62px; padding:11px 14px; border:1px solid #ddd2ba; border-left:4px solid #0b654a; background:#fff; }
.opportunity-quick-stats span { color:#6d6659; font-size:.74rem; font-weight:800; text-transform:uppercase; }
.opportunity-quick-stats strong { color:#073e2e; font-size:1.35rem; white-space:nowrap; }
.opportunity-quick-stats .is-success { background:#dff5e8; border-color:#8dc9a5; border-left-color:#218653; }
.opportunity-quick-stats .is-value { border-left-color:#b68a28; }
.opportunity-quick-stats .is-value strong { color:#7e1020; font-size:1rem; }
.opportunity-filters { display:grid; grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) auto auto; align-items:end; gap:10px; margin:0 0 14px; padding:12px; border:1px solid #e0d5bc; background:#f8f4e8; }
.opportunity-filters label { display:grid; gap:4px; color:#4e493f; font-size:.75rem; font-weight:800; }
.opportunity-filters input,.opportunity-filters select { width:100%; min-height:38px; padding:7px 9px; border:1px solid #d5c9b1; background:#fff; font:inherit; }
.opportunity-filters button { min-height:38px; padding:7px 11px; border:1px solid #bfae8b; background:#fff; color:#7e1020; font-weight:800; cursor:pointer; }
.opportunity-filters strong { align-self:center; color:#0b654a; font-size:.8rem; white-space:nowrap; }
.opportunity-list { display:grid; gap:10px; }
.opportunity-list-item { position:relative; padding:13px 16px; border:1px solid #e3dac6; border-left:4px solid #0b654a; background:#fff; box-shadow:0 4px 13px rgba(29,38,31,.045); transition:opacity .2s ease,filter .2s ease; }
.opportunity-list-item.is-closed { opacity:.56; filter:grayscale(.72); border-left-color:#8d8678; background:#f5f3ee; box-shadow:none; }
.opportunity-list-item.is-success { border-color:#79bc94; border-left-color:#218653; background:#d9f2e2; box-shadow:0 4px 13px rgba(33,134,83,.11); }
.opportunity-list-item.is-hidden { border-style:dashed; background:#fbf5e9; }
.opportunity-list-item.is-hidden.is-success { background:#d9f2e2; }
.opportunity-list-item.is-success .opportunity-list-header h3 { color:#125c39; }
.opportunity-list-header { display:grid; gap:5px; }
.opportunity-list-badges { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.opportunity-category,.opportunity-status,.opportunity-visibility { display:inline-flex; align-items:center; min-height:22px; padding:3px 7px; font-size:.65rem; font-weight:850; letter-spacing:.025em; text-transform:uppercase; }
.opportunity-category { background:#efe5c8; color:#8d1022; }
.opportunity-status.is-open { background:#e0f1e9; color:#0b654a; }
.opportunity-status.is-closed { background:#e6e3dd; color:#5f5a52; }
.opportunity-status.is-success { background:#218653; color:#fff; }
.opportunity-visibility { background:#f7dfe2; color:#97172a; }
.opportunity-list-header h3 { margin:0; color:#073e2e; font-size:1.08rem; }
.opportunity-list-meta { display:flex; flex-wrap:wrap; gap:4px 16px; color:#706958; font-size:.75rem; }
.opportunity-list-meta b { color:#403b32; }
.opportunity-summary { display:-webkit-box; margin:8px 0 0; overflow:hidden; color:#575247; font-size:.84rem; line-height:1.45; white-space:pre-line; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.opportunity-list-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px 18px; margin:9px 0 0; padding-top:8px; border-top:1px solid #eee6d6; }
.opportunity-list-details div { min-width:0; }
.opportunity-list-details dt { color:#817866; font-size:.64rem; text-transform:uppercase; font-weight:750; }
.opportunity-list-details dd { margin:2px 0 0; color:#25231f; font-size:.82rem; font-weight:700; overflow-wrap:anywhere; }
.opportunity-attachments { display:flex; align-items:center; flex-wrap:wrap; gap:5px 12px; margin-top:8px; padding:7px 9px; border:1px solid #e0d5bc; background:#f8f4e8; }
.opportunity-attachments > b { color:var(--green-dark); font-size:.7rem; text-transform:uppercase; }
.opportunity-attachments > div { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.opportunity-attachments a { min-width:0; color:var(--green); font-size:.75rem; font-weight:800; overflow-wrap:anywhere; text-decoration:none; }
.opportunity-attachments a:hover { text-decoration:underline; }
.opportunity-attachments a small { color:#706958; font-weight:500; }
.opportunity-attachments button { flex:0 0 auto; border:0; background:transparent; color:var(--red); font-size:.76rem; font-weight:800; cursor:pointer; }
.opportunity-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:6px; margin-top:8px; }
.opportunity-actions button { border:1px solid #cdbf9f; background:#fff; padding:5px 9px; cursor:pointer; color:#8d1022; font-size:.72rem; font-weight:800; }
.opportunity-actions button.success { border-color:#8fc5a7; color:#17633f; }
.opportunity-actions button.danger { border-color:#d8aab0; color:#a00f26; }
.opportunity-actions button:disabled,.opportunity-edit-controls button:disabled { opacity:.5; cursor:wait; }
.published-news-section { padding-bottom:20px; }
.published-news-heading { margin-bottom:24px; }
.published-news-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.published-news-card { padding:26px; border:1px solid #e2d8c3; border-top:4px solid #0b654a; background:#fff; }
.published-news-card > small { display:block; margin-top:13px; color:#8d1022; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.published-news-card h2 { margin:8px 0 12px; color:#073e2e; font-size:1.45rem; }
.published-news-card > p { margin:0; color:#514c43; line-height:1.75; white-space:pre-line; }
.status-pill { display:inline-block; padding:6px 9px; border-radius:999px; font-size:.74rem; font-weight:800; white-space:nowrap; }
.status-pill.is-active { background:#e2f3ea; color:#08623f; }
.status-pill.is-locked { background:#f8dfe2; color:#9f1429; }
.account-row-actions { display:flex; align-items:center; gap:7px; white-space:nowrap; }
.account-row-actions button { padding:6px 9px; border:1px solid #cfc4ae; background:#fff; color:#164f3d; font-weight:700; cursor:pointer; }
.account-row-actions button.danger { color:#a00f26; }
.protected-admin { color:#8b6a18; font-size:.78rem; }
.upgrade-panel { max-width:760px; }
.upgrade-panel > p:not(.section-kicker):not(.account-notice) { margin:8px 0 22px; color:#615b50; }

@keyframes account-panel-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

.article-mode-tabs {
  display: flex;
  gap: 8px;
  margin-top: 24px;
}

.article-mode-tabs a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: var(--white);
  border: 1px solid var(--green);
  color: var(--green);
  font-weight: 800;
  padding: 11px 16px;
  text-decoration:none;
  border-radius:0;
  min-height:42px;
}

.article-mode-tabs a.active {
  background: var(--green);
  color: var(--white);
}

.hero-grid {
  gap: clamp(34px, 4vw, 64px);
  grid-template-columns: minmax(370px, 0.78fr) minmax(560px, 1.22fr);
  min-height: 610px;
  padding-bottom: 58px;
  padding-top: 58px;
}

.hero h1 {
  font-size: clamp(40px, 3.35vw, 54px);
  line-height: 1.08;
  max-width: 590px;
}

.hero-lead {
  font-size: 16px;
  line-height: 1.72;
  margin-top: 22px;
}

.hero-visual {
  display: grid;
  margin: 12px 0;
  min-height: 0;
}

.hero-image-wrap {
  aspect-ratio: 1659 / 948;
  background: #efe7d3;
  box-shadow: 20px 20px 0 rgba(181, 154, 60, 0.14);
  height: auto;
  width: 100%;
}

.hero-image-wrap img {
  object-fit: contain;
}

.hero-note {
  justify-self: end;
  margin: -2px 0 0;
  max-width: 320px;
  position: static;
  width: min(100%, 320px);
}

@media (max-width: 1050px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero h1,
  .hero-lead {
    max-width: 760px;
  }
}

@media (max-width: 600px) {
  .container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .hero h1 {
    font-size: 38px;
  }

  .hero-image-wrap {
    height: auto;
  }
}

@media (max-width: 860px) {
  .published-news-grid { grid-template-columns:1fr; }
  .opportunity-toolbar { align-items:flex-start; flex-direction:column; }
  .opportunity-form { grid-template-columns:1fr; }
  .opportunity-form .span-two { grid-column:auto; }
  .opportunity-quick-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .opportunity-filters { grid-template-columns:1fr; align-items:stretch; }
  .opportunity-filters strong { justify-self:start; }
  .opportunity-edit-controls { align-items:flex-start; flex-direction:column; }
  .opportunity-list-item { padding:12px 13px; }
  .opportunity-list-details { grid-template-columns:1fr; gap:10px; }
  .profile-account-summary, .profile-data-grid, .profile-edit-form { grid-template-columns: 1fr; }
  .profile-edit-form .span-two { grid-column: auto; }
  .desktop-member { display: none; }
  .account-tabs button { width: 50%; }
}

/* Article publishing, visibility controls and full member records. */
.rich-article-editor { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rich-article-editor .span-two { grid-column:1 / -1; }
.rich-article-editor > .featured-image-field,.rich-article-editor > .rich-editor-field { display:grid; gap:10px; }
.featured-image-field { border:1px solid #d8cfbb; background:#fff; padding:18px; }
.featured-image-field > img { width:min(100%,520px); max-height:290px; object-fit:contain; background:#f4efe2; border:1px solid #e1d8c4; }
.featured-image-field > p { margin:0; color:var(--muted); }
.article-upload-button,.editor-toolbar label { display:inline-flex !important; align-items:center; justify-content:center; width:max-content; min-height:40px; padding:8px 14px; border:1px solid var(--green); color:var(--green); background:#fff; cursor:pointer; font-weight:800; }
.article-upload-button input,.editor-toolbar label input { display:none; }
.editor-help { margin:0; color:var(--muted); font-size:12px; font-weight:400; }
.rich-article-editor .editor-toolbar { display:flex; flex-wrap:wrap; gap:7px; padding:10px; border:1px solid #d8cfbb; border-bottom:0; background:#f5f0e4; }
.editor-toolbar button { min-height:38px; padding:7px 12px; border:1px solid #cfc4ae; background:#fff; color:var(--green-dark); font-weight:700; cursor:pointer; }
.rich-editor { min-height:360px; max-height:760px; overflow:auto; padding:22px; border:1px solid #d8cfbb; background:#fff; color:#28251f; line-height:1.75; font-family:Arial,sans-serif; font-weight:400; }
.rich-editor:focus { outline:3px solid rgba(12,99,72,.12); border-color:var(--green); }
.rich-editor img,.article-rich-content img { display:block; max-width:100%; height:auto; margin:18px auto; }
.rich-editor figure,.article-rich-content figure { margin:24px 0; text-align:center; }
.rich-editor figcaption,.article-rich-content figcaption { color:var(--muted); font-size:13px; font-style:italic; }
.editor-toolbar .word-import-button { background:var(--green); border-color:var(--green); color:#fff; }
.word-table-wrap { max-width:100%; overflow-x:auto; margin:18px 0; }
.rich-editor table,.article-rich-content table { width:100%; border-collapse:collapse; }
.rich-editor td,.article-rich-content td { padding:9px 11px; border:1px solid #d8cfbb; vertical-align:top; }
.word-list-item { padding-left:18px; }
.rich-article-editor > .article-form-actions { display:flex; align-items:end; gap:10px; }
.rich-article-list article { grid-template-columns:120px minmax(0,1fr) auto; }
.rich-article-list article > img { width:120px; height:88px; object-fit:cover; background:#eee7d6; }
.rich-article-list small { display:block; margin-top:9px; color:#6f695d; }
.article-author { display:block; margin:9px 0 0; color:#6f695d; font-size:12px; }
.article-detail-inner { max-width:1050px; }
.article-detail-cover { position:relative; aspect-ratio:16/8.5; background:#eee7d6; margin-bottom:24px; }
.article-detail-cover img { object-fit:cover; }
.article-detail-meta { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid var(--line); color:var(--red); font-size:12px; font-weight:800; text-transform:uppercase; }
.article-rich-content { padding:30px 0; color:#333027; font-size:17px; line-height:1.85; }
.article-rich-content h2,.article-rich-content h3 { color:var(--green-dark); margin-top:32px; }
.article-rich-content a { color:var(--red); text-decoration:underline; }
.article-stat-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:28px 0; }
.article-stat-summary div { display:grid; gap:5px; padding:18px; background:var(--cream); border-top:3px solid var(--green); }
.article-stat-summary strong { color:var(--red); font-size:28px; }
.article-stat-summary span { color:var(--muted); font-size:12px; }
.statistics-article-list { border:1px solid var(--line); }
.statistics-article-list h3 { margin:0; padding:17px 20px; background:var(--green-dark); color:#fff; }
.statistics-article-list > div { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; padding:14px 18px; border-top:1px solid var(--line); }
.statistics-article-list button,.account-view-button { padding:7px 11px; border:1px solid var(--green); background:#fff; color:var(--green); font-weight:800; cursor:pointer; }
.user-detail-link { display:grid; gap:4px; color:var(--green-dark); }
.user-detail-link small { color:var(--red); font-size:10px; }
.user-detail-button { width:100%; padding:0; border:0; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.user-detail-button:hover strong,.user-detail-button:focus-visible strong { text-decoration:underline; }
.account-row-actions .account-view-button { margin:0; text-decoration:none; }
.user-detail-page { padding-top:45px; }
.user-detail-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; padding-bottom:24px; border-bottom:3px solid var(--green); }
.user-detail-heading h1 { margin:5px 0 8px; color:var(--green-dark); font-size:clamp(28px,4vw,48px); }
.user-detail-heading p { margin:0; color:var(--muted); }
.user-detail-heading > div:last-child { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.user-account-summary,.user-profile-full { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:24px; }
.user-account-summary p,.user-profile-full p { display:grid; gap:6px; margin:0; padding:16px; border:1px solid #e2d8c3; background:#fff; overflow-wrap:anywhere; }
.user-account-summary b,.user-profile-full b { color:#746c5b; font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.backup-panel code { background:#f1ead8; border-radius:4px; color:#7e1524; padding:2px 6px; }
.backup-overview { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:28px; margin-top:22px; }
.backup-overview > div,.backup-overview > ol { margin:0; padding:24px; border:1px solid #e2d8c3; background:#fff; }
.backup-overview h3 { margin:0 0 10px; color:var(--green-dark); }
.backup-overview p { line-height:1.7; }
.backup-overview ol { padding-left:46px; background:#f8f4e8; }
.backup-overview li { padding:0 0 14px 5px; line-height:1.6; }
.backup-warning { margin:20px 0 0; padding:14px 16px; border-left:4px solid var(--red); background:#fff3f1; color:#6b2831; }

@media (max-width:860px) {
  .rich-article-editor,.article-stat-summary,.user-account-summary,.user-profile-full { grid-template-columns:1fr; }
  .rich-article-editor .span-two { grid-column:auto; }
  .rich-article-list article { grid-template-columns:90px minmax(0,1fr); }
  .rich-article-list article > div:last-child { grid-column:1 / -1; }
  .rich-article-list article > img { width:90px; height:75px; }
  .statistics-article-list > div { grid-template-columns:1fr; }
  .user-detail-heading { align-items:flex-start; flex-direction:column; }
  .user-detail-heading > div:last-child { justify-content:flex-start; }
  .backup-overview { grid-template-columns:1fr; }
}

/* Organization management, formal applications and fast administration filters. */
.organization-unit-form,.organization-member-form,.statistics-filters,.article-fast-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0; padding:20px; background:#f8f4e8; border:1px solid #e2d8c3; }
.organization-member-form { grid-template-columns:repeat(4,minmax(0,1fr)); }
.organization-unit-form label,.organization-member-form label,.statistics-filters label,.article-fast-filters label,.repost-link-import label { display:grid; gap:7px; color:#403b32; font-size:.82rem; font-weight:800; }
.organization-unit-form input,.organization-unit-form select,.organization-member-form input,.organization-member-form select,.statistics-filters input,.statistics-filters select,.article-fast-filters input,.article-fast-filters select,.repost-link-import input { width:100%; min-height:44px; padding:9px 11px; border:1px solid #d8cfbb; background:#fff; color:#222; font:inherit; font-weight:400; }
.organization-unit-form .span-two { grid-column:span 2; }
.organization-unit-form > div,.organization-member-form > div { display:flex; align-items:end; gap:8px; }
.organization-unit-tabs,.organization-public-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 14px; padding-bottom:12px; border-bottom:1px solid #d8cfbb; }
.organization-unit-tabs button,.organization-public-tabs button { min-height:42px; padding:9px 14px; border:1px solid var(--green); background:#fff; color:var(--green); font-weight:800; cursor:pointer; }
.organization-unit-tabs button.active,.organization-public-tabs button.active { background:var(--green); color:#fff; }
.organization-unit-actions { display:flex; justify-content:flex-end; gap:8px; }
.organization-unit-actions button,.organization-member-list article > div:last-child button,.statistics-filters > button,.article-fast-filters > button { align-self:end; min-height:40px; padding:8px 12px; border:1px solid #cdbf9f; background:#fff; color:var(--green); font-weight:800; cursor:pointer; }
.organization-unit-actions .danger,.organization-member-list article > div:last-child .danger { color:var(--red); }
.organization-member-list { display:grid; gap:12px; }
.organization-member-list article { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:16px; padding:16px; border:1px solid #e2d8c3; background:#fff; }
.organization-member-list h3,.organization-member-list p { margin:4px 0; }
.organization-member-list span,.organization-member-list small { color:var(--muted); font-size:.78rem; }
.organization-member-list article > div:last-child { display:flex; gap:7px; }
.organization-unit-intro { max-width:760px; margin:24px auto; text-align:center; }
.organization-unit-intro h2 { margin:0 0 8px; color:var(--green-dark); }
.organization-unit-intro p { color:var(--muted); line-height:1.7; }
.organization-public-chart { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:start; }
.organization-public-chart article { margin-top:calc((var(--organization-level,1) - 1) * 30px); padding:22px; border:1px solid #e2d8c3; border-top:4px solid var(--green); background:#fff; text-align:center; }
.organization-public-chart article > span { display:block; margin-top:12px; color:var(--red); font-size:.78rem; font-weight:800; text-transform:uppercase; }
.organization-public-chart h3 { margin:7px 0 15px; color:var(--green-dark); }
.organization-public-chart dl { margin:0; text-align:left; }
.organization-public-chart dl div { padding:9px 0; border-top:1px solid #eee6d6; }
.organization-public-chart dt { color:#7b7467; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.organization-public-chart dd { margin:4px 0 0; overflow-wrap:anywhere; }
.membership-rules { max-width:900px; }
.rules-lead,.rules-note { padding:16px 18px; background:#f8f4e8; border-left:4px solid var(--green); line-height:1.7; }
.membership-rules ol { display:grid; gap:10px; padding-left:0; list-style:none; counter-reset:rules; }
.membership-rules li { counter-increment:rules; display:grid; grid-template-columns:46px minmax(0,1fr); gap:4px 14px; padding:16px; border:1px solid #e2d8c3; background:#fff; }
.membership-rules li::before { content:counter(rules); grid-row:1 / span 2; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--green); color:#fff; font-weight:900; }
.membership-rules li span { color:var(--muted); line-height:1.6; }
.application-paper-page { min-height:100vh; padding:30px; background:#e9e9e9; }
.application-paper-toolbar { display:flex; justify-content:space-between; align-items:center; max-width:960px; margin:0 auto 15px; }
.application-paper-toolbar a { color:var(--green); font-weight:800; }
.application-paper { max-width:960px; margin:auto; padding:54px 64px; background:#fff; color:#111; box-shadow:0 8px 30px rgba(0,0,0,.12); font-family:"Times New Roman",serif; }
.application-paper header { text-align:center; }
.application-paper header strong,.application-paper header span { display:block; }
.application-paper header h1 { margin:32px 0 22px; font-size:25px; }
.application-paper header p { text-align:left; font-weight:700; }
.application-template header h1 { margin:32px 0 6px; font-size:25px; }
.application-template header h2 { margin:0 0 28px; color:#111; font-size:17px; }
.application-template-body { font-size:16px; line-height:1.55; text-align:justify; }
.application-template-body > p { margin:11px 0; }
.application-template-section { margin:20px 0; }
.application-template-section h3 { margin:0 0 10px; font-size:17px; }
.application-template-section p { margin:8px 0; padding-left:14px; }
.application-template-thanks { margin-top:18px !important; text-align:center; }
.application-template-footer { display:grid; grid-template-columns:46% 54%; gap:0; margin-top:25px; }
.application-template-footer > div { min-height:190px; }
.application-template-footer > div:first-child { padding-top:8px; }
.application-template-footer > div:first-child p { margin:5px 0; }
.application-template-footer > div:last-child { display:flex; flex-direction:column; align-items:center; gap:7px; text-align:center; }
.application-template-footer > div:last-child strong { margin-top:58px; font-size:18px; }
.application-paper-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:22px; border-top:1px solid #aaa; border-left:1px solid #aaa; }
.application-paper-grid p { display:grid; gap:4px; margin:0; padding:10px 12px; border-right:1px solid #aaa; border-bottom:1px solid #aaa; break-inside:avoid; }
.application-paper-grid b { font-size:.75rem; }
.application-paper-grid span { white-space:pre-line; }
.application-paper footer { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:35px; }
.application-paper footer > div:last-child { display:grid; gap:5px; text-align:center; }
.application-paper footer > div:last-child strong { margin-top:42px; font-size:18px; }
.application-actions a.button { text-decoration:none; }
.statistics-subheading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-top:35px; }
.statistics-subheading h3 { margin:5px 0 0; color:var(--green-dark); font-size:1.45rem; }
.statistics-filters { grid-template-columns:repeat(5,minmax(0,1fr)) auto; }
.statistics-opportunity-table { overflow-x:auto; border:1px solid #e2d8c3; }
.statistics-opportunity-table table { width:100%; border-collapse:collapse; min-width:1050px; }
.statistics-opportunity-table th,.statistics-opportunity-table td { padding:11px 13px; border-bottom:1px solid #e8e0cf; text-align:left; vertical-align:top; }
.statistics-opportunity-table th { background:var(--green-dark); color:#fff; font-size:.75rem; text-transform:uppercase; }
.statistics-attachment-link { display:block; margin-bottom:5px; color:var(--green); font-size:.82rem; font-weight:800; text-decoration:none; overflow-wrap:anywhere; }
.statistics-attachment-link:hover { text-decoration:underline; }
.article-fast-filters { grid-template-columns:repeat(4,minmax(0,1fr)) 110px; margin-bottom:18px; }
.news-filters { grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) 170px; }
.news-filters > a { width:170px; min-width:170px; text-align:center; display:flex; align-items:center; justify-content:center; }
.article-fast-filters + article { border-top:1px solid #e2d8c3; }
.article-admin-list > article.is-hidden { opacity:.45; filter:grayscale(.65); background:#f3f1eb; }
.article-admin-list > article.is-hidden .account-row-actions { opacity:1; filter:none; }
.repost-link-import { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; padding:18px; border:1px solid #cfbf92; background:#fff8df; }
.repost-link-import small { grid-column:1 / -1; color:var(--muted); }
.repost-auto-preview { display:grid !important; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); align-items:center; gap:20px; padding:20px; border:1px solid #d8cfbb; border-top:4px solid var(--green); background:#fff; }
.repost-auto-preview img { width:100%; max-height:250px; object-fit:cover; background:#eee7d6; }
.repost-auto-preview span { color:var(--red); font-size:.72rem; font-weight:900; text-transform:uppercase; }
.repost-auto-preview h3 { margin:8px 0; color:var(--green-dark); font-size:1.35rem; }
.repost-auto-preview p { margin:0 0 10px; color:var(--muted); line-height:1.65; }
.article-preview-notice { margin:0 0 20px; padding:14px 16px; border-left:4px solid var(--red); background:#fff3f1; color:#6b2831; }
.upgrade-tracker{margin-top:22px;padding:18px 20px;border:1px solid var(--line);border-left:5px solid #b78824;background:#fffdf7;display:flex;align-items:center;justify-content:space-between;gap:18px}.upgrade-tracker h3{margin:3px 0 8px;font-size:20px}.upgrade-tracker p{margin:4px 0}.upgrade-tracker.status-pending{border-left-color:#b78824}.upgrade-tracker.status-approved{border-left-color:#187047;background:#f0faf4}.upgrade-tracker.status-rejected{border-left-color:#b3132b;background:#fff3f3}@media(max-width:650px){.upgrade-tracker{display:block}.upgrade-tracker .button{margin-top:14px}}
.article-source-link { margin:15px 0 0; padding:12px 14px; background:#f8f4e8; border-left:3px solid var(--green); }
.article-source-link a { color:var(--red); font-weight:800; }
.account-row-actions a.account-view-button { display:inline-block; text-decoration:none; }
.article-category-checkboxes { margin:0; min-width:0; padding:14px 16px 16px; border:1px solid var(--line); background:#fff; }
.article-category-checkboxes legend { padding:0 5px; color:var(--green-dark); font-size:.84rem; font-weight:850; }
.article-category-checkboxes legend small { color:var(--muted); font-weight:600; }
.article-category-checkboxes > div { display:flex; flex-wrap:wrap; gap:8px 12px; }
.article-category-checkboxes label { display:inline-flex; align-items:center; gap:5px; width:auto; margin:0; padding:6px 9px; border:1px solid #dfd6c2; background:#faf8f1; color:#24443a; font-size:.82rem; cursor:pointer; }
.article-category-checkboxes input { width:auto; margin:0; accent-color:var(--green); }

@media (max-width:900px) {
  .organization-unit-form,.organization-member-form,.statistics-filters,.article-fast-filters,.organization-public-chart { grid-template-columns:1fr 1fr; }
  .statistics-filters > button,.article-fast-filters > button { align-self:stretch; }
}
@media (max-width:620px) {
  .organization-unit-form,.organization-member-form,.statistics-filters,.article-fast-filters,.organization-public-chart,.application-paper-grid { grid-template-columns:1fr; }
  .organization-unit-form .span-two { grid-column:auto; }
  .organization-member-list article { grid-template-columns:48px 1fr; }
  .organization-member-list article > div:last-child { grid-column:1 / -1; }
  .repost-link-import { grid-template-columns:1fr; }
  .repost-auto-preview { grid-template-columns:1fr; }
  .application-paper-page { padding:12px; }
  .application-paper { padding:30px 22px; }
  .application-paper footer { grid-template-columns:1fr; }
}

@media print {
  .application-paper-page { padding:0; background:#fff; }
  .application-paper-toolbar { display:none; }
  .application-paper { max-width:none; padding:0; box-shadow:none; }
  @page { size:A4; margin:16mm; }
}

/* V94 - Document management tabs and filters */
.document-mode-tabs{margin-top:18px;margin-bottom:18px}
.document-mode-tabs a{min-height:38px;padding:8px 14px;font-size:.84rem}
.document-form-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:22px 0 4px}
.document-form-heading h3{margin:4px 0 0;color:var(--green-dark);font-size:1.35rem}
.document-fast-filters{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(145px,.75fr) minmax(155px,.8fr) minmax(155px,.8fr) auto auto;align-items:end;gap:10px;margin:18px 0 10px;padding:14px;border:1px solid #e0d5bc;background:#f8f4e8}
.document-fast-filters label{display:grid;gap:5px;color:#4e493f;font-size:.76rem;font-weight:800}
.document-fast-filters input,.document-fast-filters select{width:100%;min-height:40px;padding:8px 10px;border:1px solid #d5c9b1;background:#fff;color:#222;font:inherit;font-weight:400}
.document-fast-filters .button{min-height:40px;padding:8px 12px;white-space:nowrap}
.document-filter-summary{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 8px;color:var(--muted);font-size:.82rem}
.document-filter-summary b{color:var(--green-dark)}
.document-row-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.document-row-actions form{display:inline-flex}
.document-row-actions a,.document-row-actions button{margin-left:0!important}
.document-row-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid #cfc4ae;background:#fff;color:#164f3d;text-decoration:none;font-weight:800;font-size:.8rem}
.document-row-actions .document-view-button{border-color:var(--green);background:var(--green);color:#fff}
.document-row-actions .document-link-button{border-color:#b88b24;color:#805c08;background:#fffaf0}
.document-detail-card{border:1px solid var(--line);background:#fff;padding:26px;box-shadow:0 10px 30px rgba(42,38,29,.06)}
.document-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:20px 0}
.document-detail-grid div{border-bottom:1px solid #eee5d3;padding-bottom:11px}
.document-detail-grid span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.document-detail-grid strong{display:block;margin-top:5px;color:var(--green-dark);font-size:1rem}
.document-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.document-detail-actions a{text-decoration:none}
@media(max-width:620px){.document-detail-grid{grid-template-columns:1fr}}
@media(max-width:900px){.document-fast-filters{grid-template-columns:1fr 1fr}.document-fast-filters .button{width:100%}}
@media(max-width:620px){.document-fast-filters{grid-template-columns:1fr}.document-mode-tabs{display:grid;grid-template-columns:1fr 1fr}.document-mode-tabs a{padding:8px 6px;text-align:center}.document-form-heading,.document-filter-summary{align-items:flex-start;flex-direction:column}.document-row-actions{justify-content:flex-start}}
.document-current-file{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px dashed #cfc4ae;background:#fffaf0;font-size:.82rem}
.document-current-file a{font-weight:800;color:var(--green)}
.document-current-file small{width:100%;color:var(--muted);overflow-wrap:anywhere}
.doc-detail-link{margin-left:10px;font-size:.82rem;opacity:.82}

/* V97: trạng thái lưu tệp/link văn kiện */
.document-storage-state{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px!important}
.document-storage-state span{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:.72rem;font-weight:800;border:1px solid #d8cfbc;background:#fff}
.document-storage-state .has-data{color:#17633f;border-color:#a7cfb7;background:#edf8f1}
.document-storage-state .no-data{color:#8a403f;border-color:#e2c1bd;background:#fff4f2}
.document-storage-state small{color:var(--muted);overflow-wrap:anywhere}


/* V100: 4 nhóm quản lý nằm trong menu dọc Quản lý; tab chức năng nằm ngang */
.account-subtabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;padding:0 0 14px;border-bottom:3px solid #0b654a}
.account-subtabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #0b654a;background:#fff;color:#0b654a;font-size:14px;font-weight:800;text-decoration:none}
.account-subtabs a:hover{background:#f4efe1;color:#0b654a}
.account-subtabs a.active{background:#0b654a;color:#fff;box-shadow:0 6px 16px rgba(11,101,74,.15)}
.management-submenu{min-width:245px}
.management-submenu a.active{background:#f4efe1;color:var(--red);border-left:4px solid var(--red);padding-left:14px}
@media(max-width:620px){.account-subtabs a{width:100%}}


/* Menu thả xuống và chuyên trang dạng báo */
.trade-menu{height:52px;position:relative}
.trade-menu>button{align-items:center;background:transparent;border:0;color:rgba(255,255,255,.88);cursor:pointer;display:flex;font:inherit;font-size:13px;font-weight:700;gap:7px;height:52px;letter-spacing:.035em;padding:0 20px;text-transform:uppercase}
.trade-menu.active>button,.trade-menu>button:hover,.trade-menu:focus-within>button{background:var(--red);color:var(--white)}
.trade-submenu{background:var(--white);box-shadow:0 14px 32px rgba(0,0,0,.18);display:none;left:0;min-width:245px;position:absolute;top:52px;z-index:31}
.trade-menu:hover .trade-submenu,.trade-menu:focus-within .trade-submenu,.trade-menu.is-open .trade-submenu{display:grid}
.trade-submenu a{border-bottom:1px solid var(--line);color:var(--green-dark);font-size:13px;font-weight:700;padding:14px 18px;text-decoration:none}
.trade-submenu a:hover{background:var(--cream);color:var(--red)}
.trade-submenu a.active{background:#f4efe1;color:var(--red);border-left:4px solid var(--red);padding-left:14px}
.trade-editorial-section{padding-top:54px}
.trade-editorial-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.trade-editorial-heading h2{margin:5px 0 0;color:var(--green-dark);font-size:clamp(1.65rem,3vw,2.45rem)}
.trade-editorial-heading>span{flex:0 0 auto;background:var(--green-dark);color:#fff;font-size:.82rem;font-weight:850;padding:9px 12px}
.trade-editorial-filter{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:10px;margin-bottom:28px;padding:14px;border:1px solid #e0d5bc;background:#f8f4e8}
.trade-editorial-filter label{display:grid;gap:6px;color:#4e493f;font-size:.78rem;font-weight:800}
.trade-editorial-filter input{min-height:42px;width:100%;padding:9px 11px;border:1px solid #d5c9b1;background:#fff;font:inherit}
.trade-editorial-filter button,.trade-editorial-filter a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid var(--red);background:var(--red);color:#fff;font-weight:850;text-decoration:none}
.trade-editorial-filter a{border-color:#cfc4ae;background:#fff;color:var(--green-dark)}
.trade-editorial-empty{padding:42px;border:1px solid var(--line);background:#fff;text-align:center}
.trade-editorial-empty strong{display:block;color:var(--green-dark);font-size:1.2rem}.trade-editorial-empty p{margin-bottom:0;color:var(--muted)}
.trade-editorial-lead{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);min-height:430px;margin-bottom:30px;border-top:4px solid var(--green-dark);border-bottom:1px solid var(--line);background:#fff}
.trade-editorial-lead-image{display:block;min-height:430px;overflow:hidden;background:#eee5d3}
.trade-editorial-lead-image img{width:100%;height:100%;min-height:430px;object-fit:cover;transition:transform .3s ease}.trade-editorial-lead:hover img{transform:scale(1.015)}
.trade-editorial-lead-copy{display:flex;flex-direction:column;justify-content:center;padding:38px}
.trade-editorial-label{display:inline-block;align-self:flex-start;margin-bottom:12px;color:var(--red);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.trade-editorial-lead h2{margin:0 0 14px;font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.13}.trade-editorial-lead h2 a,.trade-editorial-card h3 a{color:var(--green-dark);text-decoration:none}.trade-editorial-lead h2 a:hover,.trade-editorial-card h3 a:hover{color:var(--red)}
.trade-editorial-lead p{margin:0 0 18px;color:#4b514c;font-size:1rem;line-height:1.75}
.trade-editorial-meta{display:flex;flex-wrap:wrap;gap:9px 16px;margin-bottom:18px;color:var(--muted);font-size:.78rem}.trade-editorial-meta span{font-weight:800;color:#53655e}.trade-editorial-meta time{white-space:nowrap}
.trade-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.trade-editorial-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;min-width:0}
.trade-editorial-card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#eee5d3}.trade-editorial-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.trade-editorial-card:hover img{transform:scale(1.02)}
.trade-editorial-card-copy{display:flex;flex:1;flex-direction:column;padding:20px}.trade-editorial-card h3{margin:0 0 10px;font-size:1.25rem;line-height:1.28}.trade-editorial-card p{margin:0 0 16px;color:#58605b;line-height:1.65}.trade-editorial-card .trade-editorial-meta{margin-top:auto}
@media(max-width:980px){.trade-editorial-lead{grid-template-columns:1fr}.trade-editorial-lead-image,.trade-editorial-lead-image img{min-height:320px}.trade-editorial-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.trade-menu{height:auto}.trade-menu>button{border-bottom:1px solid rgba(255,255,255,.12);justify-content:space-between;padding:0 4px;width:100%}.trade-menu.active>button,.trade-menu>button:hover,.trade-menu:focus-within>button{background:transparent;color:var(--gold-light)}.trade-submenu{background:rgba(0,0,0,.13);box-shadow:none;min-width:0;position:static}.trade-submenu a{border-bottom-color:rgba(255,255,255,.08);color:rgba(255,255,255,.86);padding:14px 22px}.trade-submenu a.active{background:rgba(255,255,255,.08);border-left-color:var(--gold-light);color:var(--gold-light)}}
@media(max-width:650px){.trade-editorial-heading{align-items:flex-start;flex-direction:column}.trade-editorial-filter{grid-template-columns:1fr}.trade-editorial-lead-copy{padding:24px}.trade-editorial-lead-image,.trade-editorial-lead-image img{min-height:240px}.trade-editorial-grid{grid-template-columns:1fr}}


/* V103: Ngành nghề doanh nghiệp liên kết + danh sách doanh nghiệp */
.business-sector-checkboxes{border:1px solid #ddcfb7;padding:16px;background:#fffdf8}.business-sector-checkboxes legend{font-weight:800;color:#063f32;padding:0 8px}.business-sector-checkboxes legend small{font-weight:500;color:#777}.business-sector-checkboxes>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 14px;margin-top:6px}.business-sector-checkboxes label{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid #eee2cf;background:#fff;cursor:pointer;line-height:1.35}.business-sector-checkboxes input{margin-top:3px}.business-sector-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.business-sector-tags span{display:inline-flex;padding:5px 9px;border:1px solid #b7d3c4;background:#eef8f2;color:#07513e;font-size:12px;font-weight:700;border-radius:999px}.business-sector-tags.compact{margin:6px 0}.business-sector-tags.compact span{padding:3px 7px;font-size:11px}.article-business-sectors{margin:16px 0 24px}
.partner-directory-section{background:#fbfaf6}.partner-directory-filter{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,.7fr) auto auto;gap:12px;align-items:end;padding:16px;border:1px solid #dfd1b8;background:#f7f1e5;margin:18px 0}.partner-directory-filter label{font-weight:700;font-size:13px}.partner-directory-filter input,.partner-directory-filter select{display:block;width:100%;height:44px;margin-top:6px;border:1px solid #d6c6aa;background:#fff;padding:0 12px}.partner-directory-filter button,.partner-directory-filter a{height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid #b71128;font-weight:800;text-decoration:none}.partner-directory-filter button{background:#b71128;color:#fff}.partner-directory-filter a{background:#fff;color:#063f32;border-color:#d6c6aa}.partner-directory-list{display:grid;gap:12px}.partner-directory-item{display:grid;grid-template-columns:180px 1fr;gap:22px;padding:18px;border:1px solid #e1d5c0;background:#fff}.partner-directory-logo{height:130px;border:1px solid #eee4d3;background:#faf8f3;display:flex;align-items:center;justify-content:center;overflow:hidden}.partner-directory-logo img{width:100%;height:100%;object-fit:cover}.partner-directory-body h3{font-size:22px;margin:0 0 4px}.partner-directory-body h3 a{color:#082f27;text-decoration:none}.partner-directory-body p{margin:6px 0 10px;color:#4d564f;line-height:1.65}.partner-directory-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #eee6d8;padding-top:10px;font-size:13px;color:#6a6a64}.partner-directory-meta a{font-weight:800;color:#a80f23;text-decoration:none}.partner-directory-meta a:hover{text-decoration:underline}
@media(max-width:900px){.business-sector-checkboxes>div{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-directory-filter{grid-template-columns:1fr 1fr}.partner-directory-item{grid-template-columns:140px 1fr}}
@media(max-width:640px){.business-sector-checkboxes>div{grid-template-columns:1fr}.partner-directory-filter{grid-template-columns:1fr}.partner-directory-item{grid-template-columns:1fr}.partner-directory-logo{height:180px}.partner-directory-meta{align-items:flex-start;flex-direction:column}}


/* V104: Hồ sơ doanh nghiệp dùng logo đính kèm + thông tin liên hệ */
.partner-contact-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.partner-contact-fields label{min-width:0}.partner-logo-upload{display:block}.partner-logo-upload input[type=file]{display:block;width:100%;margin-top:7px;padding:10px;border:1px dashed #cbb998;background:#fff}.partner-current-logo{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px;border:1px solid #e4d8c5;background:#fffdf8}.partner-current-logo img{width:84px;height:64px;object-fit:contain;background:#fff;border:1px solid #eee4d3;padding:5px}.partner-current-logo em{font-style:normal;color:#66716a;font-size:13px}.partner-directory-logo{padding:10px}.partner-directory-logo img{object-fit:contain;background:#fff}.partner-directory-contact{display:flex;flex-wrap:wrap;gap:7px 18px;margin:10px 0;padding:10px 12px;background:#f7f9f6;border-left:3px solid #0c5b46;font-size:13px}.partner-directory-contact span,.partner-directory-contact a{color:#34453e;text-decoration:none}.partner-directory-contact a:hover{text-decoration:underline}.partner-admin-card>img{object-fit:contain!important;background:#fff!important;padding:7px}.partner-admin-contact{display:flex;flex-wrap:wrap;gap:5px 14px;margin:6px 0;font-size:12px;color:#53625c}.partner-logo-detail-cover{background:#faf8f3;display:flex;align-items:center;justify-content:center;padding:28px}.partner-logo-detail-cover img{max-height:360px;object-fit:contain!important}.partner-detail-contact{display:grid;grid-template-columns:1.1fr .8fr 1.2fr;gap:12px;margin:12px 0 24px}.partner-detail-contact>div{padding:13px 15px;border:1px solid #e1d5c0;background:#fbfaf6}.partner-detail-contact small{display:block;color:#6b746f;margin-bottom:5px}.partner-detail-contact strong,.partner-detail-contact a,.partner-detail-contact span{font-size:15px;color:#073f32;text-decoration:none}.partner-detail-contact a:hover{text-decoration:underline}
@media(max-width:800px){.partner-contact-fields,.partner-detail-contact{grid-template-columns:1fr}.partner-current-logo{align-items:flex-start}}


/* V106: Menu Thành viên 4 mục + danh sách thành viên */
.member-menu{height:52px;position:relative}
.member-menu>button{align-items:center;background:transparent;border:0;color:rgba(255,255,255,.88);cursor:pointer;display:flex;font:inherit;font-size:13px;font-weight:700;gap:7px;height:52px;letter-spacing:.035em;padding:0 20px;text-transform:uppercase}
.member-menu.active>button,.member-menu>button:hover,.member-menu:focus-within>button{background:var(--red);color:var(--white)}
.member-submenu{background:var(--white);box-shadow:0 14px 32px rgba(0,0,0,.18);display:none;left:0;min-width:245px;position:absolute;top:52px;z-index:32}
.member-menu:hover .member-submenu,.member-menu:focus-within .member-submenu,.member-menu.is-open .member-submenu{display:grid}
.member-submenu a{border-bottom:1px solid var(--line);color:var(--green-dark);font-size:13px;font-weight:700;padding:14px 18px;text-decoration:none}
.member-submenu a:hover{background:var(--cream);color:var(--red)}
.member-submenu a.active{background:#f4efe1;color:var(--red);border-left:4px solid var(--red);padding-left:14px}
.member-directory-filter{display:grid;grid-template-columns:minmax(260px,1fr) minmax(230px,.45fr) auto auto;gap:10px;align-items:end;margin:0 0 24px;padding:14px;border:1px solid #e0d5bc;background:#f8f4e8}
.member-directory-filter label{display:grid;gap:6px;color:#4e493f;font-size:.78rem;font-weight:800}
.member-directory-filter input,.member-directory-filter select{width:100%;min-height:44px;border:1px solid #d5c9b1;background:#fff;padding:9px 11px;font:inherit}
.public-member-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.public-member-card{display:grid;grid-template-columns:68px minmax(0,1fr);gap:16px;align-items:start;padding:20px;border:1px solid var(--line);border-top:3px solid var(--green-dark);background:#fff}
.public-member-monogram{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:#f3eddf;border:1px solid #ddcfb7;color:var(--red);font-family:var(--font-serif);font-size:1.7rem;font-weight:800}
.public-member-level{display:inline-block;margin-bottom:6px;color:var(--red);font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.public-member-copy h3{margin:0 0 7px;color:var(--green-dark);font-size:1.22rem}
.public-member-copy p{margin:0;color:#4e5852;line-height:1.55}
.public-member-industry{margin-top:10px;padding-top:10px;border-top:1px solid #eee6d8;color:var(--muted);font-size:.86rem;line-height:1.55}
@media(max-width:900px){.member-menu{height:auto}.member-menu>button{border-bottom:1px solid rgba(255,255,255,.12);justify-content:space-between;padding:0 4px;width:100%}.member-menu.active>button,.member-menu>button:hover,.member-menu:focus-within>button{background:transparent;color:var(--gold-light)}.member-submenu{background:rgba(0,0,0,.13);box-shadow:none;min-width:0;position:static}.member-submenu a{border-bottom-color:rgba(255,255,255,.08);color:rgba(255,255,255,.86);padding:14px 22px}.member-submenu a.active{background:rgba(255,255,255,.08);border-left-color:var(--gold-light);color:var(--gold-light)}.member-directory-filter{grid-template-columns:1fr 1fr}.public-member-directory{grid-template-columns:1fr}}
@media(max-width:620px){.member-directory-filter{grid-template-columns:1fr}.public-member-card{grid-template-columns:54px minmax(0,1fr);padding:16px}.public-member-monogram{width:50px;height:50px;font-size:1.3rem}}


/* V107: Điều kiện thành viên - 2 bảng phân cấp/phân quyền + form đăng ký mở theo nút */
.member-conditions-section{background:#fbfaf6}
.member-conditions-heading{max-width:900px;margin-bottom:28px}
.member-conditions-heading>p:last-child{color:#58615c;line-height:1.7;margin:10px 0 0}
.member-condition-block{margin:0 0 34px}
.member-condition-block>h3{margin:0;padding:17px 20px;border:1px solid #cdbf9f;border-bottom:0;background:#fff;color:#111;text-align:center;font-size:1.18rem;letter-spacing:.015em}
.member-table-wrap{width:100%;overflow-x:auto;border:1px solid #cdbf9f;background:#fff}
.member-policy-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff;color:#151515}
.member-policy-table th,.member-policy-table td{border:1px solid #b9b1a2;padding:12px 14px;vertical-align:middle;line-height:1.5}
.member-policy-table th{background:#f6f2e8;color:#111;font-weight:850;text-align:center}
.member-groups-table th:nth-child(1){width:26%}.member-groups-table th:nth-child(2){width:14%}.member-groups-table th:nth-child(3){width:60%}
.member-groups-table td:nth-child(1),.member-groups-table td:nth-child(2){text-align:center}.member-groups-table td:nth-child(2) b{font-style:italic}
.member-groups-table ol{margin:0;padding-left:20px}.member-groups-table li+li{margin-top:5px}
.member-permission-table{min-width:1120px}.member-permission-table th:first-child{width:34%;min-width:360px}.member-permission-table td:first-child{font-weight:650}.member-permission-table th:not(:first-child),.member-permission-table td:not(:first-child){text-align:center;white-space:nowrap}
.member-permission-table tbody tr:nth-child(even){background:#fdfbf6}
.member-permission-table .permission-yes{color:#0b654a;font-weight:850}.member-permission-table .permission-no{color:#7c7167;font-weight:700}
.member-registration-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px 20px 4px;text-align:center}.member-registration-cta p{margin:0;color:#4b544f}.member-register-button{min-width:290px;justify-content:center}
#dang-ky{scroll-margin-top:80px}
@media(max-width:700px){.member-condition-block>h3{font-size:1rem;padding:14px 12px}.member-policy-table th,.member-policy-table td{padding:10px 11px;font-size:.88rem}.member-register-button{min-width:0;width:100%}}


/* V118 - Cân đối lại khối thông tin ở hero cho toàn bộ các tab nội dung. */
.inner-hero.has-info-aside .inner-hero-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(470px, .92fr);
  gap: 54px;
  padding-top: 44px;
  padding-bottom: 44px;
}

.inner-hero.has-info-aside .inner-hero-copy > p:last-of-type {
  font-size: 16px;
  line-height: 1.7;
}

.inner-hero-info {
  align-self: center;
  gap: 18px;
  padding: 8px 0;
}

.inner-hero-info-brand {
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 15px;
  padding: 0 0 15px;
  border-bottom: 1px solid rgba(255,255,255,.30);
}

.inner-hero img.inner-hero-brand-logo {
  width: 70px;
  height: 67px;
}

.inner-hero-info-brand span {
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.45;
  color: rgba(255,255,255,.74);
}

.inner-hero-info-brand strong {
  margin-top: 4px;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--gold-light);
}

.inner-hero-info-facts {
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 0;
}

.inner-hero-info-facts > div {
  min-height: 116px;
  padding: 14px 17px 12px;
  border-left: 2px solid rgba(217,183,74,.9);
}

.inner-hero-info-facts small {
  font-size: .67rem;
  letter-spacing: .05em;
}

.inner-hero-info-facts b {
  margin-top: 7px;
  font-size: .96rem;
  line-height: 1.35;
}

.inner-hero-info-facts span {
  margin-top: 6px;
  font-size: .80rem;
  line-height: 1.5;
  color: rgba(255,255,255,.72);
}

/* Không còn dùng dải nhãn nhỏ phía dưới ở bất kỳ tab nào. */
.inner-hero-info-tags { display:none !important; }

/* Chuẩn chữ/cân đối cho các hero chuyên trang. */
.trade-inner-hero .inner-hero-grid {
  grid-template-columns: minmax(0, 1.04fr) minmax(470px, .96fr);
  gap: 50px;
  padding-top: 44px;
  padding-bottom: 44px;
}

@media (max-width: 1100px) {
  .inner-hero.has-info-aside .inner-hero-grid,
  .trade-inner-hero .inner-hero-grid {
    grid-template-columns: minmax(0,1fr) minmax(420px,.9fr);
    gap: 34px;
  }
  .inner-hero-info-facts > div { padding-left: 13px; padding-right: 13px; }
}

@media (max-width: 900px) {
  .inner-hero.has-info-aside .inner-hero-grid,
  .trade-inner-hero .inner-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-top: 38px;
    padding-bottom: 38px;
  }
  .inner-hero-info { width:100%; }
}

@media (max-width: 600px) {
  .inner-hero-info-brand { grid-template-columns: 58px minmax(0,1fr); }
  .inner-hero img.inner-hero-brand-logo { width:58px; height:55px; }
  .inner-hero-info-brand span { font-size:.72rem; }
  .inner-hero-info-brand strong { font-size:.92rem; }
  .inner-hero-info-facts { grid-template-columns:1fr; }
  .inner-hero-info-facts > div {
    min-height:0;
    padding:12px 13px;
    border-left:2px solid rgba(217,183,74,.9);
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .inner-hero-info-facts b { font-size:.92rem; }
  .inner-hero-info-facts span { font-size:.78rem; }
}

/* V119 - Tăng mạnh cỡ chữ khối thông tin bên phải của hero trên toàn bộ các tab. */
.inner-hero.has-info-aside .inner-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(520px, 1fr);
  gap: 58px;
}

.inner-hero-info {
  gap: 22px;
}

.inner-hero-info-brand {
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 17px;
  padding-bottom: 18px;
}

.inner-hero img.inner-hero-brand-logo {
  width: 80px;
  height: 76px;
}

.inner-hero-info-brand span {
  font-size: .88rem;
  line-height: 1.45;
  font-weight: 800;
}

.inner-hero-info-brand strong {
  margin-top: 5px;
  font-size: 1.16rem;
  line-height: 1.32;
}

.inner-hero-info-facts > div {
  min-height: 132px;
  padding: 17px 19px 15px;
  border-left-width: 3px;
}

.inner-hero-info-facts small {
  font-size: .76rem;
  letter-spacing: .06em;
}

.inner-hero-info-facts b {
  margin-top: 8px;
  font-size: 1.08rem;
  line-height: 1.32;
}

.inner-hero-info-facts span {
  margin-top: 7px;
  font-size: .91rem;
  line-height: 1.48;
  color: rgba(255,255,255,.78);
}

.trade-inner-hero .inner-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(520px, 1fr);
  gap: 54px;
}

@media (max-width: 1180px) {
  .inner-hero.has-info-aside .inner-hero-grid,
  .trade-inner-hero .inner-hero-grid {
    grid-template-columns: minmax(0,1fr) minmax(465px,.95fr);
    gap: 38px;
  }
  .inner-hero-info-brand { grid-template-columns:72px minmax(0,1fr); }
  .inner-hero img.inner-hero-brand-logo { width:72px; height:69px; }
  .inner-hero-info-brand span { font-size:.82rem; }
  .inner-hero-info-brand strong { font-size:1.06rem; }
  .inner-hero-info-facts > div { padding-left:15px; padding-right:15px; }
  .inner-hero-info-facts b { font-size:1rem; }
  .inner-hero-info-facts span { font-size:.84rem; }
}

@media (max-width: 900px) {
  .inner-hero.has-info-aside .inner-hero-grid,
  .trade-inner-hero .inner-hero-grid {
    grid-template-columns:1fr;
  }
  .inner-hero-info {
    max-width:none;
    width:100%;
  }
  .inner-hero-info-facts > div {
    min-height:116px;
  }
}

@media (max-width: 600px) {
  .inner-hero-info-brand { grid-template-columns:62px minmax(0,1fr); }
  .inner-hero img.inner-hero-brand-logo { width:62px; height:59px; }
  .inner-hero-info-brand span { font-size:.78rem; }
  .inner-hero-info-brand strong { font-size:1rem; }
  .inner-hero-info-facts > div { min-height:0; padding:14px 15px; }
  .inner-hero-info-facts small { font-size:.70rem; }
  .inner-hero-info-facts b { font-size:1rem; }
  .inner-hero-info-facts span { font-size:.86rem; }
}


/* V120 - Cân đối thật sự phần thông tin bên phải của hero.
   Dùng px + !important để không bị các rule cũ nhỏ hơn ghi đè. */
.inner-hero.has-info-aside .inner-hero-grid,
.trade-inner-hero .inner-hero-grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(560px, .95fr) !important;
  gap: 52px !important;
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}

.inner-hero-info {
  width: 100% !important;
  align-self: center !important;
  gap: 22px !important;
  padding: 8px 0 !important;
}

.inner-hero-info-brand {
  grid-template-columns: 86px minmax(0, 1fr) !important;
  gap: 18px !important;
  padding-bottom: 18px !important;
}

.inner-hero img.inner-hero-brand-logo {
  width: 86px !important;
  height: 82px !important;
}

.inner-hero-info-brand span {
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}

.inner-hero-info-brand strong {
  margin-top: 5px !important;
  font-size: 19px !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;
}

.inner-hero-info-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

.inner-hero-info-facts > div {
  min-height: 142px !important;
  padding: 18px 20px 16px !important;
  border-left: 3px solid rgba(217,183,74,.92) !important;
}

.inner-hero-info-facts small {
  font-size: 12px !important;
  line-height: 1.2 !important;
  letter-spacing: .06em !important;
}

.inner-hero-info-facts b {
  margin-top: 9px !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

.inner-hero-info-facts span {
  margin-top: 7px !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
  color: rgba(255,255,255,.80) !important;
}

/* Bỏ hoàn toàn nhãn/nút nhỏ ở đáy hero trên mọi trang. */
.inner-hero-info-tags,
.trade-hero-categories {
  display: none !important;
}

@media (max-width: 1220px) {
  .inner-hero.has-info-aside .inner-hero-grid,
  .trade-inner-hero .inner-hero-grid {
    grid-template-columns: minmax(0,1fr) minmax(500px,.95fr) !important;
    gap: 36px !important;
  }
  .inner-hero-info-brand span { font-size: 13px !important; }
  .inner-hero-info-brand strong { font-size: 18px !important; }
  .inner-hero-info-facts b { font-size: 15px !important; }
  .inner-hero-info-facts span { font-size: 13px !important; }
}

@media (max-width: 980px) {
  .inner-hero.has-info-aside .inner-hero-grid,
  .trade-inner-hero .inner-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .inner-hero-info { max-width: none !important; }
}

@media (max-width: 650px) {
  .inner-hero-info-brand {
    grid-template-columns: 68px minmax(0,1fr) !important;
  }
  .inner-hero img.inner-hero-brand-logo {
    width: 68px !important;
    height: 65px !important;
  }
  .inner-hero-info-brand span { font-size: 12px !important; }
  .inner-hero-info-brand strong { font-size: 17px !important; }
  .inner-hero-info-facts { grid-template-columns: 1fr !important; }
  .inner-hero-info-facts > div {
    min-height: 0 !important;
    padding: 14px 15px !important;
  }
  .inner-hero-info-facts small { font-size: 11px !important; }
  .inner-hero-info-facts b { font-size: 15px !important; }
  .inner-hero-info-facts span { font-size: 13px !important; }
}


/* V122 - Rich editor: căn lề + cỡ chữ và ưu tiên định dạng tác giả/Word. */
.rich-toolbar { align-items:center; }
.rich-toolbar-group { display:inline-flex; flex-wrap:wrap; gap:7px; align-items:center; }
.rich-font-size-control { display:inline-flex !important; align-items:center; gap:8px; min-height:38px !important; padding:5px 8px !important; background:#fff !important; color:var(--green-dark) !important; border:1px solid #cfc4ae !important; font-size:13px; font-weight:800; }
.rich-font-size-control select { min-width:100px; height:30px; padding:3px 6px; border:1px solid #d8cfbb; background:#fff; color:#222; font:inherit; }
.editor-toolbar label input,.rich-toolbar label input { display:none; }
.rich-editor span[style*="font-size"],.article-rich-content span[style*="font-size"] { line-height:inherit; }

/* CSS cũ căn đều toàn bộ .content-section p bằng !important. Các rule dưới đây
   bảo đảm căn giữa/phải/trái từ Word hoặc trình soạn thảo không bị ghi đè. */
.rich-editor [style*="text-align:center"],.rich-editor [style*="text-align: center"],
.article-rich-content [style*="text-align:center"],.article-rich-content [style*="text-align: center"] { text-align:center !important; }
.rich-editor [style*="text-align:right"],.rich-editor [style*="text-align: right"],
.article-rich-content [style*="text-align:right"],.article-rich-content [style*="text-align: right"] { text-align:right !important; }
.rich-editor [style*="text-align:left"],.rich-editor [style*="text-align: left"],
.article-rich-content [style*="text-align:left"],.article-rich-content [style*="text-align: left"] { text-align:left !important; }
.rich-editor [style*="text-align:justify"],.rich-editor [style*="text-align: justify"],
.article-rich-content [style*="text-align:justify"],.article-rich-content [style*="text-align: justify"] { text-align:justify !important; text-justify:inter-word; }
@media(max-width:760px){.rich-toolbar{align-items:stretch}.rich-toolbar-group{width:100%}.rich-font-size-control{width:max-content}}


/* V123: billion-VND statistics alignment */
.hero-meta.expanded .money-stat { text-align:center; justify-items:center; align-content:start; }
.hero-meta.expanded .money-stat strong { width:100%; text-align:center; font-variant-numeric:tabular-nums; }
.hero-meta.expanded .money-stat span { width:100%; text-align:center; }
.statistics-editor .money-billion { text-align:center; }
.statistics-editor .money-billion input { text-align:center; font-variant-numeric:tabular-nums; font-weight:700; }
.statistics-editor .money-billion small { display:block; text-align:center; }

/* V124 - Bộ lọc thống nhất cho các màn hình quản lý và Văn kiện tổ chức */
.management-fast-filters,
.public-document-filters {
  display:grid;
  gap:12px;
  align-items:end;
  margin:18px 0 8px;
  padding:16px;
  background:#f8f4e9;
  border:1px solid #ddd0b6;
}
.management-fast-filters-3 { grid-template-columns:minmax(260px,1.6fr) minmax(180px,.8fr) minmax(180px,.8fr) auto auto; }
.management-fast-filters-2 { grid-template-columns:minmax(320px,1.8fr) minmax(190px,.8fr) auto auto; }
.public-document-filters { grid-template-columns:minmax(230px,1.45fr) repeat(3,minmax(150px,.8fr)) auto auto; margin-top:0; }
.management-fast-filters label,
.public-document-filters label {
  display:grid;
  gap:7px;
  margin:0;
  color:#17291f;
  font-size:13px;
  font-weight:800;
}
.management-fast-filters input,
.management-fast-filters select,
.public-document-filters input,
.public-document-filters select {
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid #d5c7aa;
  border-radius:3px;
  background:#fff;
  color:#1d2a23;
  font:inherit;
  font-weight:500;
}
.management-fast-filters input:focus,
.management-fast-filters select:focus,
.public-document-filters input:focus,
.public-document-filters select:focus {
  outline:2px solid rgba(0,79,55,.15);
  border-color:#00543c;
}
.management-fast-filters .button,
.public-document-filters button,
.public-document-filters a {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:9px 15px;
  white-space:nowrap;
  text-decoration:none;
  font-weight:800;
  border-radius:2px;
}
.public-document-filters button { border:1px solid #b70f20; background:#b70f20; color:#fff; cursor:pointer; }
.public-document-filters a { border:1px solid #cfc2a7; background:#fff; color:#004b35; }
.management-filter-summary {
  margin:7px 0 14px;
  color:#667167;
  font-size:13px;
}
.management-filter-summary b { color:#004b35; }
.public-document-filter-summary { margin-top:0; }

@media(max-width:1180px){
  .management-fast-filters-3,
  .public-document-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .management-fast-filters-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px){
  .management-fast-filters,
  .management-fast-filters-2,
  .management-fast-filters-3,
  .public-document-filters { grid-template-columns:1fr; }
  .management-fast-filters .button,
  .public-document-filters button,
  .public-document-filters a { width:100%; }
}


/* V241 - Dòng chảy kết nối 20 tin: đồng cấp đồng kích thước, không tạo ô trống. */
.connection-flow-section { background:#fbfaf6; }
.connection-flow-intro { max-width:760px; margin:10px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.connection-flow-grid {
  display:grid;
  grid-template-columns:repeat(20,minmax(0,1fr));
  gap:18px;
  margin-top:36px;
  align-items:stretch;
}
.connection-flow-card {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  background:#fff;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.connection-flow-card:hover { transform:translateY(-2px); border-color:#cdbb98; box-shadow:0 14px 34px rgba(25,47,38,.08); }
.connection-flow-image { display:block; overflow:hidden; background:#ece5d8; }
.connection-flow-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.connection-flow-card:hover .connection-flow-image img { transform:scale(1.025); }
.connection-flow-content { min-width:0; padding:20px; }
.connection-flow-meta { display:flex; align-items:center; gap:9px; min-width:0; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.connection-flow-meta b { flex:0 0 auto; color:var(--gold); font-family:Georgia,"Times New Roman",serif; font-size:17px; }
.connection-flow-meta span { color:var(--red); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.connection-flow-meta time { margin-left:auto; white-space:nowrap; }
.connection-flow-card h3 { margin:12px 0 10px; color:var(--green-dark); font-family:Georgia,"Times New Roman",serif; line-height:1.28; letter-spacing:-.018em; }
.connection-flow-card h3 a:hover { color:var(--red); }
.connection-flow-card p { margin:0 0 14px; color:var(--muted); line-height:1.65; }
.connection-flow-card h3 a,
.connection-flow-card p {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Cấp 1: tin số 01. Chiếm đúng chiều cao của 2 tin cấp 2 bên phải. */
.connection-flow-card.flow-lead {
  grid-column:span 12;
  grid-row:span 2;
  height:570px;
  display:flex;
  flex-direction:column;
}
.connection-flow-card.flow-lead .connection-flow-image { height:335px; flex:0 0 335px; }
.connection-flow-card.flow-lead .connection-flow-content { padding:25px 28px 27px; flex:1; }
.connection-flow-card.flow-lead h3 { font-size:30px; line-height:1.22; margin-top:14px; }
.connection-flow-card.flow-lead h3 a { -webkit-line-clamp:2; }
.connection-flow-card.flow-lead p { font-size:14px; -webkit-line-clamp:3; }

/* Cấp 2: tin 02-03, hai khung bằng nhau. */
.connection-flow-card.flow-medium {
  grid-column:span 8;
  height:276px;
  display:grid;
  grid-template-columns:42% minmax(0,1fr);
}
.connection-flow-card.flow-medium .connection-flow-image { height:100%; min-height:0; }
.connection-flow-card.flow-medium .connection-flow-content { padding:17px 18px; display:flex; flex-direction:column; min-height:0; }
.connection-flow-card.flow-medium h3 { font-size:20px; margin:10px 0 8px; }
.connection-flow-card.flow-medium h3 a { -webkit-line-clamp:3; }
.connection-flow-card.flow-medium p { font-size:12.5px; line-height:1.55; margin-bottom:10px; -webkit-line-clamp:3; }
.connection-flow-card.flow-medium .text-link { margin-top:auto; }

/* Cấp 3: tin 04-08, đúng 5 khung bằng nhau trên một hàng. */
.connection-flow-card.flow-small {
  grid-column:span 4;
  height:352px;
  display:flex;
  flex-direction:column;
}
.connection-flow-card.flow-small .connection-flow-image { height:170px; flex:0 0 170px; }
.connection-flow-card.flow-small .connection-flow-content { padding:15px 15px 17px; flex:1; min-height:0; }
.connection-flow-card.flow-small h3 { font-size:17px; margin:9px 0 7px; }
.connection-flow-card.flow-small h3 a { -webkit-line-clamp:3; }
.connection-flow-card.flow-small p { font-size:12px; line-height:1.5; margin-bottom:0; -webkit-line-clamp:2; }
.connection-flow-card.flow-small .connection-flow-meta { gap:6px; font-size:8.5px; }
.connection-flow-card.flow-small .connection-flow-meta b { font-size:14px; }

/* Cấp 4: tin 09-20, 4 khung bằng nhau mỗi hàng x 3 hàng. */
.connection-flow-card.flow-mini {
  grid-column:span 5;
  height:138px;
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
}
.connection-flow-card.flow-mini .connection-flow-image { height:100%; min-height:0; }
.connection-flow-card.flow-mini .connection-flow-content { padding:11px 12px; min-height:0; }
.connection-flow-card.flow-mini .connection-flow-meta { gap:5px; font-size:8px; }
.connection-flow-card.flow-mini .connection-flow-meta b { font-size:13px; }
.connection-flow-card.flow-mini .connection-flow-meta time { display:none; }
.connection-flow-card.flow-mini h3 { margin:7px 0 0; font-size:14px; line-height:1.3; }
.connection-flow-card.flow-mini h3 a { -webkit-line-clamp:3; }

@media (max-width:1200px) {
  .connection-flow-grid { gap:14px; }
  .connection-flow-card.flow-lead { height:520px; }
  .connection-flow-card.flow-lead .connection-flow-image { height:300px; flex-basis:300px; }
  .connection-flow-card.flow-medium { height:253px; grid-template-columns:39% minmax(0,1fr); }
  .connection-flow-card.flow-small { height:330px; }
  .connection-flow-card.flow-small .connection-flow-image { height:150px; flex-basis:150px; }
  .connection-flow-card.flow-small .connection-flow-meta time { display:none; }
  .connection-flow-card.flow-small h3 { font-size:16px; }
  .connection-flow-card.flow-mini { grid-template-columns:88px minmax(0,1fr); height:130px; }
}

/* Điện thoại/tablet: vẫn phân cấp rõ ràng, nhưng xếp 1 cột để không có khoảng trống. */
@media (max-width:900px) {
  .connection-flow-grid { grid-template-columns:1fr; gap:14px; margin-top:28px; }
  .connection-flow-card.flow-lead,
  .connection-flow-card.flow-medium,
  .connection-flow-card.flow-small,
  .connection-flow-card.flow-mini { grid-column:1; grid-row:auto; width:100%; }
  .connection-flow-card.flow-lead { height:auto; display:flex; }
  .connection-flow-card.flow-lead .connection-flow-image { height:300px; flex-basis:300px; }
  .connection-flow-card.flow-lead .connection-flow-content { padding:22px; }
  .connection-flow-card.flow-lead h3 { font-size:27px; }

  .connection-flow-card.flow-medium { height:205px; display:grid; grid-template-columns:40% minmax(0,1fr); }
  .connection-flow-card.flow-medium h3 { font-size:20px; }
  .connection-flow-card.flow-medium p { -webkit-line-clamp:2; }

  .connection-flow-card.flow-small { height:154px; display:grid; grid-template-columns:145px minmax(0,1fr); }
  .connection-flow-card.flow-small .connection-flow-image { height:100%; min-height:0; }
  .connection-flow-card.flow-small .connection-flow-content { padding:12px 14px; }
  .connection-flow-card.flow-small h3 { font-size:17px; -webkit-line-clamp:2; }
  .connection-flow-card.flow-small p { display:none; }

  .connection-flow-card.flow-mini { height:112px; display:grid; grid-template-columns:92px minmax(0,1fr); }
  .connection-flow-card.flow-mini .connection-flow-content { padding:10px 11px; }
  .connection-flow-card.flow-mini h3 { font-size:14px; -webkit-line-clamp:3; }
}

@media (max-width:620px) {
  .connection-flow-grid { gap:11px; margin-top:24px; }
  .connection-flow-intro { font-size:13px; }
  .connection-flow-card.flow-lead .connection-flow-image { height:230px; flex-basis:230px; }
  .connection-flow-card.flow-lead .connection-flow-content { padding:17px 18px 19px; }
  .connection-flow-card.flow-lead h3 { font-size:23px; margin-top:11px; }
  .connection-flow-card.flow-lead p { font-size:13px; -webkit-line-clamp:2; }

  .connection-flow-card.flow-medium { height:172px; grid-template-columns:38% minmax(0,1fr); }
  .connection-flow-card.flow-medium .connection-flow-content { padding:12px 13px; }
  .connection-flow-card.flow-medium h3 { font-size:18px; margin:8px 0 5px; -webkit-line-clamp:3; }
  .connection-flow-card.flow-medium p { display:none; }
  .connection-flow-card.flow-medium .text-link { font-size:11px; }

  .connection-flow-card.flow-small { height:130px; grid-template-columns:112px minmax(0,1fr); }
  .connection-flow-card.flow-small .connection-flow-content { padding:10px 11px; }
  .connection-flow-card.flow-small h3 { font-size:16px; margin-top:7px; -webkit-line-clamp:3; }
  .connection-flow-card.flow-small .connection-flow-meta time { display:none; }

  .connection-flow-card.flow-mini { height:96px; grid-template-columns:76px minmax(0,1fr); }
  .connection-flow-card.flow-mini .connection-flow-content { padding:8px 9px; }
  .connection-flow-card.flow-mini h3 { font-size:13px; margin-top:5px; -webkit-line-clamp:3; }
  .connection-flow-card.flow-mini .connection-flow-meta span { max-width:115px; }
}

/* Chỉ áp dụng cho hero của trang chi tiết bài viết; không tác động các tab khác. */
.article-inner-hero .inner-hero-grid { grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr); gap:54px; }
.article-inner-hero .inner-hero-copy h1 {
  width:100%;
  max-width:none;
  font-size:clamp(34px,3.05vw,46px);
  line-height:1.18;
  letter-spacing:-.025em;
  text-align:justify;
  text-align-last:left;
  text-justify:inter-word;
}
.article-inner-hero .inner-hero-copy > p:last-of-type {
  max-width:none;
  font-size:14px;
  line-height:1.7;
  text-align:justify;
  text-align-last:left;
}

@media (max-width:1100px) {
  .article-inner-hero .inner-hero-grid { grid-template-columns:minmax(0,1fr) minmax(420px,.9fr); gap:34px; }
}
@media (max-width:900px) {
  .article-inner-hero .inner-hero-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .article-inner-hero .inner-hero-copy h1 { font-size:31px; text-align:left; line-height:1.16; }
  .article-inner-hero .inner-hero-copy > p:last-of-type { text-align:left; }
}

/* V126 - Căn giữa toàn bộ thống kê trang chủ và làm đậm khẩu hiệu thương hiệu */
.hero-meta.expanded > div {
  text-align: center;
  justify-items: center;
  align-content: start;
}
.hero-meta.expanded > div strong,
.hero-meta.expanded > div span {
  width: 100%;
  text-align: center;
}
.hero-meta.expanded > div strong {
  font-variant-numeric: tabular-nums;
}
.brand em {
  color: #66561f;
  font-weight: 800;
  letter-spacing: .075em;
}


/* V127 - Ảnh đại diện thành viên + số thông báo/liên hệ chưa đọc */
.member-profile-head{display:grid;grid-template-columns:68px minmax(170px,1fr);grid-template-rows:auto auto;align-items:center;column-gap:12px;row-gap:3px;min-width:300px;justify-items:stretch;position:relative;z-index:220}
.member-avatar-menu{grid-row:1 / span 2;position:relative;width:62px;height:62px;z-index:260}.member-avatar-menu>summary{list-style:none}.member-avatar-menu>summary::-webkit-details-marker{display:none}.member-avatar-menu>button{appearance:none;-webkit-appearance:none;font:inherit}.member-avatar-link{position:relative;width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3eddf;border:3px solid #b59a3c;box-shadow:0 4px 12px rgba(4,63,42,.14);overflow:visible;text-decoration:none;padding:0;cursor:pointer;outline:none}.member-avatar-link:focus-visible{box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 6px rgba(9,82,105,.35),0 4px 12px rgba(4,63,42,.14)}
.member-avatar-link img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.member-avatar-fallback{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--green-dark);color:#fff;font-family:var(--font-serif);font-size:1.5rem;font-weight:900}
.avatar-count-badge{position:absolute;z-index:3;min-width:23px;height:23px;padding:0 5px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;line-height:1;font-weight:900;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.avatar-notification-badge{right:-5px;top:-4px;background:var(--red)}
.avatar-contact-badge{right:-5px;bottom:-4px;background:#9a7a10}
.member-head-copy{min-width:0}
.member-head-copy .desktop-login{padding-left:0;border-left:0;max-width:none}
.member-head-copy .desktop-login.logged-in span{font-size:13px}
.member-head-copy .desktop-login.logged-in strong{font-size:12px;margin-top:3px}
.member-head-counts{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px}
.member-head-counts a{display:inline-flex;gap:4px;align-items:center;padding:3px 7px;border:1px solid #dfd6c1;border-radius:999px;background:#fffaf0;color:var(--green-dark);font-size:10px;font-weight:800;text-decoration:none}
.member-head-counts a b{color:var(--red);font-size:11px}
.member-avatar-dropdown{display:none;position:absolute;right:0;left:auto;top:70px;z-index:9999;min-width:205px;padding:6px;background:#fff;border:1px solid #d9e2e7;border-radius:8px;box-shadow:0 12px 30px rgba(9,42,53,.22)}
.member-avatar-menu.is-open .member-avatar-dropdown,.member-avatar-menu[open] .member-avatar-dropdown,.member-avatar-menu:focus-within .member-avatar-dropdown{display:grid}
.member-avatar-dropdown a{display:block;padding:10px 11px;border-radius:6px;color:var(--green-dark);font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.member-avatar-dropdown a:hover{background:#f2f7f9;text-decoration:none}
.member-avatar-dropdown .header-logout{color:var(--red);border-top:1px solid #edf1f3;border-radius:0 0 6px 6px;margin-top:3px;padding-top:11px}
.public-member-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid #d5bf77;background:#f3eddf}
.public-member-avatar img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:1150px){.member-profile-head{min-width:260px;grid-template-columns:58px minmax(150px,1fr)}.member-avatar-menu,.member-avatar-link{width:54px;height:54px}.member-avatar-dropdown{top:62px}.member-head-counts a{font-size:9px;padding:3px 6px}}
@media(max-width:900px){.member-profile-head{display:none}}
@media(max-width:620px){.public-member-avatar{width:50px;height:50px}}


/* V129 - author identity, opportunity admin detail and social links */
.article-author-card{margin:42px 0 16px;padding:22px 24px;border-top:1px solid rgba(0,75,54,.18);border-bottom:1px solid rgba(0,75,54,.18);display:flex;align-items:center;gap:16px;background:#fbf8ee}.article-author-avatar,.article-author-chip>span{width:58px;height:58px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900;font-size:20px;flex:0 0 auto}.article-author-avatar img{width:100%;height:100%;object-fit:cover}.article-author-card>div:last-child{display:flex;flex-direction:column;gap:3px}.article-author-card small{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.article-author-card strong{font-size:18px;color:var(--green)}.article-author-card span{font-size:13px;color:var(--muted)}
.article-author-chip{display:flex;align-items:center;gap:9px;margin:9px 0 3px}.article-author-chip img{width:34px;height:34px;border-radius:50%;object-fit:cover}.article-author-chip>span{width:34px;height:34px;font-size:13px}.article-author-chip small{font-size:12px;color:var(--muted)}.article-author-chip b{color:var(--green)}
.trade-author-with-avatar{display:inline-flex!important;align-items:center;gap:7px}.trade-author-with-avatar img{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid rgba(0,75,54,.2)}
.opportunity-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.opportunity-admin-stats>div{border:1px solid #e3d7bc;border-left:4px solid var(--green);padding:14px 16px;background:#fff}.opportunity-admin-stats span{display:block;font-size:11px;text-transform:uppercase;font-weight:900;color:var(--muted)}.opportunity-admin-stats strong{display:block;margin-top:5px;font-size:22px;color:var(--green)}.opportunity-admin-stats .is-success{background:#e4f5e9}.opportunity-admin-filters{grid-template-columns:2fr repeat(5,minmax(145px,1fr)) auto auto;align-items:end}.opportunity-admin-list{display:grid;gap:14px;margin-top:14px}.opportunity-admin-card{border:1px solid #e3d7bc;border-left:4px solid var(--green);background:#fff;padding:18px}.opportunity-admin-card.is-success{background:#e7f7ec;border-color:#7fbea0}.opportunity-admin-card.is-hidden{opacity:.72}.opportunity-admin-card h3{margin:8px 0 6px;font-size:20px;color:var(--green)}.opportunity-admin-card .opportunity-summary{margin:12px 0;line-height:1.65}.opportunity-admin-details{grid-template-columns:repeat(4,minmax(0,1fr))}.opportunity-admin-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.opportunity-expired{background:#eee0cf;color:#7a4216;padding:5px 8px;font-size:10px;font-weight:900;text-transform:uppercase}
.organization-social-admin{margin:26px 0 34px;padding:22px;border:1px solid #dfd1b3;background:#fbf8ef}.social-link-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.social-link-admin-form label{font-weight:800;color:var(--green)}.social-link-admin-form input{width:100%;margin-top:6px}.social-link-admin-form button{grid-column:1/-1;justify-self:start}.account-section-heading.compact h3{margin:2px 0 0;color:var(--green)}
.footer-grid.has-social{grid-template-columns:1.25fr .95fr .55fr .8fr;gap:38px}.footer-social-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.footer-social-links a{display:grid;place-items:center;box-sizing:border-box;width:32px;min-width:32px;height:32px;border:0;border-radius:50%;padding:0;color:#fff;text-decoration:none;background:rgba(255,255,255,.08);overflow:hidden;transition:transform .15s ease,opacity .15s ease}.footer-social-links a:hover{transform:translateY(-2px);opacity:.88}.footer-social-links a .social-brand-icon{width:32px;height:32px;display:grid;place-items:center;background:transparent}.footer-social-links a .social-brand-icon img{display:block;width:30px;height:30px;object-fit:contain;border-radius:50%}.footer-social-links a.social-youtube{background:#ff0000}.footer-social-links a.social-youtube img{width:23px;height:23px}.footer-social-links a.social-linkedin{background:#0a66c2}.footer-social-links a.social-linkedin img{width:25px;height:25px}.footer-social-links a.social-x{background:#000}.footer-social-links a.social-x img{width:25px;height:25px}.footer-social-links a.social-email{background:#c79b43}.footer-social-links a.social-email img{width:30px;height:30px}.footer-social-links a.social-instagram{background:#c13584}.footer-social-links a.social-facebook{background:#1877f2}
@media(max-width:1180px){.opportunity-admin-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.opportunity-admin-details{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid.has-social{grid-template-columns:1fr 1fr}.footer-social{grid-column:auto}}
@media(max-width:720px){.opportunity-admin-stats{grid-template-columns:1fr 1fr}.opportunity-admin-filters{grid-template-columns:1fr}.opportunity-admin-details{grid-template-columns:1fr}.opportunity-admin-actions{justify-content:flex-start;flex-wrap:wrap}.social-link-admin-form{grid-template-columns:1fr}.footer-grid.has-social{grid-template-columns:1fr}.footer-social-links{gap:10px}.article-author-card{padding:18px}}
@media(max-width:380px){.footer-social-links{gap:7px}.footer-social-links a{width:30px;min-width:30px;height:30px}.footer-social-links a .social-brand-icon{width:30px;height:30px}.footer-social-links a .social-brand-icon img{max-width:28px;max-height:28px}}

/* V130 - Phóng to ảnh đại diện khi nhấn */
.article-author-avatar img,
.article-author-chip img,
.trade-author-with-avatar img,
.public-member-avatar img,
.application-member-photo img,
.profile-avatar-preview img,
.upgrade-photo-preview img {
  cursor: zoom-in;
}
.avatar-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 32px;
  background: rgba(7, 18, 14, .88);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.avatar-lightbox.is-open { display: flex; }
.avatar-lightbox-dialog {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(92vw, 900px);
  height: min(88vh, 900px);
}
.avatar-lightbox-image {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(0,0,0,.42);
}
.avatar-lightbox-close {
  position: absolute;
  top: -14px;
  right: -14px;
  width: 44px;
  height: 44px;
  border: 2px solid rgba(255,255,255,.75);
  border-radius: 50%;
  display: grid;
  place-items: center;
  padding: 0;
  background: var(--red, #b51225);
  color: #fff;
  font-size: 27px;
  line-height: 1;
  font-family: Arial, sans-serif;
  font-weight: 400;
  cursor: pointer;
  box-shadow: 0 5px 20px rgba(0,0,0,.25);
}
.avatar-lightbox-close:hover { transform: scale(1.05); }
body.avatar-lightbox-open { overflow: hidden; }
@media (max-width: 640px) {
  .avatar-lightbox { padding: 18px; }
  .avatar-lightbox-dialog { width: 96vw; height: 88vh; }
  .avatar-lightbox-close { top: -8px; right: -4px; width: 40px; height: 40px; font-size: 24px; }
}


/* V131: hỏi đáp cơ hội + văn kiện Level 01 */
.opportunity-qa{margin-top:14px;border-top:1px solid #e1d7c4;padding-top:12px}.opportunity-qa details{border:1px solid #ded3bd;background:#fff}.opportunity-qa summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;color:var(--green-dark);font-weight:900}.opportunity-qa summary::-webkit-details-marker{display:none}.opportunity-qa summary b{font-size:12px;background:#edf6f1;color:var(--green);padding:5px 9px;border-radius:999px}.opportunity-qa-body{padding:0 14px 14px;display:grid;gap:12px}.opportunity-question{border-top:1px solid #eee5d4;padding-top:12px}.opportunity-question:first-child{border-top:0}.opportunity-question-head{display:flex;align-items:center;gap:9px}.opportunity-question-head>div{display:grid;gap:1px}.opportunity-question-head small{color:var(--muted);font-size:11px}.opportunity-question-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #e7dcc6;cursor:zoom-in}.opportunity-question-avatar.is-fallback{display:flex;align-items:center;justify-content:center;background:var(--green);color:#fff;font-weight:900;cursor:default}.opportunity-question>p,.opportunity-answer>p{margin:8px 0 0;line-height:1.6}.opportunity-answer{margin:10px 0 0 45px;padding:10px 12px;border-left:3px solid #c99a31;background:#faf7ef}.opportunity-reply-form{margin:10px 0 0 45px;display:grid;grid-template-columns:1fr auto;gap:8px}.opportunity-reply-form textarea,.opportunity-ask-form textarea{width:100%;border:1px solid #d9ceb8;border-radius:4px;padding:9px 10px;font:inherit;resize:vertical}.opportunity-reply-form button{align-self:end;border:1px solid var(--green);background:#fff;color:var(--green);font-weight:900;padding:9px 12px;cursor:pointer}.opportunity-ask-form{border-top:1px solid #eee5d4;padding-top:12px;display:grid;gap:8px}.opportunity-ask-form label{display:grid;gap:6px;font-weight:800}.opportunity-ask-form .button{justify-self:start}.opportunity-login-to-ask{border-top:1px solid #eee5d4;padding-top:12px}.opportunity-login-to-ask a{font-weight:900;color:var(--red)}
.document-level1-checkbox{display:flex!important;align-items:flex-start;gap:10px;border:1px solid #d9ceb8;background:#fbf8f0;padding:12px 14px}.document-level1-checkbox input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}.document-level1-checkbox span{display:grid;gap:3px}.document-level1-checkbox small{color:var(--muted);font-weight:400}.level1-rule-badge{background:#e8f5ed!important;color:#12623f!important}.level1-rule-documents{margin-top:24px;border-top:1px solid #e1d7c4;padding-top:20px}.level1-rule-documents-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px}.level1-rule-documents-heading h3{margin:4px 0 0;color:var(--green-dark);font-size:1.35rem}.level1-rule-documents-heading>span{font-weight:900;color:var(--green)}.level1-rule-document{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border:1px solid #e2d8c5;background:#fff;padding:14px 16px;margin-top:10px}.level1-rule-document h4{margin:4px 0 4px;color:var(--green-dark);font-size:1rem}.level1-rule-document p{margin:0;color:var(--muted);font-size:13px}.level1-rule-document>div:last-child{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:720px){.opportunity-reply-form{margin-left:0;grid-template-columns:1fr}.opportunity-answer{margin-left:24px}.level1-rule-document{grid-template-columns:1fr}.level1-rule-document>div:last-child{justify-content:flex-start}.level1-rule-documents-heading{align-items:flex-start;flex-direction:column}}

/* V132 - document duplicate validation + stable document actions */
.document-form-error{margin:0 0 16px;padding:13px 15px;border:1px solid #d99a9f;background:#fff3f3;color:#8d0e1c;display:grid;gap:4px}
.document-form-error b{font-size:.92rem}.document-form-error span{font-weight:700}.document-form-error small{color:#6d4a4e}
.document-code-error{display:block;color:#b20f22;font-weight:700;margin-top:2px}
.document-row-actions .document-action-disabled{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid #ded8cc;background:#f4f1ea;color:#9b9384;font-weight:800;font-size:.8rem;cursor:not-allowed;opacity:.82}

/* Bố cục diễn đàn di sản */
.opportunity-list{gap:18px}
.opportunity-list-item{padding:0;border:1px solid #dcd5c8;border-left:0;border-radius:10px;background:#fff;box-shadow:0 7px 24px rgba(20,44,34,.055);overflow:hidden}
.opportunity-list-item.is-success{background:#f3fbf6;border-color:#9bcdb0}
.opportunity-list-item.is-closed{opacity:.72}
.opportunity-list-item.is-hidden{border-style:dashed}
.opportunity-list-header{padding:18px 20px 12px;border-bottom:1px solid #eee8dc;background:linear-gradient(180deg,#fff 0%,#fcfbf7 100%)}
.opportunity-list-header h3{font-size:1.24rem;line-height:1.35}
.opportunity-list-meta{margin-top:3px;font-size:.79rem;gap:6px 18px}
.opportunity-summary{display:block;margin:0;padding:16px 20px 8px;font-size:.93rem;line-height:1.68;color:#4c493f;-webkit-line-clamp:unset}
.opportunity-list-details{grid-template-columns:repeat(3,minmax(0,1fr));margin:4px 20px 0;padding:13px 0 15px;border-top:1px solid #eee8dc;border-bottom:1px solid #eee8dc;gap:12px 24px}
.opportunity-list-details dt{font-size:.68rem;letter-spacing:.04em}
.opportunity-list-details dd{font-size:.88rem;line-height:1.45}
.opportunity-member-gate{grid-column:span 2;padding:10px 12px;border:1px solid #e6d9b9;background:#fbf6e8;border-radius:6px;color:#6c5315}
.opportunity-attachments{margin:12px 20px 0;padding:10px 12px;border-radius:6px;background:#fbf8f0}
.opportunity-actions{margin:0;padding:12px 20px 16px;background:#fcfbf7;border-top:1px solid #eee8dc}

.forum-discussion{margin-top:14px;border-top:0;padding-top:0}
.forum-discussion-gate{margin:14px 20px 18px;padding:16px 18px;display:flex;align-items:flex-start;gap:14px;border:1px solid #dfd3b7;border-radius:8px;background:#faf6eb}
.forum-discussion-lock{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:#efe4c8;font-size:19px}
.forum-discussion-gate strong{display:block;color:var(--green-dark);font-size:1rem;margin-bottom:3px}
.forum-discussion-gate p{margin:0;color:#716958;line-height:1.55;font-size:.86rem}

.forum-thread{margin:14px 20px 18px;border:1px solid #d8d2c7;border-radius:9px;background:#fff;overflow:hidden}
.forum-thread-summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;background:#f8faf8;border-bottom:0;color:var(--green-dark)}
.forum-thread[open]>.forum-thread-summary{border-bottom:1px solid #e6e2da}
.forum-thread-summary::-webkit-details-marker{display:none}
.forum-thread-summary-main{display:flex;align-items:center;gap:12px;min-width:0}
.forum-thread-summary-main>div{display:grid;gap:2px;min-width:0}
.forum-thread-summary-main strong{font-size:1rem}
.forum-thread-summary-main small{color:#746f65;font-size:.75rem;line-height:1.35}
.forum-thread-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:var(--green);color:#fff;font-size:18px;flex:0 0 38px}
.forum-thread-toggle{font-size:.75rem;font-weight:800;color:var(--red);white-space:nowrap}
.forum-thread[open] .forum-thread-toggle{font-size:0}
.forum-thread[open] .forum-thread-toggle::after{content:'Thu gọn';font-size:.75rem}
.forum-thread-body{padding:14px;display:grid;gap:14px;background:#f6f7f5}
.forum-empty{padding:18px;border:1px dashed #d7d1c6;background:#fff;text-align:center;border-radius:7px}
.forum-empty strong{color:var(--green-dark)}
.forum-empty p{margin:4px 0 0;color:#777064;font-size:.83rem}
.forum-topic{display:grid;gap:0;border:1px solid #d9d6cf;border-radius:8px;background:#fff;overflow:hidden}
.forum-post{display:grid;grid-template-columns:132px minmax(0,1fr);min-height:112px;border-bottom:1px solid #e7e3dc}
.forum-post:last-of-type{border-bottom:0}
.forum-post-user{padding:14px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#f5f7f5;border-right:1px solid #e4e3de;gap:5px}
.forum-post-user .opportunity-question-avatar{width:54px;height:54px;margin-bottom:2px}
.forum-post-user b{max-width:110px;color:var(--green-dark);font-size:.82rem;line-height:1.25;overflow-wrap:anywhere}
.forum-post-user>span:not(.opportunity-question-avatar){font-size:.66rem;color:#8a8172;text-transform:uppercase;font-weight:800;letter-spacing:.035em}
.forum-post-content{padding:14px 16px;min-width:0}
.forum-post-content header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid #eee9df}
.forum-post-content time{font-size:.72rem;color:#8a8378}
.forum-post-content p{margin:12px 0 0;color:#3f3c35;line-height:1.7;font-size:.9rem;white-space:normal;overflow-wrap:anywhere}
.forum-post-label{display:inline-flex;padding:4px 7px;border-radius:999px;background:#e7f3ed;color:#0b654a;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em}
.forum-post-label.is-reply{background:#f2ead7;color:#8d6612}
.forum-post-reply{background:#fffdf9}
.forum-post-reply .forum-post-user{background:#faf8f2}
.forum-reply-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:12px 14px;background:#f9f7f1;border-top:1px solid #e6e0d4}
.forum-reply-box label{display:grid;gap:5px}
.forum-reply-box label>span{font-size:.74rem;font-weight:800;color:#615b50}
.forum-reply-box textarea,.forum-new-topic textarea{width:100%;border:1px solid #d5cec0;border-radius:6px;padding:10px 11px;font:inherit;resize:vertical;background:#fff}
.forum-reply-box button{min-height:40px;padding:8px 13px;border:1px solid var(--green);border-radius:5px;background:#fff;color:var(--green);font-weight:900;cursor:pointer}
.forum-new-topic{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.25fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid #d5d0c6;border-radius:8px;background:#fff}
.forum-new-topic strong{display:block;color:var(--green-dark);font-size:.92rem}
.forum-new-topic p{margin:3px 0 0;color:#777064;font-size:.75rem;line-height:1.4}
.forum-new-topic .button{white-space:nowrap}

@media (max-width:900px){
  .opportunity-list-details{grid-template-columns:1fr 1fr}
  .opportunity-member-gate{grid-column:1/-1}
  .forum-post{grid-template-columns:96px minmax(0,1fr)}
  .forum-post-user{padding:12px 8px}
  .forum-post-user .opportunity-question-avatar{width:46px;height:46px}
  .forum-new-topic{grid-template-columns:1fr}
  .forum-new-topic .button{justify-self:start}
}
@media (max-width:640px){
  .opportunity-list-header,.opportunity-summary{padding-left:14px;padding-right:14px}
  .opportunity-list-details,.opportunity-attachments,.forum-thread,.forum-discussion-gate{margin-left:14px;margin-right:14px}
  .opportunity-actions{padding-left:14px;padding-right:14px}
  .opportunity-list-details{grid-template-columns:1fr}
  .forum-thread-summary{align-items:flex-start}
  .forum-thread-toggle{display:none}
  .forum-post{grid-template-columns:1fr}
  .forum-post-user{flex-direction:row;text-align:left;justify-content:flex-start;border-right:0;border-bottom:1px solid #e4e3de}
  .forum-post-user .opportunity-question-avatar{width:40px;height:40px;margin:0 4px 0 0}
  .forum-post-user b{max-width:none}
  .forum-post-content{padding:12px 13px}
  .forum-reply-box{grid-template-columns:1fr}
  .forum-reply-box button{justify-self:start}
}


/* V135 - Quản lý phân quyền */
.permission-admin-panel{display:grid;gap:22px}.permission-admin-note{padding:14px 16px;border:1px solid #d8c79b;background:#fffaf0;color:#33423b;line-height:1.6}.permission-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.permission-card{border:1px solid #d9d2bf;background:#fff;padding:18px;display:flex;flex-direction:column;gap:16px;box-shadow:0 8px 28px rgba(18,52,40,.05)}.permission-card header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid #eee5d3;padding-bottom:14px}.permission-card header>div{display:flex;gap:12px;align-items:flex-start}.permission-card header h3{margin:0 0 6px;color:#064d38;font-size:20px}.permission-card header p{margin:0;color:#66736d;font-size:13px;line-height:1.55}.permission-card header>strong{white-space:nowrap;background:#064d38;color:#fff;padding:6px 9px;font-size:12px}.permission-card-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#b80f24;color:#fff;font-weight:800}.permission-add-form{display:flex;gap:10px;align-items:end}.permission-add-form label{flex:1;display:grid;gap:6px;font-weight:700;color:#39433f}.permission-add-form select{width:100%;min-height:42px;border:1px solid #d5c8ae;padding:8px;background:#fff}.permission-assigned-list{display:grid;gap:10px}.permission-user-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #f0eadc;padding-top:10px}.permission-user-identity{display:flex;align-items:center;gap:10px;min-width:0}.permission-user-identity img,.permission-user-identity>span{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#064d38;color:#fff;display:grid;place-items:center;font-weight:800;flex:0 0 42px}.permission-user-identity div{min-width:0}.permission-user-identity b,.permission-user-identity small{display:block}.permission-user-identity small{color:#6c756f;margin-top:2px;white-space:normal}.permission-user-row button.danger{border:1px solid #e4aeb5;background:#fff;color:#b80f24;padding:8px 10px;font-weight:700;cursor:pointer}@media(max-width:1050px){.permission-card-grid{grid-template-columns:1fr}.permission-add-form{align-items:stretch}}@media(max-width:640px){.permission-add-form,.permission-user-row{flex-direction:column;align-items:stretch}.permission-user-row form{align-self:flex-end}}

/* V136 - Avatar chỉ hiển thị một badge tổng; chat cơ hội dạng Zalo, không rẽ nhánh */
.avatar-total-badge{right:-7px;top:-6px;background:var(--red);min-width:25px;height:25px;font-size:12px}

.opportunity-chat-thread{margin:14px 20px 18px;border:1px solid #d9d4c9;border-radius:10px;background:#fff;overflow:hidden}
.opportunity-chat-thread[open]>.forum-thread-summary{border-bottom:1px solid #e7e1d6}
.opportunity-chat{background:#f4f6f3}
.opportunity-chat-messages{padding:18px;display:flex;flex-direction:column;gap:14px;max-height:680px;overflow:auto;scroll-behavior:smooth}
.chat-message{display:flex;align-items:flex-end;gap:9px;max-width:84%;align-self:flex-start}
.chat-message.is-mine{align-self:flex-end;flex-direction:row-reverse}
.chat-message-avatar{width:38px;flex:0 0 38px}
.chat-message-avatar .opportunity-question-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;display:grid;place-items:center;margin:0;border:1px solid #d4c7a3;background:#fff}
.chat-message-main{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.chat-message.is-mine .chat-message-main{align-items:flex-end}
.chat-message-meta{display:flex;align-items:center;gap:8px;margin:0 5px 4px;color:#706a60;font-size:.72rem}
.chat-message-meta b{color:var(--green-dark);font-size:.78rem}
.chat-message.is-mine .chat-message-meta{flex-direction:row-reverse}
.chat-bubble{max-width:680px;padding:10px 13px;border-radius:16px 16px 16px 5px;background:#fff;border:1px solid #e0ddd6;box-shadow:0 1px 2px rgba(0,0,0,.04);color:#302e2a}
.chat-message.is-mine .chat-bubble{border-color:#bfdccb;background:#dff2e8;border-radius:16px 16px 5px 16px}
.chat-bubble p{margin:0;line-height:1.55;font-size:.9rem;overflow-wrap:anywhere}
.chat-quote{display:block;margin:-2px 0 8px;padding:7px 9px;border-left:3px solid var(--green);border-radius:5px;background:rgba(4,75,51,.07);text-decoration:none;color:inherit;max-width:100%}
.chat-quote span{display:block;color:var(--green-dark);font-size:.7rem;font-weight:900;margin-bottom:2px}
.chat-quote em{display:block;color:#6d675d;font-size:.75rem;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-reply-trigger{margin:4px 5px 0;padding:2px 5px;border:0;background:transparent;color:#766f64;font-size:.72rem;font-weight:800;cursor:pointer}
.chat-reply-trigger:hover{color:var(--red)}
.chat-reply-trigger span{margin-left:2px}
.chat-composer{padding:13px 15px 15px;border-top:1px solid #ddd8cd;background:#fff}
.chat-reply-preview{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;padding:8px 10px;border-left:3px solid var(--green);border-radius:5px;background:#f2f7f4}
.chat-reply-preview>div{min-width:0;display:grid;gap:1px}
.chat-reply-preview strong{font-size:.75rem;color:var(--green-dark)}
.chat-reply-preview span{font-size:.74rem;color:#6f695f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-reply-preview button{border:0;background:transparent;color:#8a8175;font-size:20px;line-height:1;cursor:pointer}
.chat-composer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.chat-composer-row textarea{width:100%;min-height:48px;max-height:150px;padding:11px 12px;border:1px solid #d7d1c6;border-radius:12px;background:#fbfbfa;font:inherit;resize:vertical}
.chat-composer-row textarea:focus{outline:2px solid rgba(0,88,61,.13);border-color:var(--green)}
.chat-composer-row .button{min-width:72px;min-height:46px;border-radius:10px}

@media(max-width:760px){
  .opportunity-chat-thread{margin-left:14px;margin-right:14px}
  .opportunity-chat-messages{padding:13px 10px;max-height:600px}
  .chat-message{max-width:94%;gap:7px}
  .chat-message-avatar{width:32px;flex-basis:32px}
  .chat-message-avatar .opportunity-question-avatar{width:32px;height:32px}
  .chat-bubble{padding:9px 11px}
  .chat-bubble p{font-size:.86rem}
  .chat-message-meta{font-size:.66rem}
  .chat-composer-row{grid-template-columns:1fr}
  .chat-composer-row .button{justify-self:end;min-width:88px}
}

/* V138 - Thành viên tự tạo hồ sơ doanh nhân/doanh nghiệp và gửi Admin duyệt */
.member-submission-manager,.member-review-manager{display:grid;gap:18px}.member-submission-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 18px;border:1px solid #ded4be;background:#fffaf0}.member-submission-intro strong{display:block;color:var(--green-dark);font-size:16px}.member-submission-intro p{margin:6px 0 0;line-height:1.55;color:#5f665f}.submission-flow{display:flex;align-items:center;gap:8px;white-space:nowrap}.submission-flow span{padding:8px 10px;border:1px solid #d7c9a7;background:#fff;font-weight:800;font-size:12px;color:var(--green-dark)}.submission-flow i{font-style:normal;color:var(--red);font-weight:900}.member-submission-form{border:1px solid #ded5c2;background:#fffdf8;padding:18px}.submission-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.member-submission-list{display:grid;gap:14px}.member-submission-card{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px;border:1px solid #ded8ca;background:#fff}.member-submission-card.is-pending{border-left:4px solid #c99521}.member-submission-card.is-rejected{border-left:4px solid var(--red);background:#fff9f9}.member-submission-card.is-published{border-left:4px solid var(--green);background:#f8fcfa}.member-submission-cover{width:120px;height:88px;border:1px solid #e1dacb;background:#f4f0e6;display:grid;place-items:center;overflow:hidden;color:#8a8173;font-size:12px}.member-submission-cover img{width:100%;height:100%;object-fit:cover}.member-submission-copy h3{margin:5px 0 7px;color:var(--green-dark);font-size:19px}.member-submission-copy p{margin:7px 0;line-height:1.55;color:#5c625d}.member-submission-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.member-submission-status b{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--red)}.member-submission-status span{font-size:12px;color:#777167}.submission-review-note{margin-top:10px;padding:10px 12px;border-left:3px solid var(--red);background:#fff1f2;color:#6d2e35;line-height:1.5}.member-submission-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.member-submission-actions form{margin:0}.submission-locked{font-size:12px;font-weight:800;color:#826b2c;background:#fff5d8;border:1px solid #e6ce8c;padding:8px 10px}.member-review-list{display:grid;gap:16px}.member-review-card{border:1px solid #ddd6c7;background:#fff}.member-review-card.status-pending_review{border-left:4px solid #c99521}.member-review-card.status-rejected{border-left:4px solid var(--red)}.member-review-card.status-published{border-left:4px solid var(--green)}.member-review-card>header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 15px;border-bottom:1px solid #eee7d8;background:#fbf8f0}.member-review-author{display:flex;align-items:center;gap:10px}.member-review-author img,.member-review-author>span{width:44px;height:44px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--green-dark);color:#fff;font-weight:900}.member-review-author b,.member-review-author small{display:block}.member-review-author small{margin-top:3px;color:#777065}.member-review-card>header time{font-size:12px;color:#777065}.member-review-body{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:16px}.member-review-cover{width:150px;height:110px;object-fit:cover;border:1px solid #e1dacb;background:#f5f1e7}.member-review-body h3{margin:0 0 8px;color:var(--green-dark);font-size:21px}.member-review-body p{margin:8px 0;line-height:1.55;color:#5d645f}.member-review-full{margin:0 16px 14px;border:1px solid #e3ddcf;background:#fff}.member-review-full summary{cursor:pointer;padding:10px 12px;font-weight:900;color:var(--green-dark);background:#faf7ef}.member-review-full .article-rich-content{padding:16px;max-width:none}.member-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 16px;border-top:1px solid #eee7d8}.member-review-actions form{display:flex;gap:8px;align-items:center}.member-review-actions input{flex:1;min-width:0;padding:10px 11px;border:1px solid #d9d0bf;background:#fff}.member-review-actions>a{justify-self:start}.member-review-manager .management-fast-filters{margin-top:0}
@media(max-width:900px){.member-submission-intro{align-items:flex-start;flex-direction:column}.submission-flow{white-space:normal;flex-wrap:wrap}.member-submission-card{grid-template-columns:90px minmax(0,1fr)}.member-submission-cover{width:90px;height:74px}.member-submission-actions{grid-column:1/-1;justify-content:flex-start}.member-review-actions{grid-template-columns:1fr}.member-review-body{grid-template-columns:110px minmax(0,1fr)}.member-review-cover{width:110px;height:90px}}
@media(max-width:620px){.member-submission-card{grid-template-columns:1fr}.member-submission-cover{width:100%;height:180px}.member-review-body{grid-template-columns:1fr}.member-review-cover{width:100%;height:190px}.member-review-card>header{align-items:flex-start;flex-direction:column}.member-review-actions form{align-items:stretch;flex-direction:column}.submission-form-actions .button{width:100%;justify-content:center}}

/* V140 - Hồ sơ thành viên 360° */
.member-360-page{padding-top:34px}.member-360-head{display:grid;grid-template-columns:150px minmax(0,1fr) 300px;gap:28px;align-items:center;padding:30px;border:1px solid #e8dfcf;border-radius:22px;background:#fff;margin-bottom:24px;box-shadow:0 10px 35px rgba(70,48,20,.06)}
.member-360-avatar{width:138px;height:138px;border-radius:50%;overflow:hidden;background:#f2eadc;display:flex;align-items:center;justify-content:center;border:5px solid #fff;box-shadow:0 0 0 1px #decaa8}.member-360-avatar img{width:100%;height:100%;object-fit:cover}.member-360-avatar span{font-size:52px;font-weight:800}.member-360-heading h1{margin:4px 0 8px;font-size:34px}.member-360-heading>p{margin:0 0 12px;color:#6b6258}.member-360-badges{display:flex;gap:8px;flex-wrap:wrap}.member-360-quick{display:grid;gap:10px}.member-360-quick p{margin:0;padding:11px 13px;background:#faf7f1;border-radius:12px}.member-360-quick b,.member-360-quick span{display:block}.member-360-quick b{font-size:12px;color:#776b5e;margin-bottom:3px}.member-360-section{background:#fff;border:1px solid #ebe3d7;border-radius:18px;padding:24px;margin-bottom:22px}.member-full-profile p{min-height:76px}.member-role-list,.member-mini-list{display:grid;gap:10px}.member-role-list article,.member-mini-list article{display:flex;justify-content:space-between;gap:16px;padding:13px 15px;border-radius:12px;background:#faf8f4}.member-role-list span,.member-mini-list span{color:#74695d;text-align:right}.member-360-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.member-activity-timeline{position:relative;margin-left:7px}.member-activity-timeline:before{content:"";position:absolute;left:116px;top:4px;bottom:4px;width:2px;background:#eadfce}.member-activity-timeline article{display:grid;grid-template-columns:95px 1fr;gap:42px;position:relative;padding:0 0 22px}.member-activity-timeline article:before{content:"";position:absolute;left:110px;top:7px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #9b6c2b;box-sizing:border-box}.member-activity-timeline time{font-size:12px;color:#776d62;padding-top:2px}.member-activity-timeline b{display:block;margin-bottom:4px}.member-activity-timeline p{margin:0 0 4px;color:#514b44}.member-activity-timeline small{color:#85796c}
@media(max-width:900px){.member-360-head{grid-template-columns:110px 1fr}.member-360-avatar{width:100px;height:100px}.member-360-quick{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.member-360-summary-grid{grid-template-columns:1fr}}
@media(max-width:600px){.member-360-head{grid-template-columns:1fr;text-align:center}.member-360-avatar{margin:auto}.member-360-badges{justify-content:center}.member-360-quick{grid-template-columns:1fr}.member-role-list article,.member-mini-list article{display:block}.member-role-list span,.member-mini-list span{display:block;text-align:left;margin-top:4px}.member-activity-timeline:before{left:9px}.member-activity-timeline article{grid-template-columns:1fr;gap:4px;padding-left:34px}.member-activity-timeline article:before{left:3px}.member-activity-timeline time{font-weight:700}}
.management-user-with-avatar{display:flex!important;align-items:center;gap:10px}.management-user-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex:0 0 44px;background:#f1e7d7;display:flex;align-items:center;justify-content:center;font-weight:800}.management-user-avatar img{width:100%;height:100%;object-fit:cover}.management-user-with-avatar>span:last-child{display:flex;flex-direction:column;min-width:0}.management-user-with-avatar small{margin-top:3px}

/* V141 - Quản lý thành viên mở rộng + hồ sơ compact + điểm hoạt động */
.header-member-score{font-style:normal;color:#9a6a17;font-weight:900}.member-score-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff4cf;border:1px solid #e6c86d;color:#74510d;font-size:12px;font-weight:900}.member-compact-page{padding-top:22px}.compact-member-head{grid-template-columns:100px minmax(260px,1fr) minmax(420px,1.5fr);gap:18px;padding:18px 20px;border-radius:14px;margin-bottom:12px}.compact-avatar{width:88px;height:88px;border-width:3px}.compact-avatar span{font-size:34px}.compact-member-head .member-360-heading h1{font-size:27px;margin:2px 0 4px}.compact-member-head .member-360-heading>p{margin-bottom:7px}.compact-head-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.compact-head-stats div{padding:9px 10px;background:#faf7f0;border:1px solid #eee4d2;border-radius:9px;min-width:0}.compact-head-stats b,.compact-head-stats span{display:block}.compact-head-stats b{font-size:14px;color:var(--green-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-head-stats span{font-size:10px;color:#756c61;margin-top:2px}.member-jump-nav{position:sticky;top:0;z-index:5;display:flex;gap:6px;flex-wrap:wrap;padding:8px;margin:0 0 12px;background:rgba(255,255,255,.95);border:1px solid #eee5d8;border-radius:10px;backdrop-filter:blur(5px)}.member-jump-nav a{padding:6px 9px;border-radius:7px;color:var(--green-dark);font-size:12px;font-weight:800;text-decoration:none}.member-jump-nav a:hover{background:#f3eee4}.compact-section{padding:16px 18px;margin-bottom:12px;border-radius:12px}.compact-section .account-section-heading{margin-bottom:10px}.compact-section .account-section-heading h2{font-size:19px;margin-top:1px}.member-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.member-metric-grid>div{padding:10px;border:1px solid #eee4d6;background:#fcfaf6;border-radius:9px}.member-metric-grid b,.member-metric-grid span{display:block}.member-metric-grid b{font-size:16px;color:var(--green-dark)}.member-metric-grid span{font-size:11px;color:#746c63;margin-top:2px}.compact-details{margin-top:10px;border:1px solid #e9dfcf;border-radius:9px;background:#fff}.compact-details>summary{cursor:pointer;padding:9px 11px;font-weight:850;font-size:13px;color:var(--green-dark);background:#faf7f1;border-radius:9px}.compact-profile-grid,.compact-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.compact-profile-grid{padding:10px}.compact-profile-grid p,.compact-info-grid p{min-height:0!important;margin:0;padding:8px 10px;border:1px solid #eee6da;background:#fff;border-radius:7px}.compact-profile-grid b,.compact-profile-grid span,.compact-info-grid b,.compact-info-grid span{display:block}.compact-profile-grid b,.compact-info-grid b{font-size:10px;color:#7d7165;text-transform:uppercase;letter-spacing:.02em;margin-bottom:3px}.compact-profile-grid span,.compact-info-grid span{font-size:12px;line-height:1.35;color:#3f453f;word-break:break-word}.company-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.company-compact-card{border:1px solid #e8dfd2;border-radius:10px;background:#fff;overflow:hidden}.company-compact-card>header{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;background:#faf7f1;border-bottom:1px solid #eee6da}.company-compact-card>header b{color:var(--green-dark)}.company-compact-card>header span{font-size:10px;font-weight:800;color:#815d12;background:#fff0bc;padding:3px 6px;border-radius:999px}.company-compact-card>div{display:grid;grid-template-columns:1fr 1fr;gap:0}.company-compact-card>div p{margin:0;padding:8px 10px;border-bottom:1px solid #f1ece3;font-size:12px}.company-compact-card>div b{display:block;font-size:10px;color:#81776b;margin-bottom:2px}.company-compact-card details{padding:7px 10px}.company-compact-card details>summary{cursor:pointer;font-size:11px;font-weight:800;color:var(--green-dark)}.compact-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px}.compact-admin-form label{display:grid;gap:4px;font-size:11px;font-weight:800;color:#635a50}.compact-admin-form input,.compact-admin-form select,.compact-admin-form textarea{width:100%;padding:8px 9px;border:1px solid #ddd3c3;border-radius:7px;background:#fff;font:inherit;font-size:12px}.compact-admin-form textarea{min-height:70px;resize:vertical}.compact-admin-form .span-2{grid-column:1/-1}.checkbox-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.checkbox-line input{width:auto}.add-company-box{margin-top:10px}.compact-delete-btn{margin:0 10px 10px;border:0;padding:6px 9px;border-radius:6px}.score-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px}.score-rule-grid span{padding:8px;background:#fffaf0;border:1px solid #eadcb9;border-radius:7px;font-size:11px}.score-rule-grid b{display:block;color:#8b6310;margin-top:2px}.compact-history-list{display:grid;gap:6px}.compact-history-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #eee5d8;border-radius:8px}.compact-history-list b,.compact-history-list span{display:block}.compact-history-list span,.compact-history-list small{font-size:11px;color:#776e64}.compact-history-list button{border:0;border-radius:50%;width:25px;height:25px}.compact-timeline{max-height:560px;overflow:auto;padding-right:4px}.compact-timeline article{padding-bottom:13px}.compact-timeline p{font-size:12px}.user-score-cell{min-width:150px}.user-score-cell b,.user-score-cell small{display:block}.user-score-cell b{font-size:12px;color:#7b5810}.user-score-cell small{margin-top:3px;font-size:10px;line-height:1.35;color:#746b60}
@media(max-width:1100px){.compact-member-head{grid-template-columns:90px 1fr}.compact-head-stats{grid-column:1/-1}.compact-profile-grid,.compact-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.member-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.compact-member-head{grid-template-columns:1fr;text-align:center}.compact-avatar{margin:auto}.compact-head-stats{grid-template-columns:repeat(2,1fr)}.member-jump-nav{position:static}.compact-profile-grid,.compact-info-grid,.member-metric-grid,.score-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-card-grid{grid-template-columns:1fr}.compact-admin-form{grid-template-columns:1fr}.compact-admin-form .span-2{grid-column:1}.compact-history-list article{grid-template-columns:1fr auto}.compact-history-list form{grid-row:1/3;grid-column:2}}
@media(max-width:480px){.compact-profile-grid,.compact-info-grid,.member-metric-grid,.score-rule-grid{grid-template-columns:1fr}.compact-head-stats{grid-template-columns:1fr 1fr}}
.inline-member-score{font-style:normal;font-size:10px;color:#8a6110;background:#fff3c7;border:1px solid #ead080;border-radius:999px;padding:2px 5px;white-space:nowrap}

/* V142 - Bảng quản lý thành viên: bỏ cột thao tác, nới cột thành viên, sort từng cột */
.management-member-table{min-width:1080px;table-layout:fixed}
.management-member-table col.col-member{width:25%}.management-member-table col.col-account{width:8%}.management-member-table col.col-email{width:13%}.management-member-table col.col-level{width:12%}.management-member-table col.col-score{width:13%}.management-member-table col.col-profile{width:12%}.management-member-table col.col-status{width:8%}.management-member-table col.col-change{width:9%}
.management-member-table th,.management-member-table td{padding-left:12px;padding-right:12px;vertical-align:middle}
.management-member-table td:nth-child(3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.management-member-table .management-user-with-avatar{align-items:center}.management-member-table .management-user-with-avatar>span:last-child{max-width:none}.management-member-table .management-user-with-avatar small{white-space:normal;line-height:1.35}
.member-sort-head{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.member-sort-toggle,.member-sort-clear{display:inline-grid;place-items:center;text-decoration:none;border:1px solid #d9cfba;background:#fff;color:var(--green-dark);width:20px;height:20px;border-radius:4px;font-size:13px;line-height:1;font-weight:900;transition:.15s}.member-sort-toggle:hover,.member-sort-toggle.is-active{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.member-sort-clear{width:17px;height:17px;border:0;background:transparent;color:var(--red);font-size:15px}.member-sort-clear:hover{background:#fff0f1;color:#8f101d}
@media(max-width:900px){.management-member-table{min-width:1020px}.management-member-table col.col-member{width:240px}.management-member-table col.col-email{width:130px}}

/* V145 - Thu gọn tab Thông tin tài khoản để xem lướt nhanh */
.profile-panel{padding-top:14px!important;padding-bottom:14px!important}
.profile-panel>.account-section-heading{margin-bottom:8px!important}
.profile-panel>.account-section-heading h2{margin:1px 0 0!important;font-size:20px!important}
.profile-panel .section-kicker{margin-bottom:1px!important;font-size:10px!important}
.profile-panel .profile-avatar-section{grid-template-columns:66px minmax(0,1fr) auto;gap:12px;padding:10px 12px;margin:0 0 8px}
.profile-panel .profile-avatar-preview{width:58px;height:58px}
.profile-panel .profile-avatar-copy>b{font-size:12px}
.profile-panel .profile-avatar-copy p{margin:2px 0 0;font-size:11px;line-height:1.3}
.profile-panel .profile-avatar-copy small{font-size:10px;line-height:1.25}
.profile-panel .profile-avatar-form{gap:5px}
.profile-panel .profile-avatar-form label{font-size:11px}
.profile-panel .profile-avatar-form .button{padding:6px 9px;font-size:11px}
.profile-panel .profile-account-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0;padding:8px 10px}
.profile-panel .profile-account-summary p{gap:1px;padding:0 8px;border-right:1px solid #ddd3bd;font-size:12px;line-height:1.25}
.profile-panel .profile-account-summary p:last-child{border-right:0}
.profile-panel .profile-account-summary b{font-size:9px;margin-bottom:1px}
.profile-panel .profile-data-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.profile-panel .profile-data-grid p{padding:6px 8px;gap:1px;min-height:0}
.profile-panel .profile-data-grid b{font-size:9px;line-height:1.15}
.profile-panel .profile-data-grid span{font-size:11px;line-height:1.25}
.profile-panel .profile-edit-form{gap:8px}
.profile-panel .profile-edit-form label{gap:3px;font-size:11px}
.profile-panel .profile-edit-form input{min-height:36px;padding:6px 8px;font-size:12px}
.profile-panel .profile-edit-form textarea{min-height:58px;padding:6px 8px;font-size:12px}
.self-member-summary.compact-section,.self-member-summary~.compact-section{padding:12px 14px;margin-bottom:8px}
.self-member-summary .account-section-heading,.self-member-summary~.compact-section .account-section-heading{margin-bottom:7px}
.self-member-summary .account-section-heading h2,.self-member-summary~.compact-section .account-section-heading h2{font-size:17px}
.self-member-summary .compact-head-stats div{padding:6px 8px}
.self-member-summary .member-metric-grid>div{padding:7px 8px}
.self-member-summary~.compact-section .compact-info-grid{gap:5px}
.self-member-summary~.compact-section .compact-info-grid p{padding:6px 8px}
.self-member-summary~.compact-section .compact-info-grid b{font-size:9px;margin-bottom:1px}
.self-member-summary~.compact-section .compact-info-grid span{font-size:11px;line-height:1.25}
@media(max-width:1050px){.profile-panel .profile-data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.profile-panel .profile-avatar-section{grid-template-columns:58px minmax(0,1fr)}.profile-panel .profile-avatar-form{grid-column:1/-1}.profile-panel .profile-account-summary{grid-template-columns:1fr}.profile-panel .profile-account-summary p{border-right:0;border-bottom:1px solid #ddd3bd;padding:4px 0}.profile-panel .profile-account-summary p:last-child{border-bottom:0}.profile-panel .profile-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.profile-panel .profile-data-grid{grid-template-columns:1fr}}

/* V146 - Quản lý web */
.web-management-panel .web-social-heading{margin-top:22px;padding-top:18px;border-top:1px solid rgba(0,80,55,.18)}
.site-contact-admin-form textarea{width:100%;min-height:74px;resize:vertical}
.site-contact-admin-form .span-two{grid-column:1/-1}
@media(max-width:760px){.site-contact-admin-form .span-two{grid-column:auto}}
/* V148 - Giải thích rõ % hoàn thiện hồ sơ */
.completion-stat{position:relative}.completion-help-btn{margin-top:4px;border:0;background:transparent;padding:0;color:#9a6a17;font-size:10px;font-weight:800;cursor:pointer;text-decoration:underline}.profile-completion-guide{border:1px solid #e4d7bd;background:#fffdf8}.completion-guide-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.completion-guide-head h2{margin:1px 0 3px!important}.completion-guide-head p{margin:0;font-size:12px;color:#6f675d}.completion-progress{height:8px;background:#eee8dc;border-radius:99px;overflow:hidden;margin:10px 0}.completion-progress span{display:block;height:100%;background:#0b684b;border-radius:99px}.completion-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.completion-check{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid #eee4d5;border-radius:7px;background:#fff;min-width:0}.completion-check i{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;font-style:normal;font-weight:900;font-size:12px}.completion-check span,.completion-check b,.completion-check small{display:block;min-width:0}.completion-check b{font-size:11px;line-height:1.2}.completion-check small{font-size:9px;margin-top:2px;color:#776e63}.completion-check.is-done i{background:#dff4e9;color:#086244}.completion-check.is-done b{color:#476158}.completion-check.is-missing{background:#fff9ed;border-color:#ead5a5}.completion-check.is-missing i{background:#ffe3a6;color:#835600}.completion-check.is-missing b{color:#7b570d}.completion-note{margin-top:8px;padding:8px 10px;border-radius:7px;background:#fff4d7;color:#66501a;font-size:11px}.completion-note.is-complete{background:#e5f5ec;color:#075d42}
.completion-cell{position:relative;overflow:visible!important}.completion-popover{position:relative}.completion-popover>summary{display:inline-flex;align-items:center;gap:5px;list-style:none;cursor:pointer;font-size:12px;font-weight:850;color:#7b5810}.completion-popover>summary::-webkit-details-marker{display:none}.completion-popover>summary span{display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid #d8bd7b;border-radius:50%;font-size:10px;background:#fff8e8}.completion-popover-box{display:none;position:absolute;z-index:50;top:24px;right:0;width:330px;max-height:390px;overflow:auto;padding:10px;background:#fff;border:1px solid #d9c9aa;border-radius:9px;box-shadow:0 12px 30px rgba(0,0,0,.17);text-align:left}.completion-popover[open] .completion-popover-box{display:block}.completion-popover-box header{display:flex;justify-content:space-between;gap:8px;align-items:center;padding-bottom:7px;border-bottom:1px solid #eee4d5}.completion-popover-box header a{font-size:10px;font-weight:800}.completion-popover-box p{margin:7px 0 4px;font-size:10px}.completion-popover-box ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.completion-popover-box li{display:flex;justify-content:space-between;gap:8px;padding:5px 6px;border-radius:5px;background:#fff8ea;font-size:10px}.completion-popover-box li b{font-size:10px;color:#5e4b1d}.completion-popover-box li em{font-style:normal;white-space:nowrap;color:#8d6b21}.completion-popover-box .complete-text{color:#086244;font-weight:900}
@media(max-width:900px){.completion-check-grid{grid-template-columns:1fr 1fr}.completion-guide-head{display:block}.completion-guide-head .button{margin-top:8px}.completion-popover-box{left:0;right:auto;width:300px}}

/* V150 - danh mục chức vụ và nhiều chức vụ cho một thành viên */
.web-role-heading{margin-top:22px;padding-top:18px;border-top:1px solid rgba(0,80,55,.18)}
.role-catalog-list{display:grid;gap:8px;margin-top:12px}.role-catalog-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:10px;border:1px solid #e8dfd1;border-radius:9px;background:#fff}.role-catalog-row{display:grid;grid-template-columns:minmax(180px,1.2fr) 90px 130px minmax(220px,1.5fr) auto;gap:8px;align-items:end}.role-catalog-row label{display:grid;gap:4px;font-size:11px;font-weight:800;color:#635a50}.role-catalog-row input,.role-catalog-row select{width:100%;padding:8px;border:1px solid #ddd3c3;border-radius:6px}.role-delete-form button{padding:8px 10px;background:#fff;border:1px solid #e4b7bc;border-radius:6px}.member-position-admin-block{margin-top:14px;padding-top:14px;border-top:1px solid #e8dfd1}.member-position-admin-block .sub-heading{margin-bottom:8px}.position-warning{padding:10px 12px;margin:8px 0;background:#fff5d9;border:1px solid #ecd899;border-radius:8px;font-size:12px}.position-warning a{font-weight:900;color:var(--green-dark)}.member-position-list{display:grid;gap:10px}.member-position-card{border:1px solid #e7ded1;border-radius:10px;background:#fff;overflow:hidden}.member-position-card>header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:#f8f5ee}.member-position-card>header b,.member-position-card>header span{display:block}.member-position-card>header b{color:var(--green-dark);font-size:14px}.member-position-card>header span{font-size:11px;color:#746b60;margin-top:2px}.member-position-card>header em{font-style:normal;font-size:10px;font-weight:900;padding:4px 7px;border-radius:999px;background:#dff3ea;color:#086044}.member-position-card.is-ended>header em{background:#eee;color:#666}.position-delete-form{padding:0 10px 10px;text-align:right}.position-delete-form button{padding:6px 10px;background:#fff;border:1px solid #e4b7bc;border-radius:6px}.add-position-box{margin-top:10px}
@media(max-width:980px){.role-catalog-row{grid-template-columns:repeat(2,minmax(0,1fr))}.role-catalog-row .role-description{grid-column:1/-1}.role-catalog-item{grid-template-columns:1fr}.role-delete-form{text-align:right}}


/* V159: Hoạt động xổ danh sách 6 Ban/bộ phận ngay trên menu chính */
.activity-menu{height:52px;position:relative}
.activity-menu>button{align-items:center;background:transparent;border:0;color:rgba(255,255,255,.88);cursor:pointer;display:flex;font:inherit;font-size:13px;font-weight:700;gap:7px;height:52px;letter-spacing:.035em;padding:0 20px;text-transform:uppercase}
.activity-menu.active>button,.activity-menu>button:hover,.activity-menu:focus-within>button{background:var(--red);color:var(--white)}
.activity-submenu{background:var(--white);box-shadow:0 14px 32px rgba(0,0,0,.18);display:none;left:0;min-width:285px;position:absolute;top:52px;z-index:33}
.activity-menu:hover .activity-submenu,.activity-menu:focus-within .activity-submenu,.activity-menu.is-open .activity-submenu{display:grid}
.activity-submenu a{border-bottom:1px solid var(--line);color:var(--green-dark);font-size:13px;font-weight:700;padding:14px 18px;text-decoration:none;white-space:nowrap}
.activity-submenu a:hover{background:var(--cream);color:var(--red)}
.activity-submenu a.active{background:#f4efe1;color:var(--red);border-left:4px solid var(--red);padding-left:14px}
@media(max-width:900px){.activity-menu{height:auto}.activity-menu>button{border-bottom:1px solid rgba(255,255,255,.12);justify-content:space-between;padding:0 4px;width:100%}.activity-menu.active>button,.activity-menu>button:hover,.activity-menu:focus-within>button{background:transparent;color:var(--gold-light)}.activity-submenu{background:rgba(0,0,0,.13);box-shadow:none;min-width:0;position:static}.activity-submenu a{border-bottom-color:rgba(255,255,255,.08);color:rgba(255,255,255,.86);padding:14px 22px;white-space:normal}.activity-submenu a.active{background:rgba(255,255,255,.08);border-left-color:var(--gold-light);color:var(--gold-light)}}

/* ========================================================================
   V219 - FLUID / FULL-WIDTH DESKTOP LAYOUT
   Mục tiêu: giao diện tự giãn theo chiều rộng màn hình như các website doanh
   nghiệp hiện đại, không còn bị khóa trong khung max-width cố định.
   ======================================================================== */
:root {
  --page-gutter: clamp(20px, 3.6vw, 78px);
}

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body,
.site-header,
.utility-bar,
.nav-shell,
main,
.hero,
.announcement,
.section,
.quote-section,
.membership-cta,
.site-footer {
  width: 100%;
}

/* Toàn bộ khối dùng .container giờ là fluid container: luôn theo viewport. */
.container {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
}

/* Header/nav cũng khai thác hết bề ngang thay vì co vào khung cố định. */
.brand-row,
.utility-inner,
.primary-nav {
  width: 100%;
}

/* Trang chủ: tăng tỷ lệ không gian cho ảnh trên màn hình lớn. */
.hero-grid {
  width: 100%;
  grid-template-columns: minmax(360px, 0.72fr) minmax(540px, 1.28fr);
  gap: clamp(34px, 4vw, 78px);
}

.hero-copy,
.hero-visual,
.hero-image-wrap {
  min-width: 0;
}

.hero-image-wrap img {
  width: 100%;
  height: 100%;
}

/* Các khu vực dạng lưới luôn co giãn theo chiều rộng thực tế. */
.intro-grid,
.values-grid,
.quote-grid,
.section-heading-row,
.connection-flow-grid,
.membership-inner,
.footer-grid {
  width: 100%;
  min-width: 0;
}

/* Laptop / desktop nhỏ: giảm khoảng lề và khoảng cách, vẫn giữ layout 2 cột. */
@media (min-width: 981px) and (max-width: 1280px) {
  :root { --page-gutter: clamp(24px, 2.8vw, 38px); }

  .primary-nav > a {
    font-size: 11px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .management-menu > button,
  .activity-menu > button,
  .trade-menu > button,
  .member-menu > button {
    font-size: 11px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .hero-grid {
    grid-template-columns: minmax(320px, 0.82fr) minmax(470px, 1.18fr);
    gap: clamp(28px, 3vw, 42px);
  }

  .hero h1 {
    font-size: clamp(38px, 4.1vw, 50px);
  }
}

/* Màn hình cực rộng: vẫn giãn theo viewport nhưng tăng gutter vừa phải để cân đối. */
@media (min-width: 1921px) {
  :root { --page-gutter: clamp(78px, 4.5vw, 132px); }

  .hero-grid {
    grid-template-columns: minmax(430px, 0.7fr) minmax(720px, 1.3fr);
  }
}

/* Tablet ngang / màn hình hẹp: chuyển một cột sớm để không bị ép nội dung. */
@media (max-width: 980px) {
  :root { --page-gutter: clamp(20px, 4vw, 34px); }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .hero-visual {
    margin-left: 0;
    width: 100%;
  }
}

@media (max-width: 600px) {
  :root { --page-gutter: 18px; }
  .container {
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
  }
}

/* ========================================================================
   V220 - TRUE FULL-WIDTH / EDGE RESPONSIVE
   V219 đã bỏ max-width nhưng gutter desktop còn lớn (3.6vw), nên trên màn
   hình rộng vẫn tạo cảm giác website bị bó vào giữa. V220 giữ container
   fluid 100% và giảm lề ngang về mức nhỏ, tự co giãn theo viewport.
   ======================================================================== */
:root {
  --page-gutter: clamp(14px, 1.35vw, 30px);
}

.container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
}

/* Đảm bảo các dải nền và khối cấp 1 luôn chạm hai cạnh viewport. */
.site-header,
.utility-bar,
.nav-shell,
main,
.hero,
.announcement,
.section,
.quote-section,
.membership-cta,
.site-footer,
.content-section,
.inner-hero,
.internal-page {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Desktop/laptop: không quay lại gutter lớn ở các breakpoint của V219. */
@media (min-width: 981px) and (max-width: 1280px) {
  :root { --page-gutter: clamp(16px, 1.45vw, 22px); }
}

/* Full HD, 2K, 4K, ultrawide: chỉ tăng lề nhẹ, không co nội dung về giữa. */
@media (min-width: 1921px) {
  :root { --page-gutter: clamp(26px, 1.05vw, 42px); }
}

/* Tablet vẫn giữ khoảng thở đủ dùng; mobile ưu tiên 14-16px. */
@media (max-width: 980px) {
  :root { --page-gutter: clamp(16px, 2.4vw, 22px); }
}

@media (max-width: 600px) {
  :root { --page-gutter: 14px; }
}

/* V224 - Quản lý 4 thành phần nhận diện đầu trang */
.site-branding-admin{margin-top:18px}
.site-branding-form .span-two{grid-column:1/-1}
.site-branding-form>label>b,.site-brand-logo-copy>b,.site-brand-name-group legend b{display:block;margin-bottom:4px;color:var(--green)}
.site-brand-name-group{grid-column:1/-1;margin:0;padding:16px;border:1px solid #dfd1b3;background:#fff}
.site-brand-name-group legend{padding:0 8px;color:var(--green)}
.site-brand-name-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.site-brand-logo-field{border:1px solid #dfd1b3;background:#fff;padding:16px}
.site-brand-logo-copy{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}
.site-brand-logo-copy small{font-weight:500;color:#6d675d}
.site-brand-logo-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.site-brand-logo-preview{width:108px;height:96px;display:flex;align-items:center;justify-content:center;border:1px solid #dfd1b3;background:#fbf8ef;padding:7px;overflow:hidden}
.site-brand-logo-preview img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.site-brand-logo-row>label{min-width:260px;flex:1}
.site-brand-logo-reset{display:flex!important;align-items:center;gap:8px;min-width:auto!important;flex:0 0 auto!important;color:#8f1020!important}
.site-brand-logo-reset input{width:auto!important;margin:0!important}
.site-branding-form .field-help{display:block;margin-top:6px;color:#7a746a;font-size:12px;font-weight:500;line-height:1.45}
@media(max-width:760px){.site-branding-form .span-two{grid-column:auto}.site-brand-name-group{grid-column:auto}.site-brand-name-group>div{grid-template-columns:1fr}.site-brand-logo-row{align-items:flex-start}.site-brand-logo-row>label{min-width:100%}}
\n\n/* V225 - Quản lý nhiều Văn phòng/Chi nhánh ở chân trang */
.footer-locations{display:flex;flex-direction:column;gap:22px;min-width:0}
.footer-location-block{min-width:0}
.footer-location-block+.footer-location-block{border-top:1px solid rgba(255,255,255,.12);padding-top:18px}
.footer-location-block h3{margin-bottom:10px}
.footer-location-block p{overflow-wrap:anywhere}
.footer-location-contact{display:flex;flex-wrap:wrap;gap:0}
.footer-location-heading{margin-top:22px;padding-top:18px;border-top:1px solid rgba(0,80,55,.18)}
.footer-location-form{display:flex;flex-direction:column;gap:16px}
.footer-location-list{display:grid;gap:14px}
.footer-location-editor{border:1px solid #dfd1b3;background:#fff;padding:16px}
.footer-location-editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;color:var(--green)}
.footer-location-remove{border:0;background:transparent;color:#a71822;font:inherit;font-weight:800;cursor:pointer;padding:4px 0}
.footer-location-remove:hover{text-decoration:underline}
.footer-location-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.footer-location-fields .span-two{grid-column:1/-1}
.footer-location-fields textarea{width:100%;min-height:68px;resize:vertical}
.footer-location-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
@media(max-width:760px){.footer-location-fields{grid-template-columns:1fr}.footer-location-fields .span-two{grid-column:auto}}


/* V232 — thống kê Trang chủ vẫn có thể hiển thị độc lập khi ẩn Hero */
.home-stats-standalone{background:#f4efdF;padding:30px 0 34px}
.home-stats-standalone .hero-meta{margin-top:0}

/* V233 — Hero media carousel Trang chủ */
.hero-carousel{position:relative;height:420px;border:1px solid rgba(181,154,60,.55);box-shadow:28px 28px 0 rgba(181,154,60,.16);overflow:visible;background:#170706}
.hero-carousel-viewport{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pan-y;cursor:grab}
.hero-carousel-viewport.is-dragging{cursor:grabbing}
.hero-carousel-track{display:flex;width:100%;height:100%;transition:transform .42s cubic-bezier(.22,.61,.36,1);will-change:transform}
.hero-carousel-slide{position:relative;flex:0 0 100%;width:100%;height:100%;min-width:0;overflow:hidden;background:#100}
.hero-carousel-slide img,.hero-carousel-slide video,.hero-carousel-slide iframe{display:block;width:100%;height:100%;border:0}
.hero-carousel-slide img,.hero-carousel-slide video{object-fit:cover}
.hero-carousel-slide iframe{background:#000}
.hero-carousel-arrow{position:absolute;z-index:7;top:50%;transform:translateY(-50%);width:44px;height:58px;border:1px solid rgba(255,255,255,.5);background:rgba(0,55,40,.74);color:#fff;font-size:36px;line-height:1;border-radius:2px;display:grid;place-items:center;cursor:pointer;opacity:.88;transition:opacity .18s ease,background .18s ease}
.hero-carousel-arrow:hover,.hero-carousel-arrow:focus-visible{opacity:1;background:rgba(0,73,53,.94)}
.hero-carousel-prev{left:14px}.hero-carousel-next{right:14px}
.hero-carousel-dots{position:absolute;z-index:8;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 9px;border-radius:999px;background:rgba(0,0,0,.28);backdrop-filter:blur(4px)}
.hero-carousel-dot{width:9px;height:9px;min-width:9px;padding:0;border:1px solid rgba(255,255,255,.85);border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer}
.hero-carousel-dot.is-active{width:24px;border-radius:999px;background:#fff}
.hero-visual>.hero-note{z-index:9}
@media(max-width:1050px){.hero-carousel{height:380px}}
@media(max-width:620px){.hero-carousel{height:280px;box-shadow:14px 14px 0 rgba(181,154,60,.16)}.hero-carousel-arrow{width:38px;height:48px;font-size:30px}.hero-carousel-prev{left:7px}.hero-carousel-next{right:7px}.hero-carousel-dots{bottom:9px}.hero-carousel-dot{width:8px;height:8px;min-width:8px}.hero-carousel-dot.is-active{width:20px}}
@media(prefers-reduced-motion:reduce){.hero-carousel-track{transition:none}}

/* ========================================================================
   V236 — Responsive media rendering sau khi chuyển giao diện full-width
   Mục tiêu: khối nội dung được tái bố cục theo viewport nhưng ảnh/video
   luôn giữ đúng tỷ lệ, không bị ép thấp/cắt cụt chỉ vì màn hình rộng.
   ======================================================================== */

/* Hero: chiều cao đi theo tỷ lệ media đang hiển thị thay vì khóa 420px. */
.hero-visual {
  min-height: 0;
}
.hero-carousel {
  --hero-media-ratio: 1.7777778;
  width: 100%;
  height: auto;
  aspect-ratio: var(--hero-media-ratio);
  min-height: 0;
  max-height: none;
  transition: aspect-ratio .2s ease;
}
.hero-carousel-viewport,
.hero-carousel-track,
.hero-carousel-slide {
  height: 100%;
}
.hero-carousel-slide img,
.hero-carousel-slide video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #140706;
}
.hero-carousel-slide iframe {
  width: 100%;
  height: 100%;
  background: #000;
}

/* Desktop rộng: chia lại tỷ lệ chữ/ảnh theo viewport, không kéo ảnh thành dải mỏng. */
@media (min-width: 1500px) {
  .hero-grid {
    grid-template-columns: minmax(390px, .68fr) minmax(0, 1.32fr);
    gap: clamp(42px, 3.6vw, 82px);
  }
}
@media (min-width: 2100px) {
  .hero-grid {
    grid-template-columns: minmax(440px, .64fr) minmax(0, 1.36fr);
  }
}

/* Dòng chảy kết nối Trang chủ đã được layout lại tại khối V241 phía trên. */
/* Tin tức: ảnh danh sách cũng giữ tỷ lệ chuẩn và không bị kéo theo chiều cao của phần chữ. */
.dynamic-article-list .article-row {
  align-items: start;
  grid-template-columns: minmax(300px, 36%) minmax(0, 1fr);
}
.dynamic-article-list .article-image {
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  background: #eee8dc;
}
.dynamic-article-list .article-image img {
  object-fit: contain;
  object-position: center;
}
.dynamic-article-list .article-row > div {
  padding: clamp(22px, 2.1vw, 40px);
}
.dynamic-article-list .article-row h2 {
  font-size: clamp(24px, 1.75vw, 34px);
}

@media (max-width: 1100px) {
  .dynamic-article-list .article-row { grid-template-columns: minmax(260px, 42%) minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .dynamic-article-list .article-row { grid-template-columns: 1fr; }
  .dynamic-article-list .article-image { aspect-ratio: 16 / 9; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-carousel { transition: none; }
}

/* ========================================================================
   V237 — Khóa toàn bộ media Hero theo đúng tỷ lệ ảnh chuẩn 1659 × 948.
   - Khung trình chiếu không đổi chiều cao khi chuyển ảnh/video.
   - Media lấp đầy khung, không bị kéo méo.
   - Ảnh khác tỷ lệ được crop cân giữa thay vì làm khung co/ngắn lại.
   ======================================================================== */
.hero-carousel {
  --hero-media-ratio: 1659 / 948;
  width: 100%;
  height: auto;
  aspect-ratio: 1659 / 948 !important;
  min-height: 0;
  max-height: none;
  transition: none;
}
.hero-carousel-viewport,
.hero-carousel-track,
.hero-carousel-slide {
  width: 100%;
  height: 100%;
}
.hero-carousel-slide img,
.hero-carousel-slide video,
.hero-carousel-slide iframe {
  width: 100%;
  height: 100%;
}
.hero-carousel-slide img,
.hero-carousel-slide video {
  object-fit: cover;
  object-position: center center;
}
/* Preview trong quản trị cũng dùng đúng tỷ lệ chuẩn để xem trước sát giao diện thật. */
.hero-media-admin-preview {
  aspect-ratio: 1659 / 948;
  height: auto !important;
  min-height: 0;
}
.hero-media-admin-preview img,
.hero-media-admin-preview video,
.hero-media-admin-preview iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}


/* V238 - Quản lý và hiển thị ứng dụng chat nổi toàn website */
.floating-chat-dock{position:fixed;right:20px;top:auto;bottom:24px;transform:none;z-index:9998;display:flex;flex-direction:column;gap:12px;align-items:flex-end;pointer-events:none}
.floating-chat-button{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #d9e0dc;box-shadow:0 7px 24px rgba(0,0,0,.16);text-decoration:none;pointer-events:auto;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.floating-chat-button:hover,.floating-chat-button:focus-visible{transform:translateX(-3px) scale(1.05);box-shadow:0 10px 30px rgba(0,0,0,.22);outline:none}
.floating-chat-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;overflow:hidden}
.floating-chat-icon img{display:block;width:32px;height:32px;object-fit:contain}
.floating-chat-tooltip{position:absolute;right:64px;top:50%;transform:translateY(-50%) translateX(5px);padding:7px 10px;border-radius:6px;background:#17392f;color:#fff;font-size:12px;font-weight:800;white-space:nowrap;opacity:0;visibility:hidden;transition:.16s ease;box-shadow:0 5px 16px rgba(0,0,0,.15)}
.floating-chat-tooltip:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#17392f}
.floating-chat-button:hover .floating-chat-tooltip,.floating-chat-button:focus-visible .floating-chat-tooltip{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.floating-chat-button.chat-facebook{border-color:#1877f2}.floating-chat-button.chat-tiktok{border-color:#222}.floating-chat-button.chat-youtube{border-color:#ff0000}.floating-chat-button.chat-linkedin{border-color:#0a66c2}.floating-chat-button.chat-instagram{border-color:#c13584}.floating-chat-button.chat-x{border-color:#111}.floating-chat-button.chat-threads{border-color:#111}.floating-chat-button.chat-zalo{border-color:#1688e8}.floating-chat-button.chat-messenger{border-color:#a15be5}.floating-chat-button.chat-phone{border-color:#27b968}.floating-chat-button.chat-whatsapp{border-color:#25d366}.floating-chat-button.chat-telegram{border-color:#229ed9}.floating-chat-button.chat-viber{border-color:#7360f2}.floating-chat-button.chat-email{border-color:#c39941}.floating-chat-button.chat-website{border-color:#0b6b4b}.floating-chat-button.chat-google_maps{border-color:#4285f4}
.floating-chat-admin{padding:0;background:transparent;border:0}.floating-chat-admin-form{display:grid;gap:14px}.floating-chat-admin-list{display:grid;gap:12px}.floating-chat-editor{border:1px solid #dfd1b3;background:#fff;padding:16px}.floating-chat-editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:11px;margin-bottom:12px;border-bottom:1px solid #eee6d8}.floating-chat-editor-head b{color:var(--green);font-size:15px}.floating-chat-remove{border:0;background:transparent;color:#b51225;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.floating-chat-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.floating-chat-editor-fields label{font-weight:800;color:var(--green)}.floating-chat-editor-fields input,.floating-chat-editor-fields select{width:100%;margin-top:6px;min-height:42px}.floating-chat-editor-fields .span-two{grid-column:1/-1}.floating-chat-admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}.floating-chat-heading{margin-top:34px}
@media(max-width:760px){.floating-chat-dock{right:10px;top:auto;bottom:18px;transform:none;gap:9px}.floating-chat-button{width:48px;height:48px}.floating-chat-icon{width:34px;height:34px}.floating-chat-icon img{width:29px;height:29px}.floating-chat-tooltip{display:none}.floating-chat-editor-fields{grid-template-columns:1fr}.floating-chat-editor-fields .span-two{grid-column:auto}}


/* ========================================================================
   V243 - DYNAMIC PRIMARY THEME COLOR
   Admin Level 5: Quản lý web > Màu giao diện.
   ======================================================================== */
.web-theme-panel{display:grid;gap:22px}
.theme-color-form{display:grid;gap:22px}
.theme-current-status{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);background:#fff}
.theme-current-status .theme-current-swatch{width:54px;height:54px;flex:0 0 54px;border-radius:12px;background:var(--current-theme);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 7px 18px rgba(0,0,0,.08)}
.theme-current-status .theme-current-swatch.is-default{background:linear-gradient(135deg,#B31224 0 49%,#075A3A 51% 100%)}
.theme-current-status b,.theme-current-status span{display:block}.theme-current-status span{margin-top:4px;color:var(--muted);font-size:13px}
.theme-preset-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.theme-preset{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;text-align:left;border:1px solid #d8d5ce;background:#fff;padding:12px;border-radius:10px;color:#252822;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.theme-preset:hover{transform:translateY(-1px);border-color:#8d9189;box-shadow:0 7px 18px rgba(0,0,0,.07)}
.theme-preset.is-selected{border:2px solid var(--swatch,currentColor);padding:11px;box-shadow:0 0 0 3px rgba(0,0,0,.04)}
.theme-preset>i{display:block;width:42px;height:42px;border-radius:10px;background:linear-gradient(90deg,color-mix(in srgb,var(--swatch) 78%,#000 22%) 0%,var(--swatch) 52%,color-mix(in srgb,var(--swatch) 70%,#fff 30%) 100%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.theme-preset>span{min-width:0}.theme-preset b,.theme-preset code,.theme-preset small{display:block}.theme-preset b{font-size:13px}.theme-preset code{margin-top:3px;font-size:12px;color:#555}.theme-preset small{margin-top:3px;color:#7a7d76;font-size:10px;line-height:1.35}
.theme-custom-row{display:grid;grid-template-columns:minmax(280px,1fr) 170px 210px;gap:16px;align-items:end;padding:18px;border:1px solid var(--line);background:var(--cream)}
.theme-custom-row .section-kicker{margin-bottom:6px}.theme-custom-row h3{margin:0 0 7px}.theme-custom-row p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.theme-picker-label,.theme-code-label{display:grid;gap:7px;font-weight:800}
.theme-picker-label input[type=color]{width:100%;height:48px;padding:3px;background:#fff;cursor:pointer}.theme-code-label input{text-transform:uppercase;font-family:Consolas,"Courier New",monospace!important;font-weight:800;letter-spacing:.04em}
.theme-live-preview{overflow:hidden;border:1px solid #d6d9d7;border-radius:11px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.07)}
.theme-preview-top{background:linear-gradient(90deg,color-mix(in srgb,var(--preview-primary) 90%,#000 10%) 0%,color-mix(in srgb,var(--preview-primary) 94%,#000 6%) 16%,color-mix(in srgb,var(--preview-primary) 98%,#000 2%) 32%,var(--preview-primary) 48%,color-mix(in srgb,var(--preview-primary) 93%,#fff 7%) 66%,color-mix(in srgb,var(--preview-primary) 86%,#fff 14%) 83%,color-mix(in srgb,var(--preview-primary) 78%,#fff 22%) 100%);color:var(--preview-on);padding:7px 16px;text-align:right;font-size:10px;font-weight:800;letter-spacing:.08em}
.theme-preview-nav{display:flex;align-items:center;gap:0;background:var(--preview-dark);color:#fff;min-height:48px}.theme-preview-nav strong{margin-right:auto;padding:0 16px}.theme-preview-nav span{align-self:stretch;display:flex;align-items:center;padding:0 16px;font-size:12px;font-weight:800}.theme-preview-nav span.active{background:var(--preview-primary);color:var(--preview-on)}
.theme-preview-content{padding:22px}.theme-preview-content p{margin:0;color:var(--preview-primary);font-size:11px;font-weight:900;letter-spacing:.15em}.theme-preview-content h3{margin:6px 0 14px;font-size:24px}.theme-preview-content button{border:0;background:var(--preview-primary);color:var(--preview-on);padding:10px 16px;font:inherit;font-weight:800;border-radius:5px}
.theme-form-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Khi Admin đã chọn màu tùy chỉnh, các biến thương hiệu phía trên đã được
   ánh xạ theo theme. Các rule dưới đây xử lý thêm một số màu cũ từng viết
   trực tiếp bằng mã HEX để giao diện đồng bộ hơn. */
.has-custom-theme .account-subtabs{border-bottom-color:var(--theme-primary-dark)}
.has-custom-theme .account-subtabs a{border-color:var(--theme-primary-dark);color:var(--theme-primary-dark)}
.has-custom-theme .account-subtabs a:hover{background:var(--theme-primary-faint);color:var(--theme-primary-dark)}
.has-custom-theme .account-subtabs a.active{background:var(--theme-primary-dark);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.has-custom-theme .site-footer{background:var(--theme-primary-deep)}
.has-custom-theme .button-primary,
.has-custom-theme .primary-nav>a.active,
.has-custom-theme .management-menu.active>button,
.has-custom-theme .management-menu>button:hover,
.has-custom-theme .management-menu:focus-within>button,
.has-custom-theme .trade-menu.active>button,
.has-custom-theme .trade-menu>button:hover,
.has-custom-theme .trade-menu:focus-within>button,
.has-custom-theme .member-menu.active>button,
.has-custom-theme .member-menu>button:hover,
.has-custom-theme .member-menu:focus-within>button,
.has-custom-theme .activity-menu.active>button,
.has-custom-theme .activity-menu>button:hover,
.has-custom-theme .activity-menu:focus-within>button{color:var(--theme-on-primary)}
.has-custom-theme .management-submenu a.active,
.has-custom-theme .trade-submenu a.active,
.has-custom-theme .member-submenu a.active,
.has-custom-theme .activity-submenu a.active{background:var(--theme-primary-faint);color:var(--theme-primary-dark);border-left-color:var(--theme-primary)}
.has-custom-theme input:focus,.has-custom-theme textarea:focus,.has-custom-theme select:focus{outline-color:var(--theme-primary-soft);border-color:var(--theme-primary)}


/* V11 - dải màu mượt cho mọi màu preset và mọi mã HEX; logo giữ nguyên file gốc */
.has-custom-theme .utility-bar,
.has-custom-theme .brand-row{background:linear-gradient(90deg,var(--theme-grad-0) 0%,var(--theme-grad-1) 16%,var(--theme-grad-2) 32%,var(--theme-grad-3) 48%,var(--theme-grad-4) 66%,var(--theme-grad-5) 83%,var(--theme-grad-6) 100%)}
.has-custom-theme .site-header{background:transparent}
.has-custom-theme .utility-bar{color:var(--theme-on-primary)}
.has-custom-theme .utility-bar a{color:inherit}
.has-custom-theme .brand-row .brand strong,
.has-custom-theme .brand-row .brand b,
.has-custom-theme .brand-row .brand em{color:var(--theme-on-primary)}
.has-custom-theme .brand-row .desktop-login span,
.has-custom-theme .brand-row .desktop-login strong{color:var(--theme-on-primary)}
/* Các nút trạng thái có nền sáng nên phải dùng chữ tối; V10 từng ghi đè thành trắng nên nhìn như trống. */
.has-custom-theme .brand-row .member-head-counts a{background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.72);color:var(--theme-primary-deep);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.has-custom-theme .brand-row .member-head-counts a b{color:var(--theme-primary-dark)}
.has-custom-theme .brand-row .member-avatar-dropdown{background:#fff;border-color:rgba(255,255,255,.78)}
.has-custom-theme .brand-row .member-avatar-dropdown a{color:var(--theme-primary-deep)}
.has-custom-theme .brand-row .member-avatar-dropdown a:hover{color:var(--theme-primary-dark);background:var(--theme-primary-faint)}
.has-custom-theme .brand-row .member-avatar-dropdown .header-logout{color:var(--theme-primary-dark)}

@media(max-width:1050px){.theme-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-custom-row{grid-template-columns:1fr 150px 190px}}
@media(max-width:680px){.theme-preset-grid{grid-template-columns:1fr}.theme-custom-row{grid-template-columns:1fr}.theme-form-actions .button{width:100%}.theme-preview-nav strong{display:none}.theme-preview-nav span{flex:1;justify-content:center;padding:0 8px}}


/* V08 - footer logo + official channels layout */
.footer-grid.has-social{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.4fr);gap:80px;align-items:start}
.footer-brand-social{max-width:430px}
.footer-brand-social .footer-brand{align-items:center;gap:18px}
.footer-brand-social .footer-brand img{width:150px;height:100px;object-fit:contain}
.footer-brand-social .footer-social{margin-top:18px;padding-top:13px;border-top:1px dotted rgba(255,255,255,.55)}
.footer-brand-social .footer-social h3{margin:0 0 8px;font-size:14px;letter-spacing:.02em}
.footer-brand-social .footer-social-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.footer-brand-social .footer-social-links a{width:34px;min-width:34px;height:34px}
.footer-brand-social .footer-social-links a .social-brand-icon{width:34px;height:34px}
.footer-brand-social .footer-social-links a .social-brand-icon img{width:32px;height:32px}
.footer-brand-social .footer-social-links a.social-youtube img{width:24px;height:24px}
.footer-brand-social .footer-social-links a.social-linkedin img,.footer-brand-social .footer-social-links a.social-x img{width:26px;height:26px}
.footer-brand-social .footer-social-links a.social-email img{width:31px;height:31px}
@media(max-width:980px){.footer-grid.has-social{grid-template-columns:1fr 1fr;gap:44px}.footer-brand{grid-column:auto}}
@media(max-width:720px){.footer-grid.has-social{grid-template-columns:1fr;gap:34px}.footer-brand-social{max-width:none}.footer-brand-social .footer-brand img{width:125px;height:84px}.footer-brand-social .footer-social{max-width:330px}}

/* VNAS_V12 - tăng kích thước logo đầu trang và chân trang để cân đối khoảng trống */
.brand img{
  width:138px;
  height:110px;
  object-fit:contain;
  flex:0 0 auto;
}
.footer-brand-social .footer-brand img{
  width:190px;
  height:130px;
  object-fit:contain;
  flex:0 0 auto;
}
@media(max-width:860px){
  .brand img{width:108px;height:86px}
}
@media(max-width:720px){
  .footer-brand-social .footer-brand img{width:150px;height:105px}
  .footer-brand-social .footer-brand{gap:14px}
}
@media(max-width:600px){
  .brand img{width:90px;height:72px}
}
@media(max-width:480px){
  .footer-brand-social .footer-brand img{width:125px;height:88px}
}

/* VNAS_V14 - favicon riêng cho tab trình duyệt */
.site-favicon-preview{width:78px!important;height:78px!important;min-width:78px!important;padding:10px!important;background:#fff!important}.site-favicon-preview img{display:block;width:56px!important;height:56px!important;object-fit:contain!important}.site-favicon-field .site-brand-logo-copy small{max-width:820px}

/* ========================================================================
   VNAS_V20 — Ghi chú Hero di chuyển theo thứ tự ảnh/video
   - Tự chia đều quãng đường theo tổng số slide.
   - Slide đầu bám lề trái, slide cuối bám lề phải.
   - Các slide ở giữa nằm ở các vị trí chia đều tương ứng.
   ======================================================================== */
.hero-visual {
  position: relative;
  padding-bottom: 112px;
}
.hero-visual > .hero-note {
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  margin: 0;
  width: min(320px, calc(100% - 12px));
  max-width: 320px;
  box-sizing: border-box;
  justify-self: auto;
  transition: left .44s cubic-bezier(.22,.61,.36,1), opacity .2s ease;
  will-change: left;
}
@media (max-width: 620px) {
  .hero-visual { padding-bottom: 102px; }
  .hero-visual > .hero-note {
    width: min(280px, calc(100% - 8px));
    max-width: 280px;
    padding: 14px 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-visual > .hero-note { transition: none; }
}

/* ========================================================================
   VNAS_V21 — Tiêu đề Hero 3 dòng tự co theo chiều rộng
   Dòng giữa là trọng tâm: lớn nhất và luôn nằm trên một dòng.
   Dòng 1 + 3 luôn nhỏ hơn đúng một cấp so với dòng giữa.
   JS tự tính cỡ chữ lớn nhất có thể mà cả 3 dòng vẫn không vỡ dòng.
   ======================================================================== */
.hero h1.hero-title-fit{
  /* Cỡ dự phòng đã đủ gọn ngay từ khung hình đầu tiên; JS chỉ gán kết quả
     cuối cùng sau khi đo trên bản ẩn, không còn phóng to/thu nhỏ tiêu đề sống. */
  --hero-primary-size:clamp(32px,3.15vw,52px);
  --hero-secondary-size:clamp(28px,2.7vw,44px);
  display:grid;
  gap:2px;
  width:100%;
  max-width:none;
  margin:14px 0 22px;
  line-height:1.03;
  overflow:visible;
  transition:none!important;
}
.hero-title-line{
  display:block;
  min-width:0;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  font-weight:900;
  letter-spacing:-.035em;
  transition:none!important;
}
.hero-title-line:empty{display:none}
.hero-title-line-primary{
  font-size:var(--hero-primary-size);
  line-height:1.02;
  color:var(--theme-primary,var(--blue,#2ca4c8));
}
.hero-title-line-secondary{
  font-size:var(--hero-secondary-size);
  line-height:1.04;
  color:var(--ink,#171b18);
}
@media(max-width:980px){
  .hero h1.hero-title-fit{--hero-primary-size:clamp(38px,6vw,58px);--hero-secondary-size:clamp(33px,5.2vw,50px)}
}
@media(max-width:600px){
  .hero h1.hero-title-fit{--hero-primary-size:44px;--hero-secondary-size:39px;gap:3px}
  .hero-title-line{letter-spacing:-.025em}
}

/* ========================================================================
   VNAS_V23 — Cân chiều cao khối Hero + phân cấp màu tiêu đề 3 dòng
   - Cột chữ kéo giãn theo chiều cao cột ảnh/video thay vì bị căn giữa.
   - Thống kê bám về đáy để phần trái cân với phần ảnh bên phải.
   - Dòng 2 dùng màu nhận diện; dòng 1 & 3 dùng màu chữ tối.
   - Tăng nhẹ khoảng cách giữa 3 dòng nhưng vẫn giữ dòng 2 trên một dòng.
   ======================================================================== */
@media (min-width: 981px) {
  .hero-grid {
    align-items: stretch;
  }

  .hero-copy {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-height: 100%;
    padding-top: 0;
    padding-bottom: 0;
  }

  /* Đẩy khối thống kê xuống đáy để tận dụng toàn bộ chiều cao cột trái. */
  .hero-copy .hero-meta {
    margin-top: auto;
  }

  /* Giữ phần nút gắn với nội dung, phần khoảng trống còn lại tự phân bổ phía dưới. */
  .hero-copy .hero-actions {
    margin-bottom: clamp(22px, 2.2vw, 38px);
  }
}

.hero h1.hero-title-fit {
  gap: clamp(6px, .55vw, 10px);
  line-height: 1;
}

/* Tăng specificity để không bị rule cũ `.hero h1 span` ép tất cả thành màu nhận diện. */
.hero h1.hero-title-fit .hero-title-line-primary {
  color: var(--theme-primary, var(--blue, #2ca4c8));
}

.hero h1.hero-title-fit .hero-title-line-secondary {
  color: var(--ink, #171b18);
}

.hero h1.hero-title-fit .hero-title-line-primary,
.hero h1.hero-title-fit .hero-title-line-secondary {
  line-height: 1.02;
}

@media (max-width: 980px) {
  .hero h1.hero-title-fit {
    gap: 6px;
  }
}

@media (max-width: 600px) {
  .hero h1.hero-title-fit {
    gap: 5px;
  }
}


/* V34 - Quản lý chuyên mục bài viết */
.article-category-manager{margin-top:18px;padding:22px;border:1px solid var(--line);background:#fffdf8}
.category-manager-intro{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.category-manager-intro b{display:block;color:var(--green-dark);font-size:1.05rem}.category-manager-intro span{display:block;margin-top:4px;color:var(--muted);font-size:.9rem}
.category-add-form{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:end;margin-bottom:20px;padding:15px;border:1px solid #dfd6c2;background:#f8f5ed}
.category-add-form label{margin:0;font-weight:800;color:var(--green-dark)}.category-add-form input{width:100%;margin-top:6px}
.category-manager-list{display:grid;gap:9px}.category-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e4dccd;background:#fff}
.category-rename-form{display:grid;grid-template-columns:10px minmax(180px,1fr) auto auto;gap:10px;align-items:center;margin:0}.category-rename-form input{width:100%;margin:0}.category-order-dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}
.category-usage{white-space:nowrap;color:#6c746f;font-size:.82rem}.category-system-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 10px;border-radius:999px;background:#edf3ef;color:#42665a;font-size:.78rem;font-weight:800}
.category-manager-row>form:last-child{margin:0}.category-manager-row .danger{white-space:nowrap}.category-manager-row.is-protected{background:#f7f8f6}.category-manager-row.is-protected input[readonly]{background:#f0f1ef;color:#727771}
.category-manager-note{margin:16px 0 0;color:#6d6a62;font-size:.84rem;line-height:1.5}
@media(max-width:760px){.category-add-form,.category-manager-row{grid-template-columns:1fr}.category-rename-form{grid-template-columns:10px minmax(0,1fr);}.category-rename-form .category-usage,.category-rename-form .category-system-badge,.category-rename-form .button{grid-column:2}.category-manager-row>form:last-child{justify-self:start}}

/* V36 - Word article import feedback */
.word-import-status{display:block;margin-top:8px;font-size:13px;font-weight:800;min-height:20px}.word-import-status[data-state=loading]{color:#7a6200}.word-import-status[data-state=success]{color:#08704f}.word-import-status[data-state=warning]{color:#9a6100}.word-import-status[data-state=error]{color:#b20f22}.article-cover-upload input[type=file],.word-import-field input[type=file]{display:block;width:100%;margin-top:7px}

/* V38 — Đối tác & khách hàng Trang chủ */
.partners-customers-section{background:#fff;padding-top:clamp(52px,5vw,86px);padding-bottom:clamp(52px,5vw,82px);border-top:1px solid rgba(20,85,105,.08)}
.partners-customers-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}
.partners-customers-heading>div:first-child{max-width:920px}
.partners-customers-heading .section-title{margin-bottom:10px}
.partners-customers-intro{margin:0;max-width:820px;color:#695f52;font-size:14px;line-height:1.7}
.partners-customers-viewport{width:100%;overflow:hidden;position:relative}
.partners-customers-viewport:before,.partners-customers-viewport:after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:clamp(18px,4vw,72px);pointer-events:none}
.partners-customers-viewport:before{left:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,0) 100%)}
.partners-customers-viewport:after{right:0;background:linear-gradient(270deg,#fff 0%,rgba(255,255,255,0) 100%)}
.partners-customers-track{display:flex;width:max-content;align-items:stretch;will-change:transform;transform:translate3d(0,0,0)}
.partners-customers-track.is-running{animation:partner-logo-marquee var(--partner-marquee-duration,28s) linear infinite}
@keyframes partner-logo-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-1 * var(--partner-cycle-width,1000px)),0,0)}}
.partners-customers-set{display:flex;gap:22px;width:max-content;align-items:stretch;padding-right:22px}
.partner-customer-logo-card{flex:0 0 clamp(150px,15vw,240px);width:clamp(150px,15vw,240px);height:128px;background:#fff;border:1px solid #ece8df;display:grid;place-items:center;padding:20px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.partner-customer-logo-card>a{display:grid;place-items:center;width:100%;height:100%}
.partner-customer-logo-card img{display:block;max-width:100%;max-height:82px;width:auto;height:auto;object-fit:contain;filter:none}
@media(hover:hover) and (pointer:fine){.partner-customer-logo-card:has(a):hover{transform:translateY(-3px);border-color:rgba(35,150,185,.45);box-shadow:0 10px 24px rgba(30,80,95,.08)}}
@media(max-width:1100px){.partner-customer-logo-card{flex-basis:190px;width:190px}}
@media(max-width:720px){.partners-customers-heading{align-items:flex-start;flex-direction:column}.partners-customers-set{gap:12px;padding-right:12px}.partner-customer-logo-card{flex-basis:150px;width:150px;height:108px;padding:14px}.partner-customer-logo-card img{max-height:70px}.partners-customers-intro{font-size:13px}}

/* V41 — Dự án nổi bật ngay dưới Đối tác & khách hàng */
.home-projects-section{background:#fff;padding-top:clamp(46px,4.6vw,78px);padding-bottom:clamp(58px,5.5vw,92px);border-top:1px solid rgba(20,85,105,.08)}
.home-projects-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;border-bottom:1px solid rgba(24,83,102,.16)}
.home-projects-tab{align-self:stretch;display:flex;align-items:flex-end}
.home-projects-tab span{display:inline-block;padding:0 0 13px;font-size:15px;font-weight:900;color:var(--theme-primary,var(--red));position:relative}
.home-projects-tab span:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--theme-primary,var(--red))}
.home-projects-all{display:inline-flex;align-items:center;gap:8px;padding:0 2px 13px;color:var(--theme-primary,var(--red));font-size:14px;font-weight:900;text-decoration:none;white-space:nowrap}
.home-projects-all span{font-size:18px;line-height:1;transition:transform .18s ease}
@media(hover:hover) and (pointer:fine){.home-projects-all:hover span{transform:translateX(4px)}}
.home-projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.home-project-card{min-width:0}
.home-project-image{display:block;overflow:hidden;border-radius:14px;background:#f2efe7;aspect-ratio:16/10;text-decoration:none}
.home-project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
@media(hover:hover) and (pointer:fine){.home-project-card:hover .home-project-image img{transform:scale(1.035)}}
.home-project-body{padding-top:11px;position:relative}
.home-project-arrow{display:inline-block;color:var(--theme-primary,var(--red));font-size:19px;line-height:1;text-decoration:none;margin-bottom:7px}
.home-project-card h3{margin:0 0 10px;font-size:18px;line-height:1.35}
.home-project-card h3 a{color:#191919;text-decoration:none}
.home-project-card p{margin:0;color:#5f625f;font-size:13.5px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1120px){.home-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}}
@media(max-width:640px){.home-projects-section{padding-top:38px;padding-bottom:52px}.home-projects-head{margin-bottom:20px}.home-projects-grid{grid-template-columns:1fr}.home-project-card h3{font-size:19px}.home-project-card p{-webkit-line-clamp:2}}

/* V42 — Hệ sinh thái + Lĩnh vực kinh doanh Trang chủ */
.ecosystem-section{background:#f7fbfc;padding-top:clamp(50px,5vw,84px);padding-bottom:clamp(50px,5vw,84px);border-top:1px solid rgba(20,85,105,.08)}
.ecosystem-heading{margin-bottom:28px}.ecosystem-heading>div{max-width:920px}.ecosystem-heading .section-title{margin-bottom:10px}.ecosystem-intro{margin:0;max-width:820px;color:#695f52;font-size:14px;line-height:1.7}
.ecosystem-viewport{width:100%;overflow:hidden;position:relative}.ecosystem-viewport:before,.ecosystem-viewport:after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:clamp(18px,4vw,72px);pointer-events:none}.ecosystem-viewport:before{left:0;background:linear-gradient(90deg,#f7fbfc 0%,rgba(247,251,252,0) 100%)}.ecosystem-viewport:after{right:0;background:linear-gradient(270deg,#f7fbfc 0%,rgba(247,251,252,0) 100%)}
.ecosystem-track{display:flex;width:max-content;align-items:stretch;will-change:transform;transform:translate3d(0,0,0)}.ecosystem-track.is-running{animation:ecosystem-logo-marquee var(--ecosystem-marquee-duration,28s) linear infinite}@keyframes ecosystem-logo-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-1 * var(--ecosystem-cycle-width,1000px)),0,0)}}
.ecosystem-set{display:flex;gap:22px;width:max-content;align-items:stretch;padding-right:22px}.ecosystem-logo-card{flex:0 0 clamp(150px,15vw,240px);width:clamp(150px,15vw,240px);height:128px;background:#fff;border:1px solid #e2edf0;display:grid;place-items:center;padding:20px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.ecosystem-logo-card>a{display:grid;place-items:center;width:100%;height:100%}.ecosystem-logo-card img{display:block;max-width:100%;max-height:82px;width:auto;height:auto;object-fit:contain}.ecosystem-logo-card:hover{transform:translateY(-3px);border-color:rgba(35,150,185,.45);box-shadow:0 10px 24px rgba(30,80,95,.08)}
.home-business-sectors-section{background:#fff;padding:clamp(58px,5.4vw,92px) 0 0;border-top:1px solid rgba(20,85,105,.08)}.home-business-sectors-heading{padding-bottom:28px}.home-business-sectors-heading .section-title{margin-bottom:10px}.home-business-sectors-heading>p:last-child{max-width:820px;margin:0;color:#695f52;font-size:14px;line-height:1.7}
.home-business-sectors{display:flex;width:100%;height:clamp(400px,43vw,650px);overflow:hidden;background:var(--theme-primary-deep,#174d63)}
.home-business-sector-card{position:relative;isolation:isolate;flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:clamp(22px,2.4vw,44px);color:#fff;text-decoration:none;overflow:hidden;background:linear-gradient(145deg,var(--theme-primary-deep,#174d63),var(--theme-primary,#2fa4c8));transition:flex-grow .46s cubic-bezier(.22,.61,.36,1),filter .3s ease}.home-business-sector-card:after{content:"";position:absolute;inset:0;border-right:1px solid rgba(255,255,255,.22);z-index:2;pointer-events:none}.home-business-sector-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;transition:transform .65s cubic-bezier(.22,.61,.36,1),filter .35s ease}.home-business-sector-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(2,20,28,.08) 0%,rgba(2,25,35,.22) 44%,rgba(2,22,31,.78) 100%);pointer-events:none}.home-business-sector-card.has-no-image .home-business-sector-shade{background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.28))}.home-business-sector-number,.home-business-sector-title,.home-business-sector-description,.home-business-sector-arrow{position:relative;z-index:3}.home-business-sector-number{font-size:13px;font-weight:900;letter-spacing:.14em;opacity:.82}.home-business-sector-title{max-width:420px;font-size:clamp(23px,2.2vw,38px);line-height:1.08;font-weight:900;text-wrap:balance;text-shadow:0 2px 14px rgba(0,0,0,.25)}.home-business-sector-description{display:block;max-width:560px;max-height:0;overflow:hidden;opacity:0;transform:translateY(14px);font-size:clamp(13px,1vw,16px);line-height:1.55;font-weight:600;color:rgba(255,255,255,.92);text-shadow:0 2px 10px rgba(0,0,0,.3);transition:max-height .45s ease,opacity .32s ease,transform .4s ease,margin .4s ease;margin:0}.home-business-sector-arrow{font-size:26px;line-height:1;transform:translateX(0);transition:transform .25s ease}
@media(hover:hover) and (pointer:fine){.home-business-sectors:hover .home-business-sector-card{flex-grow:.72;filter:saturate(.82) brightness(.86)}.home-business-sectors .home-business-sector-card:hover{flex-grow:2.35;filter:saturate(1.05) brightness(1)}.home-business-sector-card:hover .home-business-sector-description{max-height:180px;opacity:1;transform:translateY(0);margin-top:4px}.home-business-sector-card:hover .home-business-sector-arrow{transform:translateX(8px)}}
@media(max-width:1100px){.ecosystem-logo-card{flex-basis:190px;width:190px}.home-business-sectors{height:520px}.home-business-sector-title{font-size:28px}}
@media(max-width:760px){.ecosystem-set{gap:12px;padding-right:12px}.ecosystem-logo-card{flex-basis:150px;width:150px;height:108px;padding:14px}.ecosystem-logo-card img{max-height:70px}.ecosystem-intro{font-size:13px}.home-business-sectors-section{padding-top:46px}.home-business-sectors-heading{padding-bottom:20px}.home-business-sectors{display:grid;grid-template-columns:1fr;height:auto;overflow:visible}.home-business-sector-card{min-height:240px;flex:none;padding:24px}.home-business-sector-title{font-size:28px}.home-business-sector-description{max-height:none;opacity:1;transform:none;margin-top:2px;font-size:14px}.home-business-sector-card:after{border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}}

/* V46 - Căn đều hai bên cho tiêu đề và mô tả bài viết / dự án */
.home-project-card h3,
.home-project-card p,
.dynamic-article-list .article-row h2,
.dynamic-article-list .article-row > div > p,
.article-list .article-row h2,
.article-list .article-row > div > p {
  text-align: justify;
  text-align-last: left;
  text-justify: inter-word;
}

/* Giữ khoảng chữ tự nhiên, tránh giãn quá mạnh trên màn hình hẹp. */
@media (max-width: 640px) {
  .home-project-card h3,
  .dynamic-article-list .article-row h2,
  .article-list .article-row h2 {
    text-align: left;
  }
}

/* V48 - Căn đều hai bên cho nội dung Lĩnh vực kinh doanh và Dòng chảy phát triển */
.home-business-sector-description,
.home-business-sectors-heading > p:last-child,
.connection-flow-card h3,
.connection-flow-card h3 a,
.connection-flow-card p,
.connection-flow-intro {
  text-align: justify !important;
  text-align-last: left !important;
  text-justify: inter-word;
}

/* Tiêu đề bài trong Dòng chảy phát triển: căn đều từng dòng, giữ dòng cuối tự nhiên. */
.connection-flow-card h3 a {
  width: 100%;
}

/* Trên màn hình nhỏ ưu tiên khả năng đọc, không kéo giãn tiêu đề. */
@media (max-width: 640px) {
  .home-business-sector-description,
  .connection-flow-card h3,
  .connection-flow-card h3 a {
    text-align: left !important;
  }
}

/* V49 — Trang chi tiết Lĩnh vực kinh doanh: ảnh/nội dung xen kẽ + khách hàng theo lĩnh vực */
.business-field-hero{padding:clamp(54px,7vw,110px) 0;background:linear-gradient(135deg,#f7faf9 0%,#fff 58%,var(--theme-primary-faint,#eef8fb) 100%);border-bottom:1px solid rgba(20,80,95,.12)}
.business-field-hero-grid{--business-hero-height:clamp(320px,31vw,430px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(34px,5vw,72px);align-items:stretch}
.business-field-hero-copy{min-height:var(--business-hero-height);display:flex;flex-direction:column;justify-content:center}.business-field-hero-copy h1{margin:8px 0 18px;font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.04em;color:#17221e}
.business-field-hero-copy>p:not(.section-kicker){max-width:760px;margin:0;color:#5f665f;font-size:clamp(16px,1.25vw,20px);line-height:1.8;text-align:justify;text-align-last:left}
.business-field-scroll-link{display:inline-flex;margin-top:26px;color:var(--theme-primary,#249dc3);font-weight:900;text-decoration:none}
.business-field-hero-image{height:var(--business-hero-height);overflow:hidden;background:#edf2f1}
.business-field-hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.business-field-segments{padding:clamp(48px,6vw,96px) 0;background:#fff}
.business-field-segment{--business-segment-height:clamp(330px,28vw,390px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:var(--business-segment-height);min-height:0;margin:0 0 clamp(34px,4.5vw,68px);background:#fafaf8;overflow:hidden}
.business-field-segment.image-right .business-field-segment-media{order:2}.business-field-segment.image-right .business-field-segment-copy{order:1}
.business-field-segment-media{height:100%;min-height:0;background:#e9efed;overflow:hidden}.business-field-segment-media img{width:100%;height:100%;min-height:0;object-fit:cover;display:block;transition:transform .5s ease}.business-field-segment:hover .business-field-segment-media img{transform:scale(1.025)}
.business-field-segment-placeholder{width:100%;height:100%;min-height:0;background:linear-gradient(135deg,var(--theme-primary-deep,#0e5369),var(--theme-primary,#249dc3))}
.business-field-segment-copy{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,3.6vw,52px);overflow:hidden}
.business-field-number{font-size:13px;font-weight:900;letter-spacing:.16em;color:var(--theme-primary,#249dc3);margin-bottom:18px}
.business-field-segment-copy h2{margin:0 0 16px;font-size:clamp(28px,2.7vw,44px);line-height:1.08;letter-spacing:-.03em;color:#18231f}
.business-field-segment-copy p{margin:0 0 10px;color:#505a54;font-size:clamp(14px,1.05vw,17px);line-height:1.7;text-align:justify;text-align-last:left}
.business-field-empty{padding:70px 30px;text-align:center;background:#f8faf8}.business-field-empty h2{font-size:clamp(28px,3vw,44px);margin:8px 0 12px}.business-field-empty p{max-width:760px;margin:0 auto 24px;color:#66706a}
.business-field-customers{padding:clamp(54px,6vw,92px) 0;background:#f4f8f8;border-top:1px solid rgba(20,80,95,.1)}
.business-field-customers-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.business-field-customers-head h2{margin:6px 0 0;font-size:clamp(30px,3.5vw,52px);line-height:1.08}.business-field-customers-head>p{max-width:520px;margin:0;color:#69706c;line-height:1.65;text-align:right}
.business-field-customer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.business-field-customer-logo{height:125px;background:#fff;border:1px solid #e4e9e6;display:grid;place-items:center;padding:20px}.business-field-customer-logo a{display:grid;place-items:center;width:100%;height:100%}.business-field-customer-logo img{max-width:100%;max-height:78px;width:auto;height:auto;object-fit:contain;display:block;transition:transform .18s ease}.business-field-customer-logo:hover img{transform:scale(1.05)}
.business-field-back{padding:24px 0 64px;background:#f4f8f8}.business-field-back a{font-weight:900;color:var(--theme-primary-deep,#0e5369);text-decoration:none}
.business-field-missing{padding:100px 0}.business-field-missing h1{font-size:clamp(40px,5vw,70px);margin:8px 0 16px}.business-field-missing p{margin-bottom:24px;color:#666}
@media(max-width:900px){.business-field-hero-grid{grid-template-columns:1fr;--business-hero-height:360px}.business-field-hero-copy{min-height:auto}.business-field-hero-image{height:var(--business-hero-height)}.business-field-segment{grid-template-columns:1fr;height:auto}.business-field-segment.image-right .business-field-segment-media,.business-field-segment.image-right .business-field-segment-copy{order:initial}.business-field-segment-media,.business-field-segment-media img,.business-field-segment-placeholder{height:300px;min-height:300px}.business-field-segment-copy{height:auto;overflow:visible}.business-field-customers-head{align-items:flex-start;flex-direction:column}.business-field-customers-head>p{text-align:left}.business-field-segment-copy p,.business-field-hero-copy>p:not(.section-kicker){text-align:left}}
@media(max-width:560px){.business-field-hero{padding-top:42px}.business-field-hero-grid{--business-hero-height:260px}.business-field-hero-copy h1{font-size:42px}.business-field-hero-image{height:var(--business-hero-height)}.business-field-segment-copy{padding:30px 22px}.business-field-segment-media,.business-field-segment-media img,.business-field-segment-placeholder{height:230px;min-height:230px}.business-field-customer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-field-customer-logo{height:100px;padding:14px}}


/* V50 — Dự án theo Lĩnh vực kinh doanh */
.article-project-sector-fields{border:1px solid #c9ddd5;background:#f8fcfa;padding:16px 18px;margin:4px 0 10px}.article-project-sector-fields legend{padding:0 8px;font-weight:900;color:#07513e}.article-project-sector-fields legend small{font-weight:500;color:#6d7772}.article-project-sector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px}.article-project-sector-grid label{display:flex;gap:8px;align-items:center;padding:9px 10px;border:1px solid #dce8e3;background:#fff;cursor:pointer}.article-featured-project{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:11px 12px;border:1px solid #d3c48f;background:#fffaf0;cursor:pointer}.article-featured-project span{display:grid;gap:2px}.article-featured-project small{color:#716b5d;font-weight:500}.article-project-sector-note{margin:9px 0 0;color:#6b756f;font-size:12px}.article-project-sector-fields.is-inactive{opacity:.48}.article-project-sector-fields.is-inactive:after{content:'Chọn chuyên mục “Dự án” để kích hoạt phần này.';display:block;margin-top:10px;color:#8a6b18;font-weight:700;font-size:12px}
.business-field-projects{padding:clamp(54px,6vw,92px) 0;background:#fff;border-top:1px solid rgba(20,80,95,.1)}
.business-field-projects .home-project-card h3,.business-field-projects .home-project-card p{text-align:justify;text-align-last:left}
.news-filters{grid-template-columns:minmax(220px,1fr) minmax(190px,.65fr) minmax(220px,.75fr) auto!important}
@media(max-width:1000px){.article-project-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-filters{grid-template-columns:1fr 1fr!important}}
@media(max-width:640px){.article-project-sector-grid{grid-template-columns:1fr}.news-filters{grid-template-columns:1fr!important}.business-field-projects .home-project-card h3,.business-field-projects .home-project-card p{text-align:left}}


/* V53 — Cân lại tỷ lệ ảnh/chữ trang Lĩnh vực kinh doanh: hero thấp hơn, toàn bộ ảnh mảng có cùng chiều cao trên desktop */


/* V67 - thời gian hiển thị bài viết */
.article-publish-schedule{grid-column:1/-1;border:1px solid #ddd4c6;background:#fbfaf7;border-radius:10px;padding:14px 16px;display:grid;grid-template-columns:minmax(210px,.8fr) minmax(180px,.7fr) minmax(210px,.8fr);gap:12px;align-items:end}
.article-publish-schedule>label{display:grid;gap:6px;font-weight:800;color:#2d332f}
.article-publish-schedule input[type=datetime-local]{width:100%;box-sizing:border-box}
.article-publish-forever{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;min-height:44px;padding:8px 10px;border:1px solid #ddd4c6;border-radius:8px;background:#fff}
.article-publish-forever input{width:18px;height:18px}
.article-publish-schedule-note{grid-column:1/-1;margin:0;color:#6e6a63;font-size:12px;line-height:1.5}
.article-publish-schedule.is-recruitment{border-color:#d5ad58;background:#fff9ea}
.article-publish-schedule.is-recruitment .article-publish-schedule-note{color:#805f18;font-weight:700}
@media(max-width:860px){.article-publish-schedule{grid-template-columns:1fr}.article-publish-schedule-note{grid-column:auto}.brand-row .guest-login{order:2}.brand-row .menu-button{order:3;margin-left:4px}.brand-row .brand{min-width:0}.brand-row .brand span{display:none}}

.recruitment-deadline{font-size:12px;color:var(--theme-primary-dark,var(--red));font-weight:800}

/* V69 — Hạn đăng: bài hết hạn vẫn đọc được, nhưng được tô mờ và gắn nhãn rõ ràng */
.article-expired{
  opacity:.62;
  filter:saturate(.72);
  transition:opacity .18s ease,filter .18s ease;
}
@media(hover:hover) and (pointer:fine){
  .article-expired:hover{opacity:.82;filter:saturate(.88)}
}
.article-expiry-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  gap:5px;
  padding:4px 8px;
  border:1px solid color-mix(in srgb,var(--theme-primary,#249dc3) 34%,#d8dedb);
  background:color-mix(in srgb,var(--theme-primary,#249dc3) 8%,#fff);
  color:var(--theme-primary-deep,#0e5369);
  border-radius:999px;
  font-size:11px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:0;
  text-transform:none;
  white-space:normal;
}
.article-expiry-badge.is-expired{
  border-color:#d7a4a4;
  background:#fff1f1;
  color:#9d1f1f;
}
.news-meta{flex-wrap:wrap}
.news-meta .article-expiry-badge{margin-left:4px}
.connection-flow-meta{flex-wrap:wrap}
.connection-flow-meta .article-expiry-badge{flex-basis:100%;margin-top:2px;font-size:9px;padding:3px 7px}
.home-project-expiry{margin:0 0 9px}
.article-admin-expiry{margin-top:7px}
.article-expiry-notice{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 14px;
  margin:0 0 24px;
  padding:13px 16px;
  border-left:4px solid var(--theme-primary,#249dc3);
  background:color-mix(in srgb,var(--theme-primary,#249dc3) 7%,#fff);
}
.article-expiry-notice strong{font-size:14px;color:var(--theme-primary-deep,#0e5369)}
.article-expiry-notice span{font-weight:800}
.article-expiry-notice small{flex-basis:100%;color:#676e69;line-height:1.5}
.article-expiry-notice.is-expired{border-left-color:#b52c2c;background:#fff3f3}
.article-expiry-notice.is-expired strong{color:#9d1f1f}
/* Chi tiết bài hết hạn phải dễ đọc: chỉ các thẻ trong danh sách mới bị giảm độ đậm. */
.article-detail.article-expired{opacity:1;filter:none}
@media(max-width:640px){
  .article-expired{opacity:.72}
  .article-expiry-badge{font-size:10px}
}
/* V87 - làm rõ avatar là menu tài khoản và bảo đảm dropdown nổi trên header/nav */
.member-avatar-link::after{content:'⌄';position:absolute;right:-4px;bottom:-3px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--theme-primary-deep,#0e5770);border:1px solid #d5dfe3;font-size:12px;font-weight:900;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.14);z-index:4}
.member-avatar-menu.is-open .member-avatar-link::after,.member-avatar-menu[open] .member-avatar-link::after,.member-avatar-menu:focus-within .member-avatar-link::after{content:'⌃'}


/* VNAS_V88 - menu tai khoan tren avatar: dung native details/summary de click luon hoat dong, khong phu thuoc JS. */
.member-profile-head,.brand-row,.site-header{overflow:visible!important}
.member-avatar-menu[open]{z-index:10050}
.member-avatar-menu[open] .member-avatar-dropdown{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.member-avatar-dropdown{top:calc(100% + 9px);right:0;left:auto}


/* VNAS_V89 - avatar header la nut mo menu tai khoan, khong bi lightbox chan click. */
.member-avatar-menu{isolation:isolate}
.member-avatar-menu>summary.member-avatar-link,.member-avatar-menu>button.member-avatar-link{user-select:none;-webkit-user-select:none}
.member-avatar-menu>summary.member-avatar-link::before{content:'';position:absolute;inset:-7px;border-radius:50%;z-index:-1}
.member-avatar-menu[open] .member-avatar-link{box-shadow:0 0 0 4px rgba(255,255,255,.72),0 0 0 6px rgba(8,81,106,.28),0 4px 12px rgba(4,63,42,.14)}
.member-avatar-menu[open] .member-avatar-dropdown{display:grid!important;min-width:220px}
.member-avatar-dropdown a{font-size:13px;padding:11px 12px}

/* VNAS_V91 - menu avatar dùng button + focus-within: hoạt động cả khi JS bị cache/chậm. */
.member-avatar-menu>button.member-avatar-link{border:3px solid #b59a3c;background:#f3eddf;margin:0;color:inherit}
.member-avatar-menu:focus-within{z-index:10050}
.member-avatar-menu:focus-within .member-avatar-dropdown{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;min-width:220px}
.member-avatar-menu .member-avatar-link img{cursor:pointer!important}


/* VNAS_V92 - các thao tác tài khoản hiển thị trực tiếp cạnh avatar, không dùng menu xổ xuống. */
.member-profile-head{grid-template-columns:68px minmax(170px,1fr) 128px;min-width:438px;column-gap:10px}
.member-avatar-static{grid-row:1 / span 2}
.member-avatar-static .member-avatar-link::after{content:none!important;display:none!important}
.member-account-actions{grid-column:3;grid-row:1 / span 2;align-self:center;display:grid;gap:5px;width:128px}
.member-account-actions a{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:25px;padding:5px 7px;border:1px solid rgba(255,255,255,.82);border-radius:5px;background:rgba(255,255,255,.96);color:var(--theme-primary-deep,var(--green-dark));font-size:10px;line-height:1.15;font-weight:900;text-align:center;text-decoration:none;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.member-account-actions form{margin:0}.member-account-actions button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:25px;padding:5px 7px;border:1px solid rgba(255,255,255,.82);border-radius:5px;background:rgba(255,255,255,.96);color:var(--theme-primary-deep,var(--green-dark));font:inherit;font-size:10px;line-height:1.15;font-weight:900;text-align:center;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.06);cursor:pointer}.member-account-actions button:hover{background:#fff;color:var(--theme-primary-dark,var(--green));transform:translateY(-1px)}.member-account-actions .header-return-admin{color:#8a4d00;background:#fff8e8;border-color:#f0d69a}
.member-account-actions a:hover{background:#fff;color:var(--theme-primary-dark,var(--green));text-decoration:none;transform:translateY(-1px)}
.member-account-actions .header-logout{color:#9d1f1f;border-color:rgba(255,255,255,.82)}
.member-avatar-dropdown{display:none!important}
@media(max-width:1240px){.member-profile-head{grid-template-columns:58px minmax(150px,1fr) 112px;min-width:385px}.member-account-actions{width:112px;gap:4px}.member-account-actions a,.member-account-actions button{font-size:9px;padding:4px 5px;min-height:23px}.member-avatar-menu,.member-avatar-link{width:54px;height:54px}}
@media(max-width:1020px){.member-profile-head{grid-template-columns:54px minmax(138px,1fr) 104px;min-width:356px;column-gap:7px}.member-account-actions{width:104px}.member-account-actions a,.member-account-actions button{font-size:8px}.member-head-counts{gap:4px}.member-head-counts a{font-size:8px;padding:3px 5px}}


/* VNAS_V101 - cảnh báo duyệt nhân sự cạnh Avatar dành cho Admin. */
.member-head-counts a.personnel-approval-alert.has-pending{background:#fff1f1;border-color:#e7a9a9;color:#9d1f1f;box-shadow:0 0 0 1px rgba(157,31,31,.04)}
.member-head-counts a.personnel-approval-alert.has-pending b{color:#c51f1f}
#pending-personnel-approvals{scroll-margin-top:150px}

/* VNAS_V104: gom cac module nghiep vu vao flyout "Quan ly Module". */
.management-module-item{position:relative;border-bottom:1px solid var(--line)}
.management-module-item>button{appearance:none;-webkit-appearance:none;width:100%;border:0;background:#fff;color:var(--green-dark);font:inherit;font-size:13px;font-weight:700;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left}
.management-module-item>button:hover,.management-module-item:focus-within>button,.management-module-item.active>button{background:var(--cream);color:var(--red)}
.management-module-submenu{display:none;position:absolute;left:100%;top:-1px;min-width:250px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 32px rgba(0,0,0,.18);z-index:80}
.management-module-item:hover .management-module-submenu,.management-module-item:focus-within .management-module-submenu,.management-module-item.is-open .management-module-submenu{display:grid}
.management-module-submenu a{border-bottom:1px solid var(--line);color:var(--green-dark);font-size:13px;font-weight:700;padding:14px 18px;text-decoration:none;white-space:nowrap}
.management-module-submenu a:last-child{border-bottom:0}
.management-module-submenu a:hover{background:var(--cream);color:var(--red)}
.management-module-submenu a.active{background:#f4efe1;color:var(--red);border-left:4px solid var(--red);padding-left:14px}
@media(max-width:900px){.management-module-item{border-bottom-color:rgba(255,255,255,.08)}.management-module-item>button{background:transparent;color:rgba(255,255,255,.86);padding:14px 22px}.management-module-item>button:hover,.management-module-item:focus-within>button,.management-module-item.active>button{background:rgba(255,255,255,.08);color:var(--gold-light)}.management-module-submenu{position:static;min-width:0;border:0;box-shadow:none;background:rgba(0,0,0,.13)}.management-module-item:hover .management-module-submenu{display:none}.management-module-item:focus-within .management-module-submenu,.management-module-item.is-open .management-module-submenu{display:grid}.management-module-submenu a{white-space:normal;color:rgba(255,255,255,.86);border-bottom-color:rgba(255,255,255,.08);padding:13px 34px}.management-module-submenu a.active{background:rgba(255,255,255,.08);border-left-color:var(--gold-light);color:var(--gold-light)}}

/* VNAS_V147 - Cân lại footer: Lĩnh vực kinh doanh ở giữa, Văn phòng/Nhà máy sát lề phải */
.site-footer .footer-grid,
.site-footer .footer-grid.has-social{
  grid-template-columns:minmax(300px,.88fr) minmax(250px,.72fr) minmax(360px,1fr);
  gap:clamp(34px,4vw,78px);
  align-items:start;
}
.footer-business-sectors{min-width:0}
.footer-business-sectors h3{margin:0 0 12px;font-size:14px;letter-spacing:.02em}
.footer-business-sector-list{display:flex!important;flex-direction:column;align-items:flex-start;gap:8px}
.footer-business-sector-list a{display:inline-block;color:inherit;text-decoration:none;line-height:1.45;opacity:.96}
.footer-business-sector-list a:hover{text-decoration:underline;opacity:1}
.site-footer .footer-locations{justify-self:end;width:min(100%,460px)}
@media(max-width:980px) and (min-width:721px){
  .site-footer .footer-grid,.site-footer .footer-grid.has-social{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:40px}
  .site-footer .footer-brand-social{grid-row:1 / span 2}
  .site-footer .footer-business-sectors{grid-column:2;grid-row:1}
  .site-footer .footer-locations{grid-column:2;grid-row:2;justify-self:stretch;width:auto}
}
@media(max-width:720px){
  .site-footer .footer-grid,.site-footer .footer-grid.has-social{grid-template-columns:1fr;gap:30px}
  .site-footer .footer-brand-social,.site-footer .footer-business-sectors,.site-footer .footer-locations{grid-column:auto;grid-row:auto;justify-self:stretch;width:auto;max-width:none}
}

/* VNAS_V0188 - Nút cạnh avatar: APP QUẢN LÝ nháy vàng/xanh rõ; trong APP đổi thành QUAY LẠI WEB. */
.member-account-actions a.header-app-launch{position:relative;overflow:visible;font-weight:900;letter-spacing:.01em;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.member-account-actions a.header-app-launch.is-pulsing{background:#fff07a;border-color:#ffd000;color:#4d4300;box-shadow:0 0 0 2px rgba(255,214,0,.38),0 0 15px rgba(255,214,0,.7),0 3px 10px rgba(46,112,35,.18);animation:vnas-app-launch-yellow-green 1.05s ease-in-out infinite}
.member-account-actions a.header-app-launch.is-pulsing::after{content:"";position:absolute;inset:-5px;border-radius:9px;border:2px solid #ffe100;pointer-events:none;animation:vnas-app-launch-ring 1.05s ease-in-out infinite}
.member-account-actions a.header-app-launch.is-pulsing:hover{transform:translateY(-1px) scale(1.025);animation-play-state:paused;background:#dfff72;border-color:#64cf3d;color:#185f16;box-shadow:0 0 0 3px rgba(100,207,61,.32),0 0 18px rgba(112,227,71,.72)}
.member-account-actions a.header-app-launch.is-return-web{background:#eaf7ff;border-color:#73bce0;color:#075b7a;box-shadow:0 0 0 1px rgba(74,162,205,.16),0 2px 8px rgba(8,86,119,.12)}
.member-account-actions a.header-app-launch.is-return-web:hover{background:#d9f1ff;border-color:#42a8d8;color:#034b67;box-shadow:0 0 0 3px rgba(66,168,216,.18),0 4px 12px rgba(8,86,119,.16)}
@keyframes vnas-app-launch-yellow-green{0%,100%{background:#fff07a;border-color:#ffd000;color:#4d4300;box-shadow:0 0 0 2px rgba(255,214,0,.38),0 0 15px rgba(255,214,0,.72),0 3px 10px rgba(46,112,35,.16);transform:scale(1)}50%{background:#bdf56f;border-color:#52c93e;color:#155a17;box-shadow:0 0 0 3px rgba(82,201,62,.38),0 0 21px rgba(101,227,73,.9),0 3px 12px rgba(46,112,35,.28);transform:scale(1.045)}}
@keyframes vnas-app-launch-ring{0%,100%{opacity:.75;transform:scale(.98);border-color:#ffd600;box-shadow:0 0 0 0 rgba(255,214,0,.55)}50%{opacity:1;transform:scale(1.08);border-color:#63da45;box-shadow:0 0 0 6px rgba(99,218,69,.14)}}
@media(prefers-reduced-motion:reduce){.member-account-actions a.header-app-launch.is-pulsing{animation:none;background:#dfff72;border-color:#64cf3d;color:#185f16;box-shadow:0 0 0 3px rgba(100,207,61,.28)}.member-account-actions a.header-app-launch.is-pulsing::after{animation:none;opacity:1;border-color:#ffe100}}


/* VNAS_V0190 - Cụm tài khoản/Avatar gọn, dễ đọc, vẫn đủ thao tác. */
.member-profile-head{
  grid-template-columns:62px minmax(170px,1fr) 184px;
  grid-template-rows:auto auto;
  min-width:470px;
  column-gap:11px;
  row-gap:2px;
  align-items:center;
}
.member-avatar-menu,.member-avatar-link{width:58px;height:58px}
.member-head-copy{align-self:center;min-width:0}
.member-head-copy .desktop-login.logged-in span{font-size:13px;line-height:1.15}
.member-head-copy .desktop-login.logged-in strong{font-size:11px;line-height:1.2;margin-top:2px}
.member-head-counts{gap:5px;margin-top:5px;flex-wrap:nowrap}
.member-head-counts a{padding:3px 6px;font-size:9px;line-height:1;white-space:nowrap}
.member-head-counts a b{font-size:10px}
.member-account-actions{
  grid-column:3;
  grid-row:1 / span 2;
  align-self:center;
  width:184px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
}
.member-account-actions a,
.member-account-actions button{
  min-width:0;
  min-height:27px;
  padding:5px 7px;
  font-size:9px;
  line-height:1.1;
  white-space:nowrap;
}
.member-account-actions a.header-app-launch{grid-column:1 / -1;min-height:29px;font-size:10px}
.member-account-actions form{grid-column:1 / -1;width:100%}
.member-account-actions form button{width:100%}
.member-account-actions .header-logout{grid-column:1 / -1}
@media(max-width:1240px){
  .member-profile-head{grid-template-columns:54px minmax(145px,1fr) 164px;min-width:414px;column-gap:8px}
  .member-avatar-menu,.member-avatar-link{width:52px;height:52px}
  .member-account-actions{width:164px;gap:4px}
  .member-account-actions a,.member-account-actions button{font-size:8px;padding:4px 5px;min-height:24px}
  .member-account-actions a.header-app-launch{font-size:9px;min-height:26px}
  .member-head-counts{gap:3px}
  .member-head-counts a{font-size:8px;padding:3px 5px}
}
@media(max-width:1020px){
  .member-profile-head{grid-template-columns:50px minmax(132px,1fr) 150px;min-width:375px;column-gap:7px}
  .member-avatar-menu,.member-avatar-link{width:48px;height:48px}
  .member-account-actions{width:150px}
  .member-account-actions a,.member-account-actions button{font-size:7.5px}
  .member-head-copy .desktop-login.logged-in span{font-size:11px}
  .member-head-copy .desktop-login.logged-in strong{font-size:9px}
}

/* VNAS_V000279 - Cụm tài khoản gọn: 2 thao tác chính và 1 menu tài khoản. */
.member-account-actions>.vnas-workdesk{grid-column:1}
.member-account-actions>.vnas-account-quick{grid-column:2;position:relative;min-width:0}
.vnas-account-quick>summary{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:4px;min-height:27px;padding:5px 7px;cursor:pointer;list-style:none;border:1px solid rgba(255,255,255,.82);border-radius:5px;background:rgba(255,255,255,.96);color:var(--theme-primary-deep,var(--green-dark));font-size:9px;line-height:1.1;font-weight:900;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.vnas-account-quick>summary::-webkit-details-marker{display:none}.vnas-account-quick>summary span{font-size:9px}.vnas-account-quick[open]>summary span{transform:rotate(180deg)}
.vnas-account-quick-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:10000;display:grid;width:190px;padding:7px;border:1px solid #c6dce3;border-radius:8px;background:#fff;box-shadow:0 8px 24px #123b4a33}
.member-account-actions .vnas-account-quick-menu a{justify-content:flex-start;min-height:32px;padding:8px 10px;border:0;box-shadow:none;background:#fff;color:#254554;font-size:11px}
.member-account-actions .vnas-account-quick-menu a:hover{background:#edf7fa}.member-account-actions .vnas-account-quick-menu a.header-logout{color:#9d1f1f}
.member-account-actions>.header-app-launch{order:3}.member-account-actions>.vnas-account-quick{order:2}.member-account-actions>.vnas-workdesk{order:1}

/* VNAS_V000310 - Mobile luôn có Avatar, Bàn làm việc, Tài khoản và nút vào App. */
@media(max-width:900px){
  .brand-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 46px 38px;
    grid-template-rows:auto auto;
    gap:7px 8px;
    align-items:center;
    min-height:0;
    padding-top:8px;
    padding-bottom:8px;
  }
  .brand-row>.brand{grid-column:1;grid-row:1;min-width:0}
  .brand-row>.desktop-member.member-profile-head{display:contents!important}
  .brand-row .member-avatar-menu{
    display:block!important;
    grid-column:2;
    grid-row:1;
    justify-self:end;
    width:44px;
    height:44px;
  }
  .brand-row .member-avatar-link{display:flex!important;width:44px;height:44px;border-width:2px}
  .brand-row .member-head-copy{display:none!important}
  .brand-row .member-account-actions{
    display:grid!important;
    grid-column:1 / -1;
    grid-row:2;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
    width:100%;
    min-width:0;
    gap:6px;
  }
  .brand-row .member-account-actions>.vnas-workdesk,
  .brand-row .member-account-actions>.vnas-account-quick,
  .brand-row .member-account-actions>.header-app-launch{
    grid-column:auto!important;
    order:initial!important;
    width:100%;
    min-width:0;
  }
  .brand-row .member-account-actions a,
  .brand-row .member-account-actions button,
  .brand-row .member-account-actions .vnas-workdesk>summary,
  .brand-row .member-account-actions .vnas-account-quick>summary{
    min-height:31px;
    padding:5px 4px;
    font-size:9px;
  }
  .brand-row .member-account-actions a.header-app-launch{min-height:31px;font-size:9px}
  .brand-row .member-account-actions form{grid-column:1 / -1;width:100%}
  .brand-row>.menu-button{grid-column:3;grid-row:1;justify-self:end;margin:0!important}
  .brand-row>.guest-login{grid-column:2;grid-row:1}
  .nav-shell{
    position:absolute;
    inset:auto 0 auto;
    top:100%;
    height:min(75dvh,640px);
    max-height:calc(100dvh - 16px);
  }
}
@media(max-width:380px){
  .brand-row{grid-template-columns:minmax(0,1fr) 42px 34px;column-gap:5px;padding-left:12px;padding-right:12px}
  .brand-row .member-avatar-menu,.brand-row .member-avatar-link{width:40px;height:40px}
  .brand-row .member-account-actions{gap:4px}
  .brand-row .member-account-actions a,
  .brand-row .member-account-actions button,
  .brand-row .member-account-actions .vnas-workdesk>summary,
  .brand-row .member-account-actions .vnas-account-quick>summary{font-size:8px;padding-left:2px;padding-right:2px}
}
