/* 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: 19px;
  letter-spacing: 0.07em;
}

.brand b {
  color: var(--red);
  font-size: 28px;
  letter-spacing: 0.045em;
  margin-top: 4px;
}

.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 {
  height: 82px;
  object-fit: contain;
  width: 88px;
}

.login-modal .section-kicker {
  margin: 14px 0 9px;
}

.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 {
    display: none;
  }

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

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

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

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

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

  .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: 11px;
  }

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

  .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%}}


/* V101: menu Kết nối giao thương 3 mục và hai 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 Hội viên 4 mục + danh sách hội 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 hội 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; }

/* Các hero của Kết nối giao thương dùng cùng chuẩn chữ/cân đối mới. */
.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 hội 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) auto;grid-template-rows:auto auto;align-items:center;column-gap:12px;row-gap:3px;min-width:330px;justify-items:stretch}
.member-avatar-link{grid-row:1 / span 2;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}
.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-profile-head .header-logout{grid-column:3;grid-row:1 / span 2;align-self:center;padding:7px 9px;border:1px solid #dfd6c1;border-radius:5px;background:#fff}
.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:290px;grid-template-columns:58px minmax(150px,1fr) auto}.member-avatar-link{width:54px;height:54px}.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:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.footer-social-links a{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:8px;box-sizing:border-box;width:100%;min-width:0;height:43px;border:1px solid rgba(255,255,255,.18);padding:7px 9px;color:#fff;text-decoration:none;background:rgba(255,255,255,.04)}.footer-social-links a:hover{border-color:var(--gold-light);color:var(--gold-light)}.footer-social-links a .social-brand-icon{width:27px;height:27px;display:grid;place-items:center;flex:0 0 27px;background:transparent;color:var(--green);font-size:11px;font-weight:900}.footer-social-links a .social-brand-icon img{display:block;width:27px;height:27px;object-fit:contain}.footer-social-links a b{min-width:0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@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{grid-template-columns:repeat(2,minmax(0,1fr))}.article-author-card{padding:18px}}
@media(max-width:380px){.footer-social-links{grid-template-columns:1fr}}

/* V130 - Phóng to ảnh đại diện khi nhấn */
.member-avatar-link img,
.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}

/* V134 - Cơ hội giao thương theo bố cục diễn đà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 - Hội 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ý hội 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ý hội 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 hội 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}
@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:55%;transform:translateY(-50%);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-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-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:86px;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}}
