:root {
  --yellow: #f5be2e;
  --yellow-dark: #d99a00;
  --cream: #fff3c8;
  --paper: #fffdf6;
  --navy: #13233a;
  --navy2: #29415f;
  --teal: #176b66;
  --grey: #4f5965;
  --line: #e4e7eb;
  --shadow: 0 18px 55px rgba(19, 35, 58, 0.14);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  max-width: 100%;
  overflow-x: clip;
}
body {
  margin: 0;
  color: var(--navy);
  background: #f7f3e8;
  font:
    16px/1.5 Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}
button,
input,
select {
  font: inherit;
}
button,
a {
  min-height: 44px;
}
.skip {
  position: fixed;
  left: 12px;
  top: -80px;
  background: var(--navy);
  color: white;
  padding: 10px;
  z-index: 30;
}
.skip:focus {
  top: 12px;
}
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.top {
  min-height: 104px;
  padding: 0 clamp(18px, 5vw, 70px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-bottom: 4px solid var(--yellow);
  position: sticky;
  top: 0;
  z-index: 20;
}
.brand {
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--navy);
  text-decoration: none;
}
.brand-lockup { display:block; width:clamp(230px,26vw,340px); height:88px; object-fit:contain; object-position:left center; }
.brand #brandDescriptor:not(.sr-only) { display:block; max-width:210px; font-weight:900; line-height:1.15; }
.head-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.head-actions button,
.head-actions a {
  border: 1px solid var(--navy);
  border-radius: 8px;
  padding: 8px 12px;
  background: transparent;
  color: var(--navy);
  text-decoration: none;
}
.shelf {
  position:relative;
  min-height: calc(100vh - 104px);
  padding: clamp(52px, 7vw, 94px) clamp(18px, 8vw, 110px);
  background:linear-gradient(135deg,#fffdf6 0%,#fffdf6 68%,#fff8dd 100%);
  overflow: hidden;
}
.shelf::before { content:""; position:absolute; width:min(34vw,480px); height:72%; right:-8%; top:10%; border-radius:48px 0 0 48px; background:linear-gradient(155deg,#f8ca4d,#e9a813); opacity:.82; transform:rotate(-2deg); }
.shelf > * { position:relative; z-index:1; }
.eyebrow {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  color: var(--navy2);
}
h1 {
  font:
    800 clamp(39px, 7vw, 82px) / 0.98 Georgia,
    serif;
  margin: 14px 0 22px;
  max-width: 1000px;
}
h1 span { display: block; }
h1 .vi-title { font: 800 clamp(36px, 6vw, 72px)/1.02 system-ui, -apple-system, "Segoe UI", sans-serif; max-width: 900px; word-break: normal; overflow-wrap: normal; }
h1 .vi-title span { white-space: nowrap; }
h1 .en-title { margin-top: 18px; font: 700 clamp(25px, 3vw, 38px)/1.2 Inter, system-ui, sans-serif; }
@media (max-width: 420px) {
  h1 .vi-title { font-size: 34px; }
}
.lead {
  max-width: 640px;
  font-size: 18px;
}
.books {
  display: grid;
  grid-template-columns: repeat(2, minmax(240px, 390px));
  gap: 26px;
  margin: 38px 0 30px;
}
.book {
  position: relative;
  text-align: left;
  padding: 28px 30px 24px 46px;
  min-height: 230px;
  border: 1px solid #243a57;
  border-radius: 4px 16px 16px 4px;
  background: var(--navy);
  color: white;
  box-shadow:
    12px 16px 0 rgba(19, 35, 58, 0.12),
    inset 12px 0 0 var(--yellow);
  cursor: pointer;
  transition: 0.2s;
}
.book:hover,
.book:focus-visible {
  transform: translateY(-6px) rotate(-0.5deg);
}
.book.other {
  background: #fff;
  color: var(--navy);
  box-shadow:
    12px 16px 0 rgba(19, 35, 58, 0.10),
    inset 12px 0 0 var(--yellow);
}
.book span {
  font-size: 12px;
  letter-spacing: 0.18em;
}
.book b,
.book small,
.book em {
  display: block;
}
.book b {
  font:
    700 clamp(19px,2.1vw,23px)/1.12 Georgia,
    serif;
  margin: 14px 0 10px;
}
.book small {
  min-height: 0;
  line-height:1.35;
}
.book .book-help { margin-top:8px; color:inherit; opacity:.82; font-size:13px; }
.book em {
  margin-top: 18px;
  font-style: normal;
  font-weight: 800;
}
.state-chooser {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 24px;
}
.state-chooser button {
  padding: 9px 16px;
  border: 1px solid var(--navy);
  border-radius: 999px;
  background: var(--paper);
  color: var(--navy);
  font-weight: 800;
}
.shelf-links {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.shelf-links a {
  color: var(--navy);
  font-weight: 800;
}
.book-app {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 30px clamp(12px, 4vw, 58px) 70px;
  background:linear-gradient(180deg,var(--yellow) 0 16px,#f7f3e8 16px 100%);
}
.book-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: auto;
  max-width: 1280px;
  padding: 10px 0 18px;
}
.book-toolbar > * { min-width:0; }
.book-heading { flex:1; display:grid; gap:3px; text-align:center; min-width:0; }
.book-toolbar strong { max-width:100%; overflow-wrap:anywhere; font-size:clamp(17px,2vw,22px); line-height:1.15; }
.book-heading small { color:#52606f; font-weight:650; line-height:1.35; }
.book-actions { display:flex; align-items:center; gap:8px; }
.book-toolbar button {
  background: transparent;
  border: 1px solid var(--navy);
  border-radius: 8px;
  padding: 8px 12px;
}
.book-toolbar .book-primary-action { border-color:#006f66; background:#007d72; color:#fff; font-weight:850; }
.help-steps { max-width:980px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; list-style:none; counter-reset:help; }
.help-steps li { counter-increment:help; display:grid; grid-template-columns:42px 1fr; gap:0 10px; padding:16px; border:1px solid #d8ca9b; border-radius:12px; background:#fffdf7; }
.help-steps li::before { content:counter(help); grid-row:1/3; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--yellow); color:var(--navy); font-weight:900; }
.help-steps span { color:#52606f; margin-top:4px; }
.help-dialog { width:min(720px,calc(100% - 24px)); border:0; border-radius:18px; padding:24px; }
.help-dialog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.help-dialog-grid button { min-height:96px; display:grid; gap:5px; text-align:left; padding:16px; border:1px solid #d8ca9b; border-radius:12px; background:#fffaf0; color:var(--navy); cursor:pointer; }
.help-dialog-grid b { font-size:17px; }
.help-dialog-grid span { color:#52606f; }
.search-bar {
  max-width: 1280px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.25fr 2fr 1.4fr 1fr auto;
  gap: 10px;
  background: var(--navy);
  padding: 15px;
  border-radius: 14px 14px 0 0;
  color: white;
}
.search-bar[hidden] { display:none !important; }
.search-disclosure { width:100%; min-height:48px; display:flex; align-items:center; gap:10px; padding:10px 16px; border:1px solid #29415f; border-radius:10px; background:#13233a; color:#fff; font:inherit; font-weight:800; text-align:left; cursor:pointer; }
.search-disclosure small { flex:1; min-width:0; color:#fff3c8; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.search-chevron { margin-left:auto; font-size:22px; transition:transform .18s ease; }
.search-disclosure[aria-expanded="true"] .search-chevron { transform:rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .search-chevron { transition:none; } }
.search-bar > * { min-width:0; }
.search-bar label {
  font-size: 12px;
  font-weight: 800;
}
.search-bar input,
.search-bar select {
  display: block;
  width: 100%;
  height: 46px;
  margin-top: 5px;
  border: 0;
  border-radius: 7px;
  padding: 10px;
}
.search-bar small { display:block; margin-top:3px; color:#d8dfeb; font-size:10px; font-weight:500; }
.search-bar button {
  align-self: end;
  height: 46px;
  border: 0;
  border-radius: 7px;
  padding: 0 18px;
  background: var(--yellow);
  color: var(--navy);
  font-weight: 900;
}
.book-spread {
  max-width: 1280px;
  min-height: 650px;
  margin: auto;
  display: grid;
  grid-template-columns: 0.38fr 0.62fr;
  background: var(--paper);
  border-radius: 0 0 15px 15px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.left-page,
.right-page {
  padding: 30px;
}
.left-page {
  border-right: 2px solid #e6dcc0;
  background: linear-gradient(90deg, #fffdf6, #fff9e7);
}
.right-page {
  background: linear-gradient(90deg, #fff9e7, #fffdf6);
}
.folio {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.15em;
  color: var(--yellow-dark);
}
.az {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 18px 0;
}
.az button {
  min-width: 36px;
  min-height: 36px;
  border: 1px solid #d8ca9b;
  background: white;
  color: var(--navy);
  border-radius: 4px;
}
.category-list button {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  padding: 10px 2px;
  color: var(--navy);
}
.category-list small {
  color: var(--grey);
  display: block;
}
.guide-button {
  margin-top: 22px;
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: var(--teal);
  color: white;
  font-weight: 800;
}
.guide {
  margin-top: 10px;
  padding: 15px;
  background: #e4f2ef;
  border-radius: 9px;
}
.results-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  border-bottom: 2px solid var(--navy);
  margin-bottom: 12px;
}
.results-head h2 {
  margin: 0 0 14px;
}
.entry {
  padding: 15px 0;
  border-bottom: 1px solid #d7d2c3;
}
.entry-media {
  width: 100%;
  max-height: 240px;
  object-fit: cover;
  border-radius: 10px;
  margin-bottom: 12px;
}
.detail-property-media {
  width: 100%;
  max-height: 360px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 12px;
}
.detail-media-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(150px,.7fr); gap:12px; align-items:stretch; margin-bottom:12px; }
.detail-media-grid .detail-property-media { height:100%; margin:0; }
.detail-agent-portrait { width:100%; height:100%; max-height:360px; object-fit:cover; border-radius:12px; }
.detail-agent-media {
  width: min(100%, 420px);
  border-radius: 10px;
  margin-bottom: 12px;
}
.detail-logo-wrap { display:flex; justify-content:center; align-items:center; min-height:150px; margin:0 0 18px; padding:24px; border:1px solid #d8e3dc; border-radius:18px; background:#fff; }
.detail-business-logo { display:block; width:min(360px,90%); max-height:120px; object-fit:contain; }
.detail-brand-cover { display:flex; align-items:center; gap:18px; margin:0 0 18px; padding:26px; border-radius:20px; background:linear-gradient(135deg,#123c32,#19715a); color:#fff; }
.detail-brand-cover>span { display:grid; place-items:center; flex:0 0 74px; width:74px; height:74px; border-radius:50%; background:#dcefe5; color:#123c32; font:600 1.7rem Georgia,serif; }
.detail-brand-cover strong,.detail-brand-cover small { display:block; }
.detail-brand-cover strong { font:600 1.35rem Georgia,serif; letter-spacing:.04em; }
.detail-brand-cover small { margin-top:7px; color:#dcefe5; line-height:1.35; }
.trina-assistant { margin:18px 0; padding:16px; border:1px solid #c9dccf; border-radius:14px; background:#f4fbf6; }
.trina-assistant-header { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.trina-assistant-header h3,.trina-assistant-header p { margin:0; }
.trina-assistant-header p { margin-top:4px; }
.trina-assistant-portrait { flex:0 0 72px; width:72px; height:72px; object-fit:cover; border-radius:50%; border:3px solid #fff; box-shadow:0 2px 10px #173d2a33; }
.trina-assistant h3 { margin:0 0 4px; color:#173d2a; }
.trina-assistant p { margin:4px 0 12px; }
.assistant-prompts { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.assistant-prompts button { min-height:40px; border:1px solid #227a55; border-radius:999px; background:#fff; color:#14593d; font-weight:750; }
.trina-assistant form { display:flex; gap:8px; }
.trina-assistant input { flex:1; min-width:0; min-height:44px; padding:9px; border:1px solid #9db7a5; border-radius:8px; }
.trina-assistant form button { min-height:44px; border:0; border-radius:8px; background:#175f43; color:#fff; font-weight:800; padding:8px 16px; }
.assistant-reply { min-height:24px; margin:10px 0; white-space:pre-wrap; font-weight:650; }
.trina-assistant small { display:block; color:#53635a; }
.entry h3 {
  margin: 0;
  font-size: 19px;
}
.compact-paid-entry { padding:12px 0; }
.compact-paid-entry .entry-line,.compact-paid-entry p { margin:5px 0; color:#526057; }
.compact-paid-entry .chips { margin:7px 0; }
.compact-paid-entry .actions { margin-top:8px; }
.entry h3 button {
  border: 0;
  background: transparent;
  color: var(--navy);
  font-weight: 850;
  padding: 0;
  text-align: left;
}
.entry-line {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--grey);
  margin: 4px 0;
}
.chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.chip {
  font-size: 10px;
  font-weight: 900;
  padding: 3px 7px;
  background: #eef2f3;
  border-radius: 4px;
}
.chip.plan {
  background: #fff0ad;
}
.chip.sponsored {
  background: #eee5ff;
}
.actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 9px;
}
.actions a,
.actions button {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border: 1px solid var(--navy);
  border-radius: 6px;
  background: white;
  color: var(--navy);
  text-decoration: none;
  font-weight: 800;
}
.empty {
  padding: 60px 20px;
  text-align: center;
  color: var(--grey);
}
.plans,
.trust,
.footer-note {
  padding: 70px clamp(18px, 7vw, 90px);
  max-width: 1500px;
  margin: auto;
}
.plans h2,
.trust h2 {
  font:
    700 clamp(30px, 4vw, 52px) / 1.1 Georgia,
    serif;
}
.plan-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.plan-grid > article {
  position: relative;
  border: 1px solid var(--line);
  border-top: 6px solid var(--yellow);
  border-radius: 12px;
  padding: 18px;
  background: white;
  min-height: 330px;
}
.plan-grid article > span {
  font-size: 12px;
  font-weight: 900;
  background: var(--cream);
  padding: 5px 8px;
  border-radius: 999px;
}
.plan-grid article > i {
  position: absolute;
  right: 10px;
  top: 10px;
  font-size: 10px;
  font-style: normal;
  background: #7f55a8;
  color: white;
  padding: 4px 7px;
}
.free-demo {
  margin: 30px 0;
  border-block: 1px solid var(--line);
  padding: 10px 0;
}
.free-demo b,
.free-demo small {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.logo-demo {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  margin: 24px 0;
  background: var(--navy);
  color: var(--yellow);
  border-radius: 14px;
  font-weight: 900;
}
.ad,
.assistant-tile {
  width: 100%;
  max-width: 300px;
  height: 250px;
  border: 1px solid #d8ca9b;
  border-radius: 8px;
  margin: 17px auto 0;
  padding: 14px;
  background: #fff9df;
}
.ad button {
  display: block;
  margin-top: 18px;
  border: 0;
  border-radius: 6px;
  padding: 9px;
  background: var(--navy);
  color: white;
}
.assistant-tile {
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.assistant-tile header {
  background: var(--navy);
  color: white;
  padding: 10px;
}
.assistant-tile header b,
.assistant-tile header small {
  display: block;
}
.assistant-tile header small {
  color: var(--yellow);
  font-size: 9px;
}
.assistant-tile #miniLog {
  padding: 10px;
  flex: 1;
  font-size: 12px;
  overflow: auto;
}
.quick {
  display: flex;
  gap: 3px;
  padding: 0 7px;
}
.quick button {
  font-size: 9px;
  min-height: 28px;
  border: 1px solid #b3a165;
  background: white;
  border-radius: 4px;
}
.expand-assistant { margin:2px 7px; min-height:26px; border:0; border-radius:4px; background:var(--navy); color:#fff; font-size:9px; font-weight:850; }
.mini-input { display:flex; gap:4px; padding:5px 7px 0; }
.mini-input input { min-width:0; flex:1; min-height:30px; border:1px solid #b3a165; border-radius:4px; padding:5px 7px; font-size:10px; }
.mini-input button { min-width:32px; min-height:30px; border:0; border-radius:4px; background:var(--teal); color:#fff; font-weight:900; }
.mini-meta { display:block; min-height:16px; padding:2px 8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:var(--grey); font-size:8px; }
.assistant-tile footer {
  font-size: 8px;
  text-align: center;
  padding: 4px;
  background: #f0ead5;
}
.trust {
  background: var(--navy);
  color: white;
  max-width: none;
}
.difference,
.monitor {
  padding: clamp(52px, 7vw, 88px) clamp(18px, 8vw, 110px);
  background: var(--paper);
}
.difference h2,
.monitor h2 {
  max-width: 920px;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.08;
  margin: 10px 0 12px;
}
.difference > p {
  max-width: 900px;
}
.difference-vi {
  color: var(--teal);
  font-weight: 850;
  font-size: clamp(20px, 2.4vw, 28px);
}
.difference-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 34px;
}
.difference-grid article {
  border: 1px solid #dfd5ae;
  border-radius: 16px;
  padding: 26px;
  background: #fffaf0;
}
.difference-grid li {
  margin-block: 9px;
}
.status {
  display: inline-block;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}
.status.demo { background: #dcece9; color: #12544f; }
.status.candidate { background: #fff0bd; color: #6a4a00; }
.monitor { background: #f3ead0; }
.monitor > p { max-width:850px; }
.monitor > button { min-height:44px; border:0; border-radius:8px; padding:11px 16px; background:var(--navy); color:#fff; font-weight:850; }
.commercial-cta { padding:clamp(42px,6vw,72px) clamp(18px,8vw,110px); background:var(--navy); color:#fff; text-align:center; }
.commercial-cta h2 { max-width:900px; margin:0 auto 10px; font-size:clamp(28px,4vw,48px); }
.commercial-cta .actions { justify-content:center; margin-top:22px; }
.commercial-cta .actions a,.commercial-cta .actions button { border:1px solid var(--yellow); background:var(--yellow); color:var(--navy); border-radius:8px; padding:12px 16px; font-weight:900; text-decoration:none; }
.suburb-list { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.suburb-list button { border:1px solid #cbbd8d; border-radius:999px; background:#fff; padding:7px 10px; }
.az button.active { background:var(--navy); color:#fff; }
.result-divider { margin:16px 0 8px; padding:7px 9px; border-bottom:2px solid var(--navy); color:var(--navy); font-size:12px; letter-spacing:.12em; }
.directory-sample{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #d8c37b;border-radius:10px;background:#fff8df;color:#243546}.directory-sample p{margin:0;line-height:1.45}.directory-sample button{min-height:40px;flex:none;border:1px solid var(--navy);border-radius:8px;background:#fff;color:var(--navy);padding:8px 12px;font:inherit;font-weight:800;cursor:pointer}@media(max-width:620px){.directory-sample{align-items:stretch;flex-direction:column}.directory-sample button{width:100%}}
.last-reviewed { display:block; margin-top:8px; color:var(--grey); font-weight:750; letter-spacing:.04em; }
.books { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vietnam { border-color:#0f766e; }
.vietnam-filters { max-width:1180px; margin:0 auto 18px; padding:16px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; background:#fffdf6; border:1px solid #dccb93; border-radius:14px; }
.vietnam-filters[hidden] { display:none; }
.vietnam-filters label { font-weight:750; font-size:.88rem; }
.vietnam-filters select { display:block; width:100%; margin-top:6px; padding:10px; }
.candidate-notice,.geography-note,.founding-disclosure { grid-column:1/-1; }
.candidate-notice { display:flex; gap:12px; flex-wrap:wrap; color:#663c00; }
.geography-note { margin:0; color:var(--grey); font-size:.86rem; }
.founding-disclosure { margin:0; padding:12px; background:#fff; border-left:4px solid #0f766e; font-size:.9rem; }
.founding-badge { display:inline-block; padding:4px 8px; border-radius:999px; background:#d9f3ef; color:#075e55; font-size:.74rem; letter-spacing:.04em; }
.sponsored-divider { border-color:#7f55a8; color:#684184; }
.header-cta { border:1px solid rgba(255,255,255,.55); border-radius:8px; background:var(--yellow); color:var(--navy); padding:10px 14px; font-weight:900; }
.assistant-dialog { width:min(720px,calc(100% - 24px)); }
.assistant-dialog #rnPanelLog { min-height:150px; padding:18px; white-space:pre-wrap; background:#f4ecd2; border-radius:10px; }
.assistant-dialog .quick { padding:0; flex-wrap:wrap; }
.assistant-dialog .quick button { min-height:44px; padding:8px 12px; font-size:14px; }
.panel-assistant-form { display:flex; gap:8px; margin:16px 0; }
.panel-assistant-form input { flex:1; min-width:0; min-height:48px; padding:10px; }
.panel-assistant-form button { min-height:48px; border:0; border-radius:8px; background:var(--teal); color:#fff; padding:10px 18px; font-weight:850; }
body.book-open main > section:not(#bookApp) { display:none !important; }
body.book-open #bookApp { min-height:calc(100vh - 82px); }
.monitor-flow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 28px 0;
}
.monitor-flow span {
  padding: 10px 12px;
  border: 1px solid #cbbd8d;
  border-radius: 8px;
  background: var(--paper);
  font-weight: 750;
}
.table-wrap { overflow-x: auto; }
.monitor table { width: 100%; border-collapse: collapse; background: var(--paper); }
.monitor th, .monitor td { padding: 13px; border: 1px solid #d7c99a; text-align: left; }
.monitor-disclaimer { max-width: 1000px; font-weight: 650; }
.portal { padding:clamp(52px,7vw,88px) clamp(18px,8vw,110px); background:#fffdf6; }
.portal h2 { font-size:clamp(30px,4vw,50px); margin:8px 0; }
.portal > p { max-width:900px; }
.registration-guide { max-width:980px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:22px 0 8px; }
.registration-guide span { display:flex; align-items:center; gap:8px; padding:10px; border-radius:10px; background:#f4ecd2; font-weight:750; }
.registration-guide b { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:50%; background:var(--yellow); }
.portal-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:28px; max-width:980px; }
.portal-form label,.portal-tools label { display:grid; gap:5px; font-weight:700; }
.portal-form input,.portal-form select,.portal-tools input { width:100%; min-height:44px; border:1px solid #b9b49f; border-radius:7px; padding:9px; background:#fff; }
.portal-form select[multiple] { min-height:78px; }
.portal-form .wide { grid-column:1/-1; }
.portal-form .consent { display:flex; align-items:flex-start; font-weight:500; }
.portal-form .consent input { width:20px; min-height:20px; margin-top:2px; }
.portal-form button,.portal-tools button { border:0; border-radius:8px; padding:12px 16px; background:var(--teal); color:#fff; font-weight:850; cursor:pointer; }
.portal-result,.tool-result { margin-top:14px; padding:12px; border-radius:8px; background:#f4ecd2; white-space:pre-wrap; }
.portal-result:empty,.tool-result:empty { display:none; }
.portal-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:28px; max-width:980px; }
.portal-tools form { padding:20px; border:1px solid #d7c99a; border-radius:12px; background:#fffaf0; }
.portal-tools label { margin:10px 0; }
.referral-program { padding:clamp(52px,7vw,88px) clamp(18px,8vw,110px); background:linear-gradient(135deg,#fffdf6,#fff3c8); border-top:5px solid var(--yellow); }
.referral-program h2 { font-size:clamp(30px,4vw,50px); margin:8px 0; }
.referral-program .lead { max-width:78ch; }
.referral-rules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.2rem 0; }
.referral-rules article { background:#fff; border:1px solid #e5cc79; border-radius:14px; padding:1rem; display:flex; gap:.8rem; align-items:center; }
.referral-rules b { color:var(--navy); font-size:1.8rem; }
.referral-rules span { line-height:1.35; }
.program-warning { border-left:5px solid #a83a3a; background:#fff; padding:1rem; }
.register-interest { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; padding:10px 16px; border-radius:8px; background:var(--teal); color:#fff; font-weight:850; text-decoration:none; }
.referral-columns { display:grid; grid-template-columns:2fr 1fr; gap:1rem; align-items:start; margin-top:1.2rem; }
.referral-columns > form { background:#fff; border:1px solid #e5cc79; border-radius:14px; padding:1rem; }
.referral-columns textarea { width:100%; min-height:6rem; resize:vertical; border:1px solid #b9b49f; border-radius:7px; padding:9px; background:#fff; }
.referral-columns label { display:grid; gap:5px; font-weight:700; margin:10px 0; }
.referral-columns input,.referral-columns select { width:100%; min-height:44px; border:1px solid #b9b49f; border-radius:7px; padding:9px; background:#fff; }
.referral-columns button { border:0; border-radius:8px; padding:12px 16px; background:var(--teal); color:#fff; font-weight:850; cursor:pointer; }
.trust p {
  max-width: 900px;
}
.footer-note {
  text-align: center;
}
.footer-note p {
  max-width: 850px;
  margin: auto;
}
.dialog-close {
  float: right;
  border: 0;
  background: transparent;
  font-size: 28px;
}
dialog {
  width: min(700px, calc(100% - 24px));
  border: 0;
  border-radius: 15px;
  padding: 25px;
  box-shadow: var(--shadow);
}
dialog::backdrop {
  background: rgba(9, 18, 32, 0.72);
}
.az-business-letters { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
.az-business-letters button { min-width:44px; min-height:44px; border:1px solid #c9bd99; border-radius:7px; background:#fff; color:var(--navy); font-weight:800; }
.az-business-letters button.active { background:var(--navy); color:#fff; }
.az-business-results { max-height:55vh; overflow:auto; }
.az-business-row { padding:12px 0; border-bottom:1px solid var(--line); }
.az-business-row h3,.az-business-row p { margin:0 0 7px; overflow-wrap:anywhere; }
.az-business-row h3 button { border:0; background:transparent; color:var(--navy); font:inherit; font-weight:850; padding:0; text-align:left; }
.assistant-log {
  min-height: 220px;
  max-height: 50vh;
  overflow: auto;
  background: #f8f4e9;
  border-radius: 10px;
  padding: 15px;
}
.disclosure {
  background: var(--cream);
  padding: 8px;
}
.assistant-log .user {
  text-align: right;
}
.assistant-log p {
  padding: 8px;
  border-radius: 7px;
  background: white;
}
.assistant-log .assistant {
  background: #e4f2ef;
}
#assistantForm {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
#assistantForm input {
  flex: 1;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
}
#assistantForm button {
  border: 0;
  border-radius: 7px;
  background: var(--teal);
  color: white;
  padding: 10px 18px;
}
.list-mode .book-spread {
  display: block;
}
.list-mode .left-page {
  display: none;
}
.list-mode .entry {
  max-width: 900px;
}
.error {
  color: #a83a3a;
}
.muted {
  color: var(--grey);
}
@media (max-width: 900px) {
  .books,
  .plan-grid {
    grid-template-columns: 1fr 1fr;
  }
  .vietnam-filters { grid-template-columns:1fr 1fr; }
  .search-bar {
    grid-template-columns: 1fr 1fr;
  }
  .search-bar button {
    grid-column: 1/-1;
  }
  .book-spread {
    display: flex;
    flex-direction: column;
  }
  .right-page { order:1; }
  .left-page { order:2; }
  .left-page {
    border-right: 0;
    border-bottom: 1px solid #ddd;
  }
  .top {
    position: static;
  }
  .book-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .book-actions { width:100%; display:grid; grid-template-columns:1fr 1fr; }
  .book-actions #viewToggle { grid-column:1/-1; }
  .book-toolbar button {
    width: 100%;
  }
}
@media (max-width: 620px) {
  .detail-media-grid { grid-template-columns:1fr; }
  .detail-agent-portrait { max-height:420px; }
  body {
    font-size: 16px;
  }
  .top { min-height:76px; padding:7px 12px; }
  .brand-lockup { width:clamp(148px,48vw,200px); height:60px; }
  .head-actions { gap:6px; }
  .head-actions button { padding:7px 9px; font-size:13px; }
  .shelf { min-height:calc(100vh - 76px); }
  .shelf::before { width:48vw; height:34%; right:-20%; top:3%; opacity:.34; }
  .head-actions a {
    display: none;
  }
  .books,
  .plan-grid,
  .referral-rules,
  .referral-columns,
  .search-bar {
    grid-template-columns: 1fr;
  }
  .vietnam-filters { grid-template-columns:1fr; margin-inline:12px; }
  .shelf {
    padding-top: 38px;
  }
  .book {
    min-height: 190px;
  }
  .book-spread {
    border-radius: 0;
    width:100%;
    max-width:100%;
    min-width:0;
    box-shadow:none;
  }
  .az-business-dialog { width:100%; max-width:100%; max-height:82vh; margin:auto 0 0; border-radius:18px 18px 0 0; padding:18px 14px; overflow:auto; }
  .az-business-results { max-height:42vh; }
  .left-page,
  .right-page {
    padding: 20px 16px;
  }
  .assistant-tile {
    max-width: none;
  }
  .book-app {
    width:100%;
    max-width:100%;
    padding:8px 0 32px;
  }
  .book-toolbar {
    width:100%;
    max-width:100%;
    gap:8px;
    padding:8px 12px 10px;
    margin:0;
  }
  .book-toolbar strong {
    display:block;
    width:100%;
    font-size:clamp(18px,5.5vw,23px);
    line-height:1.18;
    white-space:normal;
  }
  .book-heading { text-align:left; }
  .book-heading small { font-size:13px; }
  .book-toolbar button {
    width:100%;
    min-height:44px;
    padding:7px 10px;
  }
  .search-bar {
    position:relative;
    width:100%;
    max-width:100%;
    gap:8px;
    padding:12px;
    border-radius: 0;
  }
  .search-bar label { width:100%; min-width:0; font-size:13px; }
  .search-bar input,.search-bar select,.search-bar button { width:100%; min-width:0; height:44px; min-height:44px; margin-top:3px; padding:7px 10px; }
  .search-bar button { margin-top:2px; }
  .results-head { gap:8px; align-items:flex-start; }
  .results-head h2 { overflow-wrap:anywhere; }
  .entry,.actions { min-width:0; max-width:100%; }
  .entry-line { overflow-wrap:anywhere; }
  .plans,
  .difference,
  .monitor,
  .trust,
  .footer-note {
    padding: 48px 18px;
  }
  .difference-grid { grid-template-columns: 1fr; }
  .portal-form,.portal-tools,.registration-guide { grid-template-columns:1fr; }
  .portal-form .wide { grid-column:auto; }
  .help-steps,.help-dialog-grid { grid-template-columns:1fr; }
}
@media (max-width: 360px) {
  .top { padding-inline:8px; }
  .brand-lockup { width:138px; }
  .head-actions button { padding-inline:7px; }
  .book-toolbar { padding-inline:8px; }
  .search-bar { padding:10px 8px; }
  .left-page,.right-page { padding:16px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
/* Database-backed 4-5 star recommendation panel. */
.recommended{margin:0 0 1rem;padding:1rem;border:1px solid #e8bf54;border-radius:12px;background:#fff8e6}.recommended h3{margin:0;color:#17345d}.recommended p{margin:.35rem 0 .75rem;font-size:.9rem}.recommended-results{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.recommended-results article{display:grid;gap:.2rem;padding:.7rem;border-radius:8px;background:#fff;border:1px solid #f0d99b}.recommended-results span{color:#d99a00;letter-spacing:.08em}.recommended-results small{color:#425466}
