.platform-page .platform-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.45fr);
  align-items: start;
  gap: var(--space-12);
}
.platform-page .platform-hero-copy { padding-top: var(--space-6); }
.platform-page .platform-hero-copy h1 { max-width: 460px; }
.platform-page .platform-hero-copy .lead { max-width: 460px; margin-top: var(--space-6); }
.platform-page .platform-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-4) var(--space-6); margin-top: var(--space-8); }
.platform-page .platform-hero-note { font-size: var(--type-label); line-height: 1.6; color: var(--muted); margin-top: var(--space-6); }
.platform-page .platform-demo-stage { min-width: 0; }
.platform-page .inventory-demo {
  --demo-sold-fill: #e9eaec;
  --demo-sold-ink: #464b52;
  --demo-sold-border: #a6abb2;
  --demo-sold-pattern: repeating-linear-gradient(135deg, transparent 0 4px, #c9cdd2 4px 5px);
  max-width: none;
}
.platform-page .inventory-demo .demo-example-badge,
.platform-page .inventory-demo .demo-caption { display: none; }
.platform-page .inventory-demo .demo-unit { min-height: 56px; }
.platform-page .platform-role-demo { margin-bottom: var(--space-12); }
.platform-page .platform-roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
.platform-page .platform-role { display: flex; flex-direction: column; min-width: 0; }
.platform-page .platform-role-intro { margin-bottom: var(--space-4); }
.platform-page .platform-role-intro h3 { font-size: var(--type-title); line-height: 1.2; margin-bottom: var(--space-2); }
.platform-page .platform-role-intro p { max-width: 420px; font-size: var(--type-body); line-height: 1.5; }
.platform-page .role-screen { display: flex; flex-direction: column; flex: 1; min-width: 0; background: #fff; border: 1px solid #cbd8cf; border-radius: var(--radius-panel); box-shadow: var(--scene-shadow); overflow: hidden; font-size: var(--type-label); line-height: 1.5; }
.platform-page .role-screen-head { display: flex; align-items: center; gap: var(--space-3); min-height: 64px; padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--line); }
.platform-page .role-screen-head svg { width: 24px; height: 24px; color: var(--accent); }
.platform-page .role-screen-head strong { font-size: var(--type-body); font-weight: 600; }
.platform-page .role-screen-head > span { margin-left: auto; color: var(--muted); }
.platform-page .role-inventory { padding: var(--space-6) var(--space-6) 0; }
.platform-page .role-screen-label { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2); }
.platform-page .role-screen-label strong { font-weight: 600; }
.platform-page .role-screen-label > span { color: var(--muted); }
.platform-page .role-inventory table { border-collapse: collapse; width: 100%; margin-top: var(--space-3); text-align: left; font-variant-numeric: tabular-nums; }
.platform-page .role-inventory th,
.platform-page .role-inventory td { padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--line); white-space: nowrap; }
.platform-page .role-inventory thead th { color: var(--muted); font-weight: 400; padding-top: 0; padding-bottom: var(--space-2); }
.platform-page .role-inventory tbody th { font-weight: 600; }
.platform-page .role-inventory tr.is-selected { background: #f0f6f1; }
.platform-page .role-status { display: inline-flex; align-items: center; gap: 6px; color: var(--accent); font-size: var(--type-label); }
.platform-page .role-status::before { content: ''; width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: #598a6b; }
.platform-page .role-status.is-sold { color: #59616a; }
.platform-page .role-status.is-sold::before { background: #9299a2; }
.platform-page .role-status.is-held { color: #785a23; }
.platform-page .role-status.is-held::before { background: #a17b32; }
.platform-page .role-approval { margin-top: auto; min-height: 176px; padding: var(--space-4) var(--space-6); }
.platform-page .role-request-empty { margin-top: var(--space-4); font-size: var(--type-label); color: var(--muted); }
.platform-page .platform-role-demo[data-state="pending"] .role-approval,
.platform-page .platform-role-demo[data-state="held"] .role-approval { background: #f0f6f1; }
.platform-page .role-approval [data-request-count] { color: var(--accent); font-weight: 600; }
.platform-page .role-request-partner { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); }
.platform-page .role-partner-avatar { display: grid; place-items: center; width: 40px; height: 40px; flex-shrink: 0; border-radius: var(--radius-control); background: var(--sage); color: var(--accent); font-weight: 600; }
.platform-page .role-request-partner strong,
.platform-page .role-request-partner div > span { display: block; }
.platform-page .role-request-partner div > span { color: var(--muted); }
.platform-page .role-approval-action { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-4); }
.platform-page .role-approval-action > span { max-width: 240px; color: var(--muted); }
.platform-page .role-action { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: var(--space-2); min-height: 44px; padding: var(--space-2) var(--space-4); border: 1px solid #a5bdad; border-radius: var(--radius-control); color: var(--accent); background: #fff; font-weight: 600; font-size: var(--type-label); }
.platform-page .role-action svg { width: 18px; height: 18px; }
.platform-page .role-action:hover:not(:disabled) { background: var(--sage); border-color: var(--accent); }
.platform-page .role-action:disabled { color: var(--muted); background: var(--soft); border-color: var(--line); }
.platform-page .role-agent-body { display: flex; flex-direction: column; flex: 1; padding: var(--space-6); }
.platform-page .role-unit-picker { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); color: var(--muted); }
.platform-page .role-unit-picker > div { display: flex; gap: var(--space-2); }
.platform-page .role-unit-picker button { min-height: 44px; padding: var(--space-2) var(--space-3); border-radius: var(--radius-control); border: 1px solid var(--line); color: var(--muted); background: #fff; }
.platform-page .role-unit-picker button[aria-pressed=true] { color: var(--accent); background: var(--sage); border-color: #91af9b; font-weight: 600; }
.platform-page .role-unit-picker button:hover:not(:disabled) { border-color: var(--accent); }
.platform-page .role-apartment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: var(--space-4); padding: var(--space-4) 0; }
.platform-page .role-apartment-copy > strong { display: block; margin-top: var(--space-2); font-size: var(--type-lead); font-weight: 600; letter-spacing: -.035em; }
.platform-page .role-apartment-copy > span:not(.role-status) { display: block; color: var(--muted); }
.platform-page .role-apartment-copy .role-apartment-price { margin-top: var(--space-3); font-size: var(--type-title); line-height: 1.1; }
.platform-page .role-floor-plan { display: block; width: 100%; height: auto; max-height: 144px; stroke: none; }
.platform-page .role-agent-action { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); padding-top: var(--space-4); border-top: 1px solid var(--line); margin-top: auto; }
.platform-page .platform-role-demo[data-state="pending"] [data-agent-message],
.platform-page .platform-role-demo[data-state="held"] [data-agent-message] { color: var(--accent); }
.platform-page .role-agent-action > div strong,
.platform-page .role-agent-action > div span { display: block; }
.platform-page .role-agent-action > div span { color: var(--muted); }
.platform-page .role-review-link { display: inline-flex; align-items: center; gap: var(--space-2); width: 100%; min-height: 24px; color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.platform-page .role-review-link svg { width: 16px; height: 16px; }
.platform-page .role-demo-guide { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); font-size: var(--type-label); line-height: 1.5; }
.platform-page .role-demo-guide p { font-size: inherit; }
.platform-page .role-reset { min-height: 44px; padding: 0; background: transparent; border: 0; color: var(--muted); text-decoration: underline; text-underline-offset: 4px; flex-shrink: 0; }
.platform-page .platform-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8); }
.platform-page .platform-feature-grid article { border-top: 1px solid var(--line); padding-top: var(--space-6); }
.platform-page .platform-feature-grid svg { display: block; width: 24px; height: 24px; stroke: var(--accent); stroke-width: 1.4; margin-bottom: var(--space-6); }
.platform-page .platform-feature-grid h3 { font-size: var(--type-title); line-height: 1.2; margin-bottom: var(--space-4); }
.platform-page .platform-feature-grid p { font-size: var(--type-body); line-height: 1.5; }
.platform-page .platform-system-scene { margin: 0; }
.platform-page .platform-system-grid { display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1.3fr) 64px minmax(0, 1fr); align-items: center; }
.platform-page .system-node { display: flex; flex-direction: column; min-width: 0; }
.platform-page .system-window { flex: 1; border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; overflow: hidden; }
.platform-page .system-window-head { display: flex; align-items: center; gap: var(--space-3); min-height: 64px; padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--line); background: var(--soft); }
.platform-page .system-window-head > svg { width: 24px; height: 24px; color: var(--accent); }
.platform-page .system-window-head h3 { font-size: var(--type-lead); line-height: 1.2; letter-spacing: -.035em; }
.platform-page .system-window-body { padding: var(--space-4) var(--space-6); }
.platform-page .system-window-body strong { display: block; font-weight: 600; color: var(--ink); font-size: var(--type-body); line-height: 1.4; }
.platform-page .system-window-body span { font-size: var(--type-label); line-height: 1.5; color: var(--muted); }
.platform-page .system-contact { display: flex; align-items: center; gap: var(--space-3); }
.platform-page .system-contact strong { margin-bottom: var(--space-1); }
.platform-page .system-avatar { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border-radius: 50%; background: var(--soft); }
.platform-page .system-avatar svg { width: 24px; height: 24px; color: var(--accent); }
.platform-page .system-contact-history { list-style: none; padding: 0 0 0 8px; margin: var(--space-8) 0 0; }
.platform-page .system-contact-history li { position: relative; padding: 0 0 var(--space-6) var(--space-6); border-left: 1px solid var(--line); font-size: var(--type-label); line-height: 1.5; }
.platform-page .system-contact-history li::before { content: ''; position: absolute; top: 5px; left: -4px; width: 7px; height: 7px; border-radius: 50%; background: #88a28f; box-shadow: 0 0 0 4px #fff; }
.platform-page .system-contact-history li:last-child { border-color: transparent; padding-bottom: 0; }
.platform-page .system-node .system-description { margin-top: var(--space-4); min-height: 48px; font-size: var(--type-body); line-height: 1.5; }
.platform-page .platform-system-core .system-window { border-color: #a7bdaf; box-shadow: var(--scene-shadow); }
.platform-page .platform-system-core .system-window-head { background: var(--accent); border-color: var(--accent); color: #fff; }
.platform-page .platform-system-core .system-window-head svg { color: #fff; width: 28px; height: 28px; }
.platform-page .platform-system-core h3 { font-size: var(--type-title); }
.platform-page .platform-system-core .system-window-head > span { margin-left: auto; font-size: var(--type-label); color: #e1ede5; }
.platform-page .system-unit-title > span { display: block; }
.platform-page .system-unit-title strong { margin-top: var(--space-1); font-size: var(--type-lead); }
.platform-page .system-unit-preview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: center; gap: var(--space-4); margin-top: var(--space-4); }
.platform-page .system-unit-plan { display: block; width: 100%; height: 80px; stroke: none; }
.platform-page .system-unit-preview strong { margin-top: var(--space-1); font-size: var(--type-title); letter-spacing: -.035em; }
.platform-page .system-sale-status { display: grid; margin: var(--space-4) 0 0; }
.platform-page .system-sale-status > div { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-2) 0; border-top: 1px solid var(--line); font-size: var(--type-label); line-height: 1.5; }
.platform-page .system-sale-status dt { color: var(--muted); }
.platform-page .system-sale-status dd { display: flex; align-items: center; gap: var(--space-1); margin: 0; color: var(--accent); font-weight: 600; }
.platform-page .system-sale-status dd svg { width: 16px; height: 16px; }
.platform-page .system-finance-title { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.platform-page .system-finance-value { margin-top: var(--space-6); }
.platform-page .system-finance-value strong { margin-top: var(--space-1); font-size: var(--type-title); letter-spacing: -.035em; }
.platform-page .system-finance-records { list-style: none; margin: var(--space-4) 0 0; padding: 0; }
.platform-page .system-finance-records li { padding: var(--space-2) 0; border-top: 1px solid var(--line); font-size: var(--type-label); line-height: 1.5; }
.platform-page .system-connection { align-self: center; display: flex; flex-direction: column; gap: var(--space-3); padding-bottom: 64px; text-align: center; color: var(--muted); font-size: var(--type-meta); line-height: 1.4; }
.platform-page .system-connection i { position: relative; display: block; width: 100%; height: 1px; border-top: 1px dashed #8ca998; }
.platform-page .system-connection i::before,
.platform-page .system-connection i::after { content: ''; position: absolute; top: -3px; width: 5px; height: 5px; border-radius: 50%; background: #8ca998; }
.platform-page .system-connection i::before { left: 0; }
.platform-page .system-connection i::after { right: 0; }
.platform-page .platform-system-scene figcaption { max-width: 980px; margin-top: var(--space-8); font-size: var(--type-label); line-height: 1.5; color: var(--muted); }

.platform-page .platform-catalogue-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
.platform-page .platform-catalogue-grid article { padding: var(--space-6); border: 1px solid var(--line); border-radius: var(--radius-panel); background: #fff; }
.platform-page .platform-catalogue h3 { font-size: var(--type-title); line-height: 1.2; }
.platform-page .platform-feature-tags { display: flex; flex-wrap: wrap; align-content: flex-start; gap: var(--space-2); list-style: none; margin: var(--space-6) 0 0; padding: 0; }
.platform-page .platform-feature-tags li { max-width: 100%; padding: 6px var(--space-3); border-radius: var(--radius-control); background: #edf3ee; color: var(--accent); font-size: var(--type-label); line-height: 1.5; }
.platform-page .platform-catalogue-note { margin-top: var(--space-4); font-size: var(--type-label); line-height: 1.5; }
.platform-page .platform-catalogue-scope { margin-top: var(--space-12); padding-top: var(--space-8); border-top: 1px solid var(--line); }
.platform-page .platform-catalogue-scope > p { margin-top: var(--space-3); max-width: 720px; font-size: var(--type-body); line-height: 1.5; }
.platform-page .platform-catalogue dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) var(--space-8); margin: var(--space-6) 0 0; }
.platform-page .platform-catalogue-scope dl { gap: var(--space-6); }
.platform-page .platform-catalogue-scope dl > div { padding: var(--space-6); background: #fff; border: 1px solid var(--line); border-radius: var(--radius-panel); }
.platform-page .platform-catalogue dt { font-size: var(--type-body); font-weight: 600; line-height: 1.5; }
.platform-page .platform-catalogue dd { margin: var(--space-2) 0 0; font-size: var(--type-body); line-height: 1.5; color: var(--muted); }
.platform-page .platform-catalogue-roadmap { margin-top: var(--space-8); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.platform-page .platform-catalogue-roadmap summary { display: flex; justify-content: space-between; align-items: center; gap: var(--space-6); padding: var(--space-6) 0; list-style: none; cursor: pointer; font-size: var(--type-body); font-weight: 600; }
.platform-page .platform-catalogue-roadmap summary::-webkit-details-marker { display: none; }
.platform-page .platform-catalogue-roadmap summary svg { width: 20px; height: 20px; flex-shrink: 0; stroke: var(--accent); stroke-width: 1.5; }
.platform-page .platform-catalogue-roadmap[open] summary svg { transform: rotate(180deg); }
.platform-page .platform-roadmap-content { padding-bottom: var(--space-8); }
.platform-page .platform-roadmap-content > p { font-size: var(--type-body); line-height: 1.5; }
.platform-page .platform-catalogue-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4) var(--space-8); margin-top: var(--space-6); font-size: var(--type-label); line-height: 1.5; }
.platform-page .platform-catalogue-footer .text-link { flex-shrink: 0; }

@media (min-width: 961px) {
  .platform-page .platform-system-grid { grid-template-rows: auto auto; row-gap: var(--space-4); align-items: stretch; }
  .platform-page .system-node { display: grid; grid-template-rows: subgrid; grid-row: 1 / span 2; }
  .platform-page .system-node:not(.platform-system-core) .system-window { margin-block: var(--space-6); }
  .platform-page .platform-system-core .system-window-body { padding-block: var(--space-8); }
  .platform-page .platform-system-core .system-unit-plan { height: 96px; }
  .platform-page .system-node .system-description { margin-top: 0; min-height: 0; }
  .platform-page .system-connection { grid-row: 1; padding-bottom: 0; }
}
@media (min-width: 961px) and (max-width: 1199px) {
  .platform-page .system-window-head { min-height: 88px; }
}
@media (max-width: 1199px) {
  .platform-page .platform-hero-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .platform-page .platform-hero-copy { padding-top: 0; }
  .platform-page .platform-hero-copy h1,
  .platform-page .platform-hero-copy .lead { max-width: 720px; }
  .platform-page .platform-demo-stage { max-width: 980px; width: 100%; }
}
@media (max-width: 960px) {
  .platform-page .platform-roles { grid-template-columns: minmax(0, 1fr); }
  .platform-page .role-approval { min-height: 0; }
  .platform-page .platform-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .platform-page .platform-catalogue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .platform-page .platform-catalogue-footer { align-items: flex-start; flex-direction: column; }
  .platform-page .platform-system-grid { grid-template-columns: minmax(0, 1fr); }
  .platform-page .system-connection { align-self: auto; flex-direction: row; align-items: center; gap: var(--space-3); height: 64px; padding: 0 0 0 var(--space-6); text-align: left; }
  .platform-page .system-connection i { order: -1; width: 1px; height: 100%; border-top: 0; border-left: 1px dashed #8ca998; }
  .platform-page .system-connection i::before { top: 0; left: -3px; }
  .platform-page .system-connection i::after { top: auto; bottom: 0; left: -3px; }
  .platform-page .system-node .system-description { min-height: 0; }
  .platform-page .system-unit-preview { grid-template-columns: 140px minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .platform-page .platform-hero-actions { margin-top: var(--space-6); }
  .platform-page .platform-hero-actions .text-link { display: none; }
  .platform-page .inventory-demo .demo-steps { display: none; }
  .platform-page .platform-hero-note { margin-top: var(--space-4); }
  .platform-page .platform-role-demo { margin-bottom: var(--space-8); }
  .platform-page .platform-roles { gap: var(--space-8); }
  .platform-page .platform-role-intro h3 { font-size: var(--type-lead); }
  .platform-page .role-screen-head { padding: var(--space-4); flex-wrap: wrap; gap: var(--space-2); }
  .platform-page .role-screen-head > span { width: 100%; margin-left: 32px; }
  .platform-page .role-inventory { padding: var(--space-4) var(--space-4) 0; }
  .platform-page .role-inventory th,
  .platform-page .role-inventory td { padding: var(--space-3) var(--space-1); }
  .platform-page .role-approval,
  .platform-page .role-agent-body { padding: var(--space-4); }
  .platform-page .role-approval-action { align-items: flex-start; flex-direction: column; }
  .platform-page .role-approval-action > span { max-width: none; }
  .platform-page .role-action { width: 100%; }
  .platform-page .role-unit-picker { align-items: flex-start; flex-direction: column; gap: var(--space-2); }
  .platform-page .role-apartment { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--space-2); padding: var(--space-4) 0; }
  .platform-page .role-apartment-copy > strong { font-size: var(--type-body); }
  .platform-page .role-apartment-copy .role-apartment-price { font-size: var(--type-title); }
  .platform-page .role-agent-action { padding-top: var(--space-4); }
  .platform-page .role-demo-guide { align-items: flex-start; flex-direction: column; gap: var(--space-1); }
  .platform-page .platform-feature-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .platform-page .platform-feature-grid article { position: relative; padding-top: var(--space-6); }
  .platform-page .platform-feature-grid svg { position: absolute; left: 0; top: var(--space-6); margin: 0; }
  .platform-page .platform-feature-grid h3 { min-height: 29px; padding-left: 40px; margin-bottom: var(--space-4); }
  .platform-page .system-window-head,
  .platform-page .system-window-body { padding: var(--space-4); }
  .platform-page .platform-system-core .system-window-head > span { display: none; }
  .platform-page .system-unit-preview { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: var(--space-3); }
  .platform-page .platform-catalogue-grid,
  .platform-page .platform-catalogue dl { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .platform-page .platform-catalogue-grid article,
  .platform-page .platform-catalogue-scope dl > div { padding: var(--space-4); }
  .platform-page .platform-feature-tags { margin-top: var(--space-4); }
  .platform-page .platform-catalogue-scope { margin-top: var(--space-8); }
  .platform-page .platform-catalogue-footer .text-link { flex-shrink: 1; }
}
