.community-card .incentives-details {
  margin: 18px 0 4px;
  border-top: 1px solid #d7dfd8;
  border-bottom: 1px solid #d7dfd8;
}

.mortgage-calculator {
  margin: 24px 0;
  padding: 28px;
  border: 1px solid #cad8cf;
  border-radius: 16px;
  background: #f7f9f6;
  color: #0b2b1e;
}

.mortgage-calculator[hidden] { display: none !important; }

.mortgage-calculator__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 28px;
  align-items: stretch;
}

.mortgage-calculator__eyebrow {
  margin: 0 0 8px;
  color: #266347;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
}

.mortgage-calculator h2 {
  margin: 0 0 8px;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
}

.mortgage-calculator__heading > div > p:last-child {
  margin: 0;
  color: #586d62;
}

.mortgage-calculator__best {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px;
  border-radius: 14px;
  background: #0c3426;
  color: #fff;
}

.mortgage-calculator__best span {
  font-size: 13px;
  font-weight: 700;
  opacity: .78;
}

.mortgage-calculator__best strong {
  margin: 5px 0;
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1;
}

.mortgage-calculator__best small { opacity: .86; }

.mortgage-calculator__form {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.mortgage-calculator__form label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: #173b2d;
  font-size: 13px;
  font-weight: 800;
}

.mortgage-calculator__form label small { font-weight: 500; }

.mortgage-input,
.mortgage-calculator__form select {
  min-height: 45px;
  border: 1px solid #aebfb4;
  border-radius: 8px;
  background: #fff;
}

.mortgage-input {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  color: #607066;
  font-weight: 600;
}

.mortgage-input input {
  min-width: 0;
  width: 100%;
  padding: 11px 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #0b2b1e;
  font: inherit;
}

.mortgage-calculator__form select {
  padding: 0 12px;
  color: #0b2b1e;
  font: inherit;
}

.mortgage-input:focus-within,
.mortgage-calculator__form select:focus {
  border-color: #256247;
  box-shadow: 0 0 0 3px rgba(37, 98, 71, .13);
}

.mortgage-calculator__results {
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr);
  gap: 22px;
  margin-top: 24px;
}

.mortgage-calculator__results > div {
  padding: 20px;
  border: 1px solid #d7e0da;
  border-radius: 12px;
  background: #fff;
}

.mortgage-calculator__results h3 {
  margin: 0 0 14px;
  font-size: 17px;
}

.mortgage-calculator__breakdown dl {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px 16px;
  margin: 0;
}

.mortgage-calculator__breakdown dt { color: #5b6d63; }
.mortgage-calculator__breakdown dd { margin: 0; font-weight: 800; }

.mortgage-calculator__ranking ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mortgage-calculator__ranking li {
  display: block;
  border-bottom: 1px solid #e2e8e4;
}

.mortgage-calculator__community {
  display: grid;
  width: 100%;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.mortgage-calculator__community:hover {
  padding-right: 10px;
  padding-left: 10px;
  background: #f0f6f2;
}

.mortgage-calculator__community[aria-pressed="true"] {
  padding-right: 10px;
  padding-left: 10px;
  background: #e1eee6;
  box-shadow: inset 3px 0 #206044;
}

.mortgage-calculator__community:focus-visible {
  outline: 3px solid rgba(37, 98, 71, .25);
  outline-offset: 2px;
}

.mortgage-calculator__ranking li:last-child { border-bottom: 0; }

.mortgage-calculator__position {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: #e1eee6;
  color: #1f5d42;
  font-weight: 800;
}

.mortgage-calculator__community > span:nth-child(2) {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.mortgage-calculator__ranking small { color: #66776e; }
.mortgage-calculator__ranking b { white-space: nowrap; color: #15583c; }

.mortgage-calculator__disclaimer,
.mortgage-calculator__empty {
  margin: 18px 0 0;
  color: #617169;
  font-size: 12px;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .mortgage-calculator__form { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
  .mortgage-calculator__results { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .mortgage-calculator { padding: 20px; }
  .mortgage-calculator__heading { grid-template-columns: 1fr; }
  .mortgage-calculator__form { grid-template-columns: 1fr; }
  .mortgage-calculator__community { grid-template-columns: 30px minmax(0, 1fr); }
  .mortgage-calculator__ranking b { grid-column: 2; }
}

.community-card .incentives-details > summary {
  cursor: pointer;
  list-style: none;
  padding: 16px 34px 16px 0;
  color: #1f5b42;
  font-weight: 800;
  position: relative;
}

.community-card .incentives-details > summary::-webkit-details-marker {
  display: none;
}

.community-card .incentives-details > summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  font-weight: 500;
}

.community-card .incentives-details[open] > summary::after {
  content: "−";
}

.community-card .incentives-details-content {
  padding: 0 0 16px;
}

.community-card .incentives-details-content h4 {
  margin-top: 6px;
}

.broker-identity.broker-identity-bottom {
  margin-top: 42px;
  border-top: 1px solid #d7dfd8;
}

body.agent-community-only main > .eyebrow,
body.agent-community-only main > h1,
body.agent-community-only main > .intro,
body.agent-community-only #account,
body.agent-community-only #install-panel { display:none!important; }
body.agent-community-only #vault { padding-top:18px; }

.membership-summary-panel { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:#edf4ef; }
.membership-summary-panel span { color:#607167;font-size:13px;font-weight:700; }
.membership-summary-panel strong { color:#24553f;font-size:44px;line-height:1; }
.membership-summary-panel p { margin:0;font-weight:700;line-height:1.6; }
.membership-summary-panel .membership-stat { appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;font:inherit;padding:18px;border:1px solid #d7dfd8;border-radius:10px;background:#fff;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.membership-summary-panel .membership-stat:hover { transform:translateY(-2px);border-color:#92ad9e;box-shadow:0 8px 22px rgba(16,41,31,.08); }
.membership-summary-panel .membership-stat:focus-visible { outline:3px solid rgba(36,85,63,.25);outline-offset:2px; }
.membership-summary-panel .membership-stat p { color:#40564a;font-size:12px;font-weight:600; }
.membership-summary-panel .membership-stat em { margin-top:auto;padding-top:8px;color:#24553f;font-size:12px;font-style:normal;font-weight:800;text-decoration:underline; }
.membership-summary-panel .membership-income { grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px;border-radius:10px;background:#10291f;color:#fff; }
.membership-summary-panel .membership-income>div { display:flex;flex-direction:column;align-items:flex-start;gap:8px; }
.membership-summary-panel .membership-income span { color:#c9ddcd; }
.membership-summary-panel .membership-income strong { color:#fff;font-size:34px; }
.membership-summary-panel .membership-income small { grid-column:1/-1;color:#c9ddcd; }
@media(max-width:850px){.membership-summary-panel{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.membership-summary-panel,.membership-summary-panel .membership-income{grid-template-columns:1fr}.membership-summary-panel .membership-income small{grid-column:auto}}

.membership-manager-dialog { width:min(680px,calc(100vw - 32px));max-height:min(78vh,720px);padding:0;border:0;border-radius:16px;box-shadow:0 24px 80px rgba(11,34,24,.3);color:#10291f; }
.membership-manager-dialog::backdrop { background:rgba(8,27,19,.55);backdrop-filter:blur(2px); }
.membership-dialog-heading { position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px;border-bottom:1px solid #d7dfd8;background:#fff; }
.membership-dialog-heading span { color:#607167;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
.membership-dialog-heading h2 { margin:5px 0 0;font-size:28px; }
.membership-dialog-close { appearance:none;width:40px;height:40px;border:0;border-radius:50%;background:#edf3ee;color:#173b2b;font-size:28px;line-height:1;cursor:pointer; }
#membership-dialog-list { display:grid;gap:12px;padding:20px 24px 26px; }
.membership-dialog-row { display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px;border:1px solid #d7dfd8;border-radius:10px;background:#f9fbf9; }
.membership-dialog-row h3,.membership-dialog-row p { margin:0; }
.membership-dialog-row h3 { font-size:18px; }
.membership-dialog-row p { margin-top:4px;color:#607167;font-size:13px; }
.membership-dialog-row button { flex:0 0 auto;appearance:none;min-height:42px;padding:10px 15px;border:0;border-radius:7px;background:#24553f;color:#fff;font-weight:800;cursor:pointer; }
.membership-dialog-empty { margin:12px 0 20px;color:#607167; }
@media(max-width:560px){.membership-dialog-row{align-items:stretch;flex-direction:column}.membership-dialog-row button{width:100%}}

.membership-activity-panel { margin-top:18px; }
.membership-activity-heading { display:flex;justify-content:space-between;align-items:flex-start;gap:20px; }
.membership-activity-heading span { color:#24553f;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase; }
.membership-activity-heading h2 { margin:4px 0 6px; }
.membership-activity-heading p { margin:0;color:#607167; }
.membership-activity-heading button { appearance:none;min-height:42px;padding:10px 14px;border:1px solid #9fb4a8;border-radius:7px;background:#fff;color:#24553f;font-weight:800;cursor:pointer; }
.membership-activity-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px; }
.membership-activity-stats article { display:flex;flex-direction:column;gap:7px;padding:18px;border-radius:10px;background:#f1f4ef; }
.membership-activity-stats span,.membership-activity-stats small { color:#607167; }
.membership-activity-stats strong { color:#10291f;font-size:36px; }
.membership-activity-table { margin-top:22px;border-top:1px solid #d7dfd8; }
.membership-activity-columns,.membership-activity-row { display:grid;grid-template-columns:2fr .8fr 1fr 1.2fr;gap:14px;align-items:center;padding:14px 12px; }
.membership-activity-columns { color:#607167;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase; }
.membership-activity-row { border-top:1px solid #e2e7e2; }
.membership-activity-row div { display:flex;flex-direction:column;gap:3px; }
.membership-activity-row small,.membership-activity-row time { color:#607167;font-size:12px; }
#membership-activity-rows>p { margin:0;padding:20px;border-radius:8px;background:#f1f4ef;color:#607167; }
@media(max-width:700px){.membership-activity-heading{flex-direction:column}.membership-activity-stats{grid-template-columns:1fr}.membership-activity-columns{display:none}.membership-activity-row{grid-template-columns:1fr 1fr}.membership-activity-row div{grid-column:1/-1}}

body>header { position:sticky;top:0;z-index:60;width:100%;max-width:none;min-height:86px;margin:0;padding:14px max(28px,calc((100vw - 1120px)/2));gap:20px;background:#fff!important;border-bottom:1px solid #d7dfd8;box-shadow:0 3px 10px rgba(16,41,31,.06);isolation:isolate; }
.portal-home-logo { display:flex!important;align-items:center;gap:10px;color:#10291f!important;text-decoration:none!important; }
.portal-home-mark { display:grid;width:46px;height:46px;place-items:center;border-radius:7px;background:#10291f; }
.portal-home-mark svg { width:28px;height:28px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linejoin:round; }
.portal-home-name { display:flex!important;flex-direction:column;line-height:1!important; }
.portal-home-name strong { font-size:13px;letter-spacing:.04em; }
.portal-home-name small { margin-top:6px;font-size:8px;letter-spacing:.24em; }
.portal-admin-tabs { display:flex;flex:1;gap:6px;margin-left:18px;padding:0;overflow-x:auto;border:0;background:#fff;box-shadow:none; }
.portal-admin-tabs a { display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:8px;color:#52645a;font-weight:750;text-decoration:none;white-space:nowrap; }
.portal-admin-tabs a:hover { background:#edf3ee;color:#173b2b; }
.portal-admin-tabs a.active { background:#24553f;color:#fff; }
body.owner-membership-view main > .eyebrow,
body.owner-membership-view main > h1,
body.owner-membership-view main > .intro,
body.owner-membership-view #install-panel,
body.owner-membership-view #account,
body.owner-membership-view #vault,
body.owner-membership-view #location-form,
body.owner-membership-view .portal-community-management-heading { display:none!important; }
body.owner-membership-view main { padding-top:28px; }
body.owner-communities-view main > .eyebrow,
body.owner-communities-view main > h1,
body.owner-communities-view main > .intro,
body.owner-communities-view #install-panel,
body.owner-communities-view #account,
body.owner-communities-view #admin > h2:first-child,
body.owner-communities-view #admin > h2:first-child + p,
body.owner-communities-view #member-form,
body.owner-communities-view #members,
body.owner-communities-view .membership-summary-panel,
body.owner-communities-view .membership-activity-panel { display:none!important; }
body.owner-communities-view #vault { display:block!important; }
body.owner-communities-view #location-form { display:grid!important; }
body.owner-communities-view .portal-community-management-heading { display:block!important;margin-top:0; }
body.owner-communities-view main { padding-top:28px; }
body.owner-communities-view #admin { margin-bottom:24px; }
@media(max-width:900px){body>header{flex-wrap:wrap;padding:12px 18px}.portal-admin-tabs{order:3;flex-basis:100%;margin:0;padding-top:4px}.portal-home-name{display:flex!important}}
