:root {
  color-scheme: light;
  --bg: #f6f7f4;
  --panel: #ffffff;
  --panel-2: #f9faf8;
  --panel-3: #f1f3ef;
  --text: #111713;
  --muted: #6d756f;
  --soft: #9da49f;
  --line: #e4e8e3;
  --accent: #adf43f;
  --accent-strong: #8bdd1d;
  --accent-soft: #eafbd0;
  --blue-soft: #e9f2ff;
  --orange-soft: #fff0d8;
  --red-soft: #ffe8e8;
  --shadow: 0 16px 40px rgba(26, 35, 28, .06);
  --radius: 18px;
}

/* Viewing, conflict and deal flow */
.viewing-object { grid-template-columns: 112px minmax(0,1fr) auto !important; }
.viewing-object .route-button { margin: 0; align-self: center; }
.filter-grid.viewing-time-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.viewing-note span { min-width: 0; line-height: 1.45; }
.viewing-note b { color: var(--text); }
.conflict-alert { display: flex; gap: 14px; padding: 18px; border-radius: 17px; background: var(--orange-soft); }
.conflict-alert > span { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto; border-radius: 50%; background: #ff9e3d; color: #fff; font-size: 20px; font-weight: 900; }
.conflict-alert b,.conflict-alert p { display: block; margin: 0; }.conflict-alert p { margin-top: 6px; color: var(--muted); line-height: 1.45; }
.conflict-object { display: grid; grid-template-columns: 116px minmax(0,1fr) auto; gap: 14px; align-items: center; margin-top: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 17px; background: var(--panel-2); }
.conflict-object img { width: 116px; height: 78px; object-fit: cover; border-radius: 12px; }.conflict-object b,.conflict-object span,.conflict-object strong { display: block; }.conflict-object span:not(.status) { margin: 4px 0; color: var(--muted); font-size: 13px; }
.privacy-card { display: flex; gap: 12px; margin-top: 16px; padding: 15px 17px; border-radius: 15px; color: #f4f7f5; background: #171c18; }.privacy-card > svg { width: 23px; flex: 0 0 auto; color: var(--accent); }.privacy-card b,.privacy-card p { display: block; margin: 0; }.privacy-card p { margin-top: 4px; color: #b8c1ba; font-size: 13px; line-height: 1.4; }
.conflict-actions { flex-wrap: wrap; }.conflict-actions button { flex: 1 1 180px; }
.deal-spotlight { margin-bottom: 18px; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); box-shadow: var(--shadow); }
.deal-spotlight-head { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }.deal-code { display: inline-flex; padding: 6px 10px; border-radius: 999px; color: #477a16; background: var(--accent-soft); font-size: 12px; font-weight: 800; }.deal-spotlight h2 { margin: 10px 0 0; font-size: 20px; }.deal-spotlight h2 i { margin: 0 6px; color: var(--muted); font-style: normal; }
.deal-spotlight-body { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 18px; margin-top: 22px; }.deal-progress { position: relative; display: grid; grid-template-columns: repeat(5,1fr); padding: 22px 6px 8px; }.deal-progress::before { content: ""; position: absolute; left: 9%; right: 9%; top: 40px; height: 4px; border-radius: 4px; background: var(--line); }.deal-progress article { position: relative; display: grid; justify-items: center; gap: 8px; text-align: center; }.deal-progress article > i { z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--muted); background: var(--panel-3); font-style: normal; font-weight: 800; }.deal-progress article.done > i { color: #111; background: var(--accent); }.deal-progress article i svg { width: 18px; }.deal-progress article b { max-width: 110px; font-size: 13px; line-height: 1.25; }.deal-progress article small { color: var(--muted); font-size: 11px; }
.commission-status { display: flex; gap: 12px; padding: 18px; border-radius: 17px; color: #fff; background: #171c18; }.commission-status > span { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto; border-radius: 13px; color: #111; background: var(--accent); }.commission-status svg { width: 21px; }.commission-status small,.commission-status b { display: block; }.commission-status small { color: #aeb7b0; }.commission-status b { margin-top: 6px; line-height: 1.3; }.commission-status p { margin: 8px 0 0; color: #bdc5bf; font-size: 12px; line-height: 1.45; }
.deal-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
.deal-detail-grid article { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-2); }
.deal-detail-grid span,.deal-detail-grid b { display: block; }.deal-detail-grid span { margin-bottom: 5px; color: var(--muted); font-size: 12px; }.deal-detail-grid b { overflow-wrap: anywhere; }
.deal-progress.compact { margin: 8px 0 18px; }
.deal-chat { display: grid; gap: 10px; max-height: 320px; margin: 16px 0; padding: 14px; overflow-y: auto; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-2); }
.deal-chat article { width: min(82%,460px); padding: 12px 14px; border-radius: 14px; background: var(--panel); box-shadow: 0 5px 18px rgba(0,0,0,.04); }
.deal-chat article.mine { justify-self: end; background: var(--accent-soft); }.deal-chat article.staff { justify-self: start; }
.deal-chat b,.deal-chat p,.deal-chat small { display: block; margin: 0; }.deal-chat p { margin: 5px 0; line-height: 1.45; }.deal-chat small { color: var(--muted); font-size: 11px; }
.deal-support-queue { margin-top: 16px; }.deal-support-queue .new-object-row { width: 100%; }
.data-table tr[data-admin-action] { cursor: pointer; }.data-table tr[data-admin-action]:hover { background: var(--panel-2); }

@media(max-width:900px){
  .viewing-object { grid-template-columns: 86px minmax(0,1fr) !important; }.viewing-object .route-button { grid-column: 1/-1; width: 100%; }
  .filter-grid.viewing-time-grid { grid-template-columns: 1fr; }
  .conflict-object { grid-template-columns: 88px minmax(0,1fr); }.conflict-object img { width: 88px; height: 68px; }.conflict-object .status { grid-column: 1/-1; justify-self: start; }
  .deal-spotlight-head { flex-direction: column; }.deal-spotlight-body { grid-template-columns: 1fr; }.deal-progress { grid-template-columns: 1fr; gap: 0; padding: 0; }.deal-progress::before { left: 19px; right: auto; top: 20px; bottom: 20px; width: 3px; height: auto; }.deal-progress article { min-height: 66px; grid-template-columns: 40px minmax(0,1fr); grid-template-rows: auto auto; justify-items: start; gap: 2px 12px; text-align: left; }.deal-progress article > i { grid-row: 1/span 2; }.deal-progress article b { max-width: none; align-self: end; }.deal-progress article small { align-self: start; }
  .deal-detail-grid { grid-template-columns: 1fr; }.deal-chat article { width: 94%; }
}

body.dark {
  color-scheme: dark;
  --bg: #11171a;
  --panel: #182025;
  --panel-2: #1c252a;
  --panel-3: #222d32;
  --text: #f4f7f5;
  --muted: #a4b0aa;
  --soft: #7f8c86;
  --line: #303b40;
  --accent-soft: #263d20;
  --blue-soft: #243342;
  --orange-soft: #3e3221;
  --red-soft: #40292b;
  --shadow: 0 16px 40px rgba(0, 0, 0, .18);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.4;
  transition: background .2s ease, color .2s ease;
}
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { width: 20px; height: 20px; stroke-width: 1.8; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 244px minmax(0, 1fr); transition: grid-template-columns .22s ease; }
.sidebar {
  position: sticky; top: 0; height: 100vh; padding: 26px 14px 18px;
  display: flex; flex-direction: column; gap: 24px;
  background: var(--panel); border-right: 1px solid var(--line); z-index: 20;
}
.brand { display: flex; align-items: center; gap: 10px; border: 0; background: transparent; padding: 0 18px; cursor: pointer; }
.brand-mark { position: relative; width: 34px; height: 31px; background: var(--accent); clip-path: polygon(50% 0,100% 38%,100% 100%,62% 100%,62% 63%,38% 63%,38% 100%,0 100%,0 38%); }
.brand-mark span { position: absolute; inset: 8px; background: var(--panel); clip-path: inherit; }
.brand-name { font-size: 22px; font-weight: 780; letter-spacing: -.04em; white-space: nowrap; }
.brand-name b { color: #6eaa17; }
.nav { display: flex; flex-direction: column; gap: 8px; }
.nav[hidden] { display: none !important; }
.nav-item, .help-button {
  width: 100%; min-height: 48px; display: flex; align-items: center; gap: 14px;
  border: 0; border-radius: 14px; padding: 0 16px; background: transparent; cursor: pointer; text-align: left;
  font-weight: 620; transition: background .16s ease, transform .16s ease;
}
.nav-item:hover, .help-button:hover { background: var(--panel-3); }
.nav-item.active { background: var(--accent-soft); }
.nav-icon { display: inline-flex; color: #223b8b; }
.nav-item.active .nav-icon { color: var(--text); }
.nav-parent .chevron { margin-left: auto; transition: transform .2s ease; }
.nav-parent[aria-expanded="false"] .chevron { transform: rotate(-90deg); }
.subnav { display: grid; gap: 4px; padding: 4px 8px 4px 35px; overflow: hidden; }
.subnav.collapsed { display: none; }
.subnav-item { position: relative; border: 0; background: transparent; padding: 8px 10px 8px 22px; text-align: left; color: var(--muted); cursor: pointer; border-radius: 10px; }
.subnav-item::before { content: ""; position: absolute; left: 6px; top: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--line); transform: translateY(-50%); }
.subnav-item.active { color: var(--text); background: var(--accent-soft); font-weight: 650; }
.subnav-item.active::before { background: var(--accent-strong); }
.help-button { margin-top: auto; }
.sidebar-collapsed .app-shell { grid-template-columns: 0 minmax(0, 1fr); }
.sidebar-collapsed .sidebar { width: 0; padding-inline: 0; opacity: 0; overflow: hidden; pointer-events: none; border-right: 0; }
.sidebar { transition: width .22s ease, padding .22s ease, opacity .16s ease; }

.workspace { min-width: 0; }
.topbar {
  height: 88px; padding: 0 28px; display: flex; align-items: center; gap: 14px;
  background: var(--panel); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 15;
}
.topbar-title { font-size: 25px; font-weight: 780; letter-spacing: -.03em; min-width: 90px; }
.sidebar-toggle { flex: 0 0 auto; }
.global-search { height: 48px; flex: 1; min-width: 220px; max-width: 760px; display: flex; align-items: center; gap: 10px; padding: 0 16px; border: 1px solid var(--line); background: var(--panel-2); border-radius: 14px; }
.global-search:focus-within { border-color: var(--accent-strong); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.global-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); }
.top-actions { display: flex; gap: 10px; }
.button, .ghost-button, .icon-button, .theme-switch button, .profile {
  border: 1px solid var(--line); background: var(--panel); border-radius: 13px; cursor: pointer;
}
.button, .ghost-button { min-height: 44px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-weight: 680; white-space: nowrap; }
.button.primary { background: var(--accent); color: #10160d; border-color: var(--accent); }
.button.primary:hover { background: var(--accent-strong); }
.ghost-button:hover, .icon-button:hover { background: var(--panel-3); }
.icon-button { width: 44px; height: 44px; display: inline-grid; place-items: center; position: relative; }
.has-dot::after { display: none; }
.notification-count { position: absolute; top: -5px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; display: grid; place-items: center; color: #14200f; background: var(--accent); border: 2px solid var(--panel); border-radius: 999px; font-size: 10px; font-weight: 850; line-height: 1; }
.theme-switch { height: 42px; display: flex; padding: 3px; background: var(--panel-3); border-radius: 12px; }
.theme-switch button { width: 34px; border: 0; background: transparent; display: grid; place-items: center; }
.theme-switch button.active { background: var(--accent-soft); color: #5d9812; }
.profile { display: flex; align-items: center; gap: 4px; border: 0; background: transparent; }
.avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #dce7db; color: #1b281e; font-size: 13px; font-weight: 800; }
.avatar.large { width: 48px; height: 48px; flex: 0 0 auto; }
.profile-menu {
  position: absolute; top: 74px; right: 24px; width: 310px; padding: 10px;
  background: var(--panel); border: 1px solid var(--line); border-radius: 18px;
  box-shadow: 0 24px 70px rgba(12, 18, 14, .18); z-index: 45;
}
.profile-menu[hidden] { display: none; }
.profile-menu-head { display: flex; gap: 12px; align-items: center; padding: 10px; border-bottom: 1px solid var(--line); }
.profile-menu-head b, .profile-menu-head span { display: block; }
.profile-menu-head span { color: var(--muted); font-size: 12px; margin-top: 2px; }
.profile-menu-list { padding: 7px 0; display: grid; gap: 2px; }
.profile-menu-list button, .profile-logout {
  width: 100%; min-height: 43px; display: flex; align-items: center; gap: 11px; padding: 0 11px;
  border: 0; background: transparent; border-radius: 11px; text-align: left; cursor: pointer;
}
.profile-menu-list button:hover { background: var(--panel-3); }
.profile-menu-list svg { color: #28489a; }
.profile-logout { color: #b53c43; border-top: 1px solid var(--line); border-radius: 0; }
.account-hero { display: flex; align-items: center; gap: 14px; padding: 15px; background: var(--panel-3); border-radius: 15px; }
.account-hero .avatar { width: 58px; height: 58px; font-size: 17px; }
.settings-list { display: grid; gap: 10px; margin-top: 16px; }
.setting-row { min-height: 58px; padding: 10px 13px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid var(--line); border-radius: 13px; }
.backup-center { display: grid; gap: 18px; }
.backup-loading { min-height: 180px; display: grid; place-items: center; color: var(--muted); }
.backup-status { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-3); }
.backup-status > span, .backup-row-icon { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: var(--accent-soft); color: #4f8e0a; }
.backup-status.waiting > span { background: var(--orange-soft); color: #a65a11; }
.backup-status b, .backup-status p, .backup-status small, .backup-row b, .backup-row small { display: block; }
.backup-status p { margin: 4px 0; }
.backup-status small, .backup-row small, .backup-heading p, .backup-note small { color: var(--muted); }
.backup-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.backup-heading h3, .backup-heading p { margin: 0; }
.backup-heading p { margin-top: 4px; font-size: 13px; }
.backup-list { display: grid; gap: 8px; max-height: 310px; overflow-y: auto; }
.backup-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 12px; border: 1px solid var(--line); border-radius: 13px; }
.backup-row-icon { width: 36px; height: 36px; }
.backup-row small { margin-top: 3px; font-size: 12px; }
.backup-note { display: flex; gap: 11px; padding: 14px; border-radius: 14px; background: var(--blue-soft); }
.backup-note > svg { flex: 0 0 auto; margin-top: 2px; color: #36539e; }
.backup-note b, .backup-note small { display: block; }
.backup-note small { margin-top: 3px; line-height: 1.45; }
@media (max-width: 640px) {
  .backup-heading { align-items: stretch; flex-direction: column; }
  .backup-row { grid-template-columns: auto minmax(0, 1fr); }
  .backup-row .ghost-button { grid-column: 1 / -1; width: 100%; }
}
.switch { width: 44px; height: 25px; padding: 3px; border: 0; border-radius: 99px; background: var(--line); cursor: pointer; transition: background .18s ease; }
.switch::after { content: ""; display: block; width: 19px; height: 19px; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(0,0,0,.18); transition: transform .18s ease; }
.switch.on { background: var(--accent-strong); }
.switch.on::after { transform: translateX(19px); }
.access-card { padding: 18px; border: 1px solid var(--accent-strong); background: var(--accent-soft); border-radius: 16px; }
.access-card h3 { margin: 0 0 5px; font-size: 21px; }
.access-meter { height: 8px; margin: 15px 0 7px; overflow: hidden; background: color-mix(in srgb, var(--panel) 60%, transparent); border-radius: 99px; }
.access-meter span { display: block; height: 100%; width: 23.5%; background: var(--accent-strong); border-radius: inherit; }
.help-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.help-card { padding: 15px; border: 1px solid var(--line); border-radius: 14px; }
.help-card b { display: block; margin-bottom: 4px; }

.view-root { padding: 20px 28px 36px; }
.grid { display: grid; gap: 16px; }
.stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stat-card { min-height: 94px; padding: 17px; display: flex; gap: 14px; align-items: center; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); }
.stat-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--accent-soft); }
.stat-label { color: var(--muted); font-size: 14px; }
.stat-value { font-size: 28px; font-weight: 800; line-height: 1.05; }
.dashboard-grid { grid-template-columns: minmax(0, 1.7fr) minmax(320px, .85fr); margin-top: 16px; }
.panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.panel-header { min-height: 62px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.panel-title { font-size: 19px; font-weight: 780; letter-spacing: -.02em; }
.text-button { border: 0; background: transparent; color: #36539e; font-weight: 650; cursor: pointer; }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.data-table th { padding: 12px 16px; color: var(--muted); font-size: 13px; font-weight: 600; text-align: left; border-bottom: 1px solid var(--line); }
.data-table td { padding: 13px 16px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.client-row { cursor: pointer; transition: background .15s ease; }
.client-row:hover, .client-row:focus { background: var(--panel-3); outline: none; }
.person { display: flex; align-items: center; gap: 10px; }
.initials { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--panel-3); font-weight: 750; font-size: 13px; }
.primary-text { font-weight: 680; }
.secondary-text { color: var(--muted); font-size: 13px; }
.status { display: inline-flex; padding: 5px 10px; border-radius: 999px; background: var(--blue-soft); font-size: 13px; white-space: nowrap; }
.status.green { background: var(--accent-soft); }
.status.orange { background: var(--orange-soft); }
.status.red { background: var(--red-soft); }
.task-list { padding: 0 18px 10px; }
.task-row { display: grid; grid-template-columns: 24px 1fr auto 24px; gap: 10px; align-items: center; min-height: 58px; border-bottom: 1px solid var(--line); }
.task-row:last-child { border-bottom: 0; }
.task-check { width: 22px; height: 22px; padding: 0; display: grid; place-items: center; border: 1.5px solid var(--soft); border-radius: 6px; background: transparent; cursor: pointer; }
.task-check svg { width: 15px; height: 15px; stroke-width: 2.5; }
.task-row.done .task-check { background: var(--accent); border-color: var(--accent); }
.task-row.done .task-name { text-decoration: line-through; color: var(--soft); }
.task-row.completing { animation: taskComplete 5s linear forwards; }
.task-removal { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; text-decoration: none; }
.tasks-empty { min-height: 150px; padding: 28px; display: grid; place-items: center; align-content: center; gap: 5px; text-align: center; color: var(--muted); }
.tasks-empty b { color: var(--text); }
@keyframes taskComplete { 0%,85% { opacity: 1; } 100% { opacity: .35; } }
.task-date { color: var(--muted); font-size: 13px; white-space: nowrap; }
.kebab { border: 0; background: transparent; cursor: pointer; color: var(--muted); }

.section-header { margin: 18px 0 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.section-title { font-size: 20px; font-weight: 780; }
.property-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.property-card { overflow: hidden; background: var(--panel); border: 1px solid var(--line); border-radius: 17px; transition: transform .18s ease, box-shadow .18s ease; }
.property-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.property-image { height: 168px; position: relative; background: #dfe4df center/cover no-repeat; }
.property-card.compact .property-image { height: 132px; }
.heart-button { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(17, 23, 19, .76); color: white; cursor: pointer; }
.heart-button.saved { color: var(--accent); }
.photo-count { position: absolute; left: 10px; bottom: 10px; padding: 4px 8px; border-radius: 8px; background: rgba(17, 23, 19, .78); color: white; font-size: 12px; }
.property-body { padding: 13px; }
.property-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.property-name { font-size: 17px; font-weight: 780; }
.property-price { margin-top: 10px; font-size: 19px; font-weight: 800; }
.property-meta { display: flex; flex-wrap: wrap; gap: 7px 13px; margin-top: 7px; color: var(--muted); font-size: 13px; }
.property-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.property-actions .button, .property-actions .ghost-button { min-height: 38px; padding: 0 10px; font-size: 13px; }

.objects-layout { display: grid; gap: 14px; }
.filter-panel { overflow: hidden; }
.filter-panel.filters-collapsed { display: none; }
.filter-panel .panel-header { min-height: 54px; }
.filter-scroll { padding: 14px 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: end; }
.filter-group { padding: 0; border: 0; }
.filter-label { display: flex; align-items: center; justify-content: space-between; font-weight: 690; margin-bottom: 8px; }
.filter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.field, .select-field { width: 100%; height: 40px; border: 1px solid var(--line); background: var(--panel-2); color: var(--text); border-radius: 10px; padding: 0 11px; outline: 0; }
.check-list { display: grid; gap: 7px; }
.check-item { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; }
.check-item input { accent-color: var(--accent-strong); width: 16px; height: 16px; }
.filter-footer { padding: 12px 16px; display: flex; justify-content: flex-end; gap: 8px; border-top: 1px solid var(--line); background: var(--panel); }
.results-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.results-controls { display: flex; gap: 8px; align-items: center; }
.segmented { display: inline-flex; padding: 3px; background: var(--panel-3); border-radius: 12px; }
.segmented button { border: 0; background: transparent; border-radius: 9px; padding: 8px 12px; cursor: pointer; }
.segmented button.active { background: var(--accent-soft); font-weight: 700; }
.property-grid { grid-template-columns: repeat(3, minmax(220px, 1fr)); }
.sort-field { width: auto; }

.collection-tabs, .view-tabs, .filter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.collection-guide { margin-bottom: 14px; padding: 13px 16px; display: flex; align-items: center; gap: 12px; background: var(--blue-soft); border: 1px solid color-mix(in srgb, #5c83d7 30%, var(--line)); border-radius: 15px; }
.collection-guide .guide-icon { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; color: #36539e; background: var(--panel); border-radius: 11px; }
.collection-guide b, .collection-guide span { display: block; }
.collection-guide div > span { margin-top: 2px; color: var(--muted); }
.chip { min-height: 38px; padding: 0 14px; border: 1px solid var(--line); background: var(--panel); color: var(--text); border-radius: 999px; cursor: pointer; }
.chip.active { background: var(--accent-soft); border-color: transparent; font-weight: 700; }
.selection-bar { margin: 14px 0; min-height: 62px; padding: 10px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--line)); border-radius: 15px; }
.collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.compare-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compare-card { overflow: hidden; }
.compare-card img { width: 100%; height: 190px; object-fit: cover; display: block; }
.compare-table { width: 100%; border-collapse: collapse; }
.compare-table td { padding: 10px 14px; border-bottom: 1px solid var(--line); }
.compare-table td:first-child { color: var(--muted); width: 46%; }
.compare-finance-panel { margin-bottom: 15px; padding: 14px; display: grid; gap: 14px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 15px; }
.compare-finance-copy { display: flex; gap: 11px; align-items: center; }
.compare-finance-copy > span { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; color: #17210f; background: var(--accent); border-radius: 12px; }
.compare-finance-copy svg { width: 19px; height: 19px; }
.compare-finance-copy div { display: grid; gap: 3px; }
.compare-finance-copy small, .compare-cash-note span { color: var(--muted); }
.compare-finance-controls { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.compare-finance-controls label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 650; }
.compare-finance-controls select, .compare-finance-controls input { width: 100%; min-width: 0; height: 42px; padding: 0 11px; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 10px; font: inherit; }
.compare-cash-note { grid-column: span 3; padding: 9px 12px; display: grid; gap: 2px; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; }
.comparison-summary { margin-bottom: 15px; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.comparison-summary > div { padding: 13px; display: grid; gap: 3px; background: var(--accent-soft); border-radius: 13px; }
.comparison-summary span, .comparison-summary small { color: var(--muted); }
.comparison-summary b { font-size: 15px; }
.compare-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 15px; }
.comparison-table { width: 100%; min-width: 690px; border-collapse: collapse; }
.comparison-table th, .comparison-table td { padding: 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.comparison-table th:last-child, .comparison-table td:last-child { border-right: 0; }
.comparison-table tr:last-child th, .comparison-table tr:last-child td { border-bottom: 0; }
.comparison-table thead th { width: 27%; background: var(--panel-2); }
.comparison-table thead th:first-child { width: 19%; color: var(--muted); }
.comparison-table thead img { width: 100%; height: 92px; margin-bottom: 7px; display: block; object-fit: cover; border-radius: 10px; }
.comparison-table thead b { display: block; font-size: 14px; }
.comparison-table tbody th { color: var(--muted); font-weight: 600; background: var(--panel-2); }
.comparison-table td { position: relative; font-weight: 680; }
.comparison-table td.compare-best { background: var(--accent-soft); }
.compare-badge { display: block; width: max-content; margin-top: 4px; padding: 3px 7px; border-radius: 99px; background: var(--accent); color: #14200f; font-size: 11px; font-weight: 750; }
.compare-legend { padding: 12px 3px 0; display: flex; justify-content: space-between; gap: 15px; color: var(--muted); font-size: 13px; }
.collection-client-feedback { margin-bottom: 14px; padding: 16px; display: grid; gap: 13px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; }
.collection-feedback-head { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.collection-feedback-head > div { display: grid; gap: 4px; }
.collection-feedback-head > div > b { font-size: 17px; }
.collection-feedback-head small { color: var(--muted); }
.collection-feedback-stats { display: flex; flex-wrap: wrap; gap: 8px; }
.collection-feedback-stats span { padding: 8px 10px; display: flex; align-items: center; gap: 6px; color: var(--muted); background: var(--panel-2); border-radius: 10px; font-size: 13px; }
.collection-feedback-stats svg { width: 16px; height: 16px; color: var(--text); }
.collection-feedback-comments { display: grid; gap: 7px; }
.collection-feedback-comments article { padding: 10px 12px; background: var(--panel-2); border-radius: 10px; }
.collection-feedback-comments span { color: var(--muted); font-size: 12px; }
.collection-feedback-comments p { margin: 4px 0 0; }
.share-success-card { padding: 16px; display: flex; gap: 12px; align-items: center; background: var(--accent-soft); border-radius: 15px; }
.share-success-card > span { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; color: #17210f; background: var(--accent); border-radius: 13px; }
.share-success-card svg { width: 21px; height: 21px; }
.share-success-card p { margin: 4px 0 0; color: var(--muted); line-height: 1.45; }
.share-link-field { margin-top: 14px; display: grid; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 700; }
.share-link-field input { width: 100%; height: 46px; padding: 0 12px; color: var(--text); background: var(--panel-2); border: 1px solid var(--line); border-radius: 11px; font: inherit; }
.share-feature-list { margin-top: 12px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.share-feature-list span { padding: 10px; display: flex; gap: 7px; align-items: center; color: var(--muted); background: var(--panel-2); border-radius: 10px; font-size: 12px; }
.share-feature-list svg { width: 17px; height: 17px; color: var(--text); }
.best-dot { width: 9px; height: 9px; display: inline-block; margin-right: 5px; background: var(--accent-strong); border-radius: 50%; }

.events-toolbar { margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.events-layout { grid-template-columns: 330px minmax(0, 1fr); align-items: start; }
.mini-calendar { padding: 15px; position: sticky; top: 108px; }
.calendar-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.weekday { padding: 5px 0; text-align: center; color: var(--muted); font-size: 12px; }
.day { aspect-ratio: 1; min-width: 0; display: grid; place-items: center; align-content: center; gap: 2px; border: 0; border-radius: 10px; background: transparent; color: var(--text); cursor: default; }
.day.muted { color: var(--soft); opacity: .45; }
.day.has-event { background: var(--accent-soft); cursor: pointer; font-weight: 760; }
.day.has-event:hover, .day.selected { background: var(--accent); color: #10160d; }
.day i { width: 4px; height: 4px; background: #3e65bf; border-radius: 50%; }
.day:disabled { pointer-events: none; }
.clear-event-filter { width: 100%; margin-top: 12px; }
.event-list { display: grid; gap: 10px; }
.event-list-head { margin-top: 0; }
.event-card { display: grid; grid-template-columns: 56px minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 14px 16px; background: var(--panel); border: 1px solid var(--line); border-radius: 15px; }
.event-card:hover { border-color: color-mix(in srgb, var(--accent-strong) 55%, var(--line)); }
.event-date { width: 52px; height: 58px; display: grid; place-items: center; align-content: center; background: var(--accent-soft); border-radius: 13px; line-height: 1; }
.event-date b { font-size: 22px; }
.event-date span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.event-title { margin: 6px 0 3px; font-size: 16px; }

.page-tools { display: flex; gap: 10px; margin-bottom: 16px; }
.summary-row { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 16px; }
.details-grid { grid-template-columns: minmax(0, 1.5fr) 340px; }
.detail-panel { padding: 18px; }
.note-box { padding: 13px; border-radius: 12px; background: var(--panel-3); color: var(--muted); }
.clients-panel { overflow: hidden; }
.client-detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.detail-block { min-height: 105px; padding: 15px; display: grid; align-content: start; gap: 8px; background: var(--panel-3); border-radius: 14px; }
.detail-block > span { color: var(--muted); font-size: 13px; }
.detail-block > b { font-size: 16px; }

.modal-backdrop { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 22px; background: rgba(8, 12, 10, .56); backdrop-filter: blur(6px); }
.modal-backdrop[hidden] { display: none; }
.modal { width: min(920px, 100%); max-height: 90vh; overflow: auto; background: var(--panel); border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.modal-header { position: sticky; top: 0; z-index: 2; min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; background: var(--panel); border-bottom: 1px solid var(--line); }
.modal-title { font-size: 21px; font-weight: 800; }
.modal-body { padding: 18px; }
.modal-hero { height: 260px; border-radius: 16px; background-position: center; background-size: cover; }
.modal-hero { position: relative; width: 100%; padding: 0; overflow: hidden; border: 0; background: #101512; cursor: zoom-in; }
.modal-hero img { width: 100%; height: 100%; display: block; object-fit: cover; }
.modal-hero > span { position: absolute; right: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 7px; padding: 9px 12px; color: white; background: rgba(13,20,16,.76); border-radius: 11px; font-size: 12px; font-weight: 700; backdrop-filter: blur(8px); }
.modal-hero > span svg { width: 16px; height: 16px; }
.modal-tabs { display: flex; gap: 5px; margin: 14px 0; padding: 4px; background: var(--panel-3); border-radius: 13px; }
.modal-tab { flex: 1; border: 0; background: transparent; padding: 10px; border-radius: 10px; cursor: pointer; }
.modal-tab.active { background: var(--panel); font-weight: 700; }
.media-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.media-tile { min-height: 110px; display: grid; place-items: center; gap: 7px; padding: 12px; background: var(--panel-3); border-radius: 14px; text-align: center; }
.form-grid { display: grid; gap: 12px; }
.form-grid label { display: grid; gap: 6px; font-weight: 650; }
.form-grid input, .form-grid textarea, .form-grid select { width: 100%; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-2); color: var(--text); padding: 11px; outline: 0; }
.form-grid textarea { min-height: 92px; resize: vertical; }
.modal-footer { display: flex; justify-content: flex-end; gap: 9px; margin-top: 16px; }
.modal:has(.property-editor-form) { width: min(1040px, 100%); }
.property-editor-form { display: grid; gap: 14px; }
.property-editor-section { padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: var(--panel-2); }
.property-editor-heading { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 17px; }
.property-editor-heading > span { flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; color: #345d16; background: var(--accent-soft); border-radius: 10px; font-size: 12px; font-weight: 850; }
.property-editor-heading h3 { margin: 1px 0 4px; font-size: 18px; letter-spacing: -.025em; }
.property-editor-heading p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.property-editor-grid { display: grid; gap: 12px; }
.property-editor-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.property-editor-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.property-editor-grid.four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.property-editor-grid label { min-width: 0; display: grid; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 750; }
.property-editor-grid label.wide,.property-editor-grid .wide { grid-column: 1 / -1; }
.property-editor-grid input,.property-editor-grid textarea,.property-editor-grid select { width: 100%; min-height: 44px; padding: 10px 12px; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 11px; outline: 0; }
.property-editor-grid input:focus,.property-editor-grid textarea:focus,.property-editor-grid select:focus { border-color: #87bd43; box-shadow: 0 0 0 3px rgba(156,218,78,.14); }
.property-editor-grid textarea { min-height: 132px; line-height: 1.5; resize: vertical; }
.property-editor-grid input[readonly] { color: var(--muted); background: var(--panel-3); }
.property-checkbox { min-height: 44px; display: flex!important; align-items: center; gap: 10px!important; padding: 10px 12px; color: var(--text)!important; background: var(--panel); border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }
.property-checkbox input { width: 19px!important; min-height: 19px!important; height: 19px; padding: 0; flex: 0 0 auto; accent-color: #78b626; }
.property-checkbox span { min-width: 0; }
.property-checkbox b,.property-checkbox small { display: block; }.property-checkbox small { margin-top: 2px; color: var(--muted); font-weight: 500; }
.property-checkbox.publish { align-self: end; min-height: 62px; }
.property-option-list { display: flex; flex-wrap: wrap; gap: 9px; }
.property-option-list .property-checkbox { flex: 1 1 190px; }
.admin-upload-zone { min-height: 154px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; padding: 20px; color: var(--text); background: var(--panel); border: 1.5px dashed #9dbd73; border-radius: 16px; text-align: center; cursor: pointer; transition: .18s ease; }
.admin-upload-zone:hover,.admin-upload-zone.dragging { background: color-mix(in srgb,var(--accent) 9%,var(--panel)); border-color: var(--accent-strong); transform: translateY(-1px); }
.admin-upload-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.admin-upload-icon { width: 43px; height: 43px; display: grid; place-items: center; margin-bottom: 4px; color: #4f7d20; background: var(--accent-soft); border-radius: 13px; }
.admin-upload-icon svg { width: 22px; height: 22px; }
.admin-upload-zone b { font-size: 15px; }.admin-upload-zone small { color: var(--muted); font-size: 11px; }
.admin-existing-media { margin-top: 17px; }.admin-existing-media h4 { margin: 0 0 10px; font-size: 13px; }
.admin-upload-preview { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.admin-upload-preview:empty { display: none; }
.admin-upload-thumb { position: relative; min-width: 0; margin: 0; padding: 5px; overflow: hidden; background: var(--panel); border: 1px solid var(--line); border-radius: 13px; }
.admin-upload-thumb.cover { border-color: #7eb737; box-shadow: 0 0 0 2px rgba(160,218,82,.18); }
.admin-upload-thumb img { width: 100%; height: 100px; display: block; object-fit: cover; border-radius: 9px; }
.admin-upload-thumb video { width: 100%; height: 100px; display: block; object-fit: contain; background: #050806; border-radius: 9px; }
.admin-photo-cover { position: relative; width: 100%; padding: 0; color: white; background: transparent; border: 0; cursor: pointer; }
.admin-photo-cover span { position: absolute; left: 6px; bottom: 6px; max-width: calc(100% - 12px); padding: 5px 7px; overflow: hidden; color: white; background: rgba(10,17,12,.72); border-radius: 7px; font-size: 9px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; backdrop-filter: blur(7px); }
.admin-photo-remove { position: absolute; z-index: 1; top: 9px; right: 9px; width: 25px; height: 25px; display: grid; place-items: center; padding: 0; color: white; background: rgba(14,20,16,.76); border: 0; border-radius: 8px; font-size: 18px; cursor: pointer; }
.admin-upload-thumb figcaption { padding: 7px 4px 3px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.admin-upload-thumb.existing figcaption { font-weight: 700; }
.property-editor-footer { position: sticky; bottom: -18px; z-index: 2; margin: 0 -18px -18px; padding: 14px 18px; background: color-mix(in srgb,var(--panel) 92%,transparent); border-top: 1px solid var(--line); backdrop-filter: blur(14px); }

.toast-region { position: fixed; right: 24px; bottom: 24px; z-index: 80; display: grid; gap: 9px; }
.toast { min-width: 260px; max-width: 360px; padding: 13px 16px; background: #111713; color: white; border-radius: 13px; box-shadow: var(--shadow); animation: toastIn .2s ease; }
@keyframes toastIn { from { transform: translateY(8px); opacity: 0; } }
.empty-state { min-height: 340px; display: grid; place-items: center; text-align: center; color: var(--muted); }

.domplus-page { display: grid; gap: 30px; }
.brand-showcase { display: grid; grid-template-columns: minmax(360px, 1.8fr) repeat(5, minmax(168px, 1fr)); gap: 10px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.brand-hero { min-height: 354px; position: relative; overflow: hidden; border-radius: 22px; background-position: center; background-size: cover; color: white; }
.brand-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,10,8,.89) 0%, rgba(6,10,8,.66) 52%, rgba(6,10,8,.12) 100%); }
.brand-hero-content { position: relative; z-index: 1; height: 100%; padding: 26px; display: flex; flex-direction: column; align-items: flex-start; }
.partner-badge { padding: 7px 10px; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; background: rgba(255,255,255,.13); backdrop-filter: blur(10px); font-size: 12px; }
.brand-logo { margin-top: 26px; font-size: 22px; font-weight: 900; letter-spacing: -.04em; }
.brand-logo b { color: var(--accent); }
.brand-hero h2 { margin: 12px 0 8px; max-width: 320px; font-size: 32px; line-height: 1.02; letter-spacing: -.04em; }
.brand-hero p { max-width: 270px; margin: 0; color: rgba(255,255,255,.74); }
.brand-link { margin-top: auto; padding: 0; display: inline-flex; align-items: center; gap: 9px; border: 0; background: transparent; color: white; font-weight: 750; cursor: pointer; }
.brand-link svg { width: 18px; height: 18px; }
.market-product { min-width: 168px; overflow: hidden; display: flex; flex-direction: column; background: var(--panel); border: 1px solid var(--line); border-radius: 18px; transition: transform .18s ease, border-color .18s ease; }
.market-product:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--accent-strong) 50%, var(--line)); }
.market-product-image { min-height: 158px; position: relative; background-position: center; background-size: cover; }
.market-brand { position: absolute; top: 10px; left: 10px; padding: 5px 8px; border-radius: 999px; background: rgba(15,19,16,.82); color: white; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.market-product-body { flex: 1; padding: 13px; display: flex; flex-direction: column; }
.market-product h3 { min-height: 40px; margin: 0; font-size: 15px; line-height: 1.25; }
.market-price { margin-top: 9px; font-size: 17px; font-weight: 820; }
.market-meta { min-height: 34px; margin-top: 4px; color: var(--muted); font-size: 12px; }
.market-add { width: 100%; min-height: 36px; margin-top: auto; padding: 0 8px; font-size: 12px; }
.market-add.added { background: var(--accent-soft); border-color: var(--accent); }
.domplus-section-head { margin-bottom: 13px; display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.domplus-section-head h2 { margin: 3px 0 2px; font-size: 23px; letter-spacing: -.03em; }
.domplus-section-head p, .domplus-section-head > span { margin: 0; color: var(--muted); font-size: 13px; }
.market-kicker { color: var(--accent-strong); font-size: 11px; font-weight: 850; letter-spacing: .14em; }
.category-market-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 10px; }
.category-market { min-height: 128px; padding: 16px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 4px; border: 1px solid var(--line); border-radius: 17px; background: var(--panel); color: var(--text); text-align: left; cursor: pointer; }
.category-market:hover, .category-market.featured { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent-strong) 45%, var(--line)); }
.category-market > span { width: 38px; height: 38px; margin-bottom: auto; display: grid; place-items: center; border-radius: 11px; background: var(--panel-3); }
.category-market.featured > span { background: var(--accent); }
.category-market svg { width: 20px; height: 20px; }
.category-market b { font-size: 14px; }
.category-market small { color: var(--muted); }
.house-selector { width: 260px; }
.domplus-recommendations, .domplus-search-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.domplus-recommendations .market-product, .domplus-search-grid .market-product { display: grid; grid-template-columns: 180px minmax(0,1fr); min-width: 0; }
.domplus-recommendations .market-product-image, .domplus-search-grid .market-product-image { min-height: 190px; }
.property-extras { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.property-extras-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.extra-product { min-width: 0; overflow: hidden; display: grid; grid-template-columns: 100px minmax(0,1fr); background: var(--panel-3); border: 1px solid var(--line); border-radius: 14px; }
.extra-product img { width: 100%; height: 100%; min-height: 128px; object-fit: cover; }
.extra-product > div { min-width: 0; padding: 11px; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.extra-product span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .05em; }
.extra-product b { font-size: 13px; }
.extra-product strong { margin-top: 3px; font-size: 13px; }
.extra-product .text-button { margin-top: auto; padding: 0; font-size: 12px; }
.map-board { height: 360px; position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(35deg, transparent 48%, rgba(255,255,255,.75) 49%, rgba(255,255,255,.75) 52%, transparent 53%), #dfead7; }
.map-board::before, .map-board::after { content: ""; position: absolute; border-radius: 50%; background: #c7def1; }
.map-board::before { width: 260px; height: 110px; right: -40px; top: 28px; transform: rotate(-16deg); }
.map-board::after { width: 210px; height: 80px; left: 14%; bottom: -25px; }
.map-road { position: absolute; width: 130%; height: 18px; left: -12%; top: 48%; background: #f4f1e7; border: 1px solid rgba(120,120,110,.18); transform: rotate(-8deg); }
.road-two { top: 25%; transform: rotate(21deg); }
.map-pin { position: absolute; z-index: 3; width: 36px; height: 36px; display: grid; place-items: center; border: 3px solid white; border-radius: 50%; background: var(--accent-strong); color: #111; font-weight: 850; box-shadow: 0 8px 18px rgba(20,30,22,.2); cursor: pointer; }
.map-legend { margin-top: 12px; display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.map-legend button { padding: 10px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); text-align: left; cursor: pointer; }
.map-legend i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--accent-soft); font-style: normal; font-weight: 800; }
.map-legend b, .map-legend small { display: block; }
.map-legend small { margin-top: 2px; color: var(--muted); }
.gallery-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.gallery-grid figure { margin: 0; overflow: hidden; border-radius: 14px; background: var(--panel-3); }
.gallery-grid figure > button { width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.gallery-grid img { width: 100%; height: 190px; display: block; object-fit: cover; }
.gallery-grid figcaption { min-height: 44px; padding: 8px 11px; color: var(--muted); font-size: 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.gallery-grid figcaption > div { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.gallery-download { width: auto !important; min-height: 30px; padding: 5px 9px !important; border: 1px solid var(--line) !important; border-radius: 9px; background: var(--panel-2) !important; color: var(--text); cursor: pointer !important; display: inline-flex; align-items: center; gap: 5px; font: inherit; font-weight: 700; }
.gallery-download svg { width: 14px; height: 14px; }
.media-section-title { margin: 6px 0 12px; font-size: 16px; }
.media-section-title:not(:first-child) { margin-top: 24px; }
.video-grid video { width: 100%; height: 230px; display: block; background: #050806; object-fit: contain; }
.media-tile > span:not(.status) { color: var(--muted); font-size: 12px; line-height: 1.35; }
.photo-viewer-footer > div { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.property-image[role="button"] { cursor: zoom-in; }
.route-button { margin-top: 13px; min-height: 42px; padding: 0 13px; display: inline-flex; align-items: center; gap: 8px; color: #446e1d; background: var(--accent-soft); border: 1px solid color-mix(in srgb,var(--accent-strong) 35%,var(--line)); border-radius: 11px; font-weight: 750; cursor: pointer; }
.route-button:hover { border-color: var(--accent-strong); }.route-button svg { width: 18px; height: 18px; }
.property-quick-actions { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 8px; }
.property-quick-actions .route-button { margin-top: 0; }
.mortgage-button { min-height: 42px; padding: 0 13px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid #b9c8f4; border-radius: 11px; background: #eef2ff; color: #334e9f; font: inherit; font-weight: 750; cursor: pointer; }
.mortgage-button:hover { border-color: #6f8de8; }.mortgage-button svg { width: 18px; height: 18px; }
.mortgage-calculator { display: grid; gap: 16px; }
.mortgage-object { padding: 12px; display: grid; grid-template-columns: 116px minmax(0,1fr); align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-3); }
.mortgage-object img { width: 116px; height: 82px; object-fit: cover; border-radius: 12px; }.mortgage-object span,.mortgage-object strong,.mortgage-object small { display: block; }.mortgage-object span,.mortgage-object small { color: var(--muted); }.mortgage-object strong { margin: 5px 0; font-size: 25px; }
.mortgage-form { display: grid; gap: 12px; }.mortgage-form label { display: grid; gap: 6px; color: var(--muted); font-size: 12px; font-weight: 750; }.mortgage-form input,.mortgage-form select { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-3); color: var(--text); font: inherit; }.mortgage-form input[readonly] { opacity: .72; cursor: not-allowed; }
.mortgage-result { padding: 18px; display: grid; grid-template-columns: minmax(190px,.75fr) minmax(0,1.25fr); gap: 18px; border-radius: 18px; background: linear-gradient(135deg,#18241b,#2d4231); color: #fff; }
.mortgage-result-main span,.mortgage-result-main strong,.mortgage-result-main small { display: block; }.mortgage-result-main span,.mortgage-result-main small { color: #bdcabe; }.mortgage-result-main strong { margin: 8px 0 4px; font-size: 32px; letter-spacing: -.04em; }
.mortgage-result-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }.mortgage-result-grid div { padding: 10px; border-radius: 11px; background: rgba(255,255,255,.07); }.mortgage-result-grid span,.mortgage-result-grid b { display: block; }.mortgage-result-grid span { color: #b9c7ba; font-size: 11px; }.mortgage-result-grid b { margin-top: 5px; font-size: 14px; }
.mortgage-disclaimer { padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.viewing-object { display: grid; grid-template-columns: 112px 1fr; gap: 13px; align-items: center; margin-bottom: 16px; padding: 12px; background: var(--panel-3); border-radius: 15px; }
.viewing-object img { width: 112px; height: 78px; object-fit: cover; border-radius: 11px; }.viewing-object b,.viewing-object span,.viewing-object strong { display: block; }.viewing-object span { margin: 4px 0; color: var(--muted); font-size: 12px; }
.viewing-note { margin-top: 12px; padding: 12px 14px; display: flex; align-items: center; gap: 9px; color: var(--muted); background: var(--blue-soft); border-radius: 12px; font-size: 13px; }.viewing-note svg { width: 18px; flex: 0 0 auto; }
.collection-house-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; max-height: 350px; overflow: auto; padding: 2px; }
.collection-house-picker > div { grid-column: 1/-1; }.collection-house-picker > div b,.collection-house-picker > div small { display: block; }.collection-house-picker > div small { margin-top: 3px; color: var(--muted); }
.collection-house-picker > label { display: grid; grid-template-columns: 20px 64px minmax(0,1fr); align-items: center; gap: 9px; padding: 9px; color: var(--text); background: var(--panel-3); border: 1px solid var(--line); border-radius: 13px; cursor: pointer; }
.collection-house-picker > label:has(input:checked) { border-color: var(--accent-strong); background: var(--accent-soft); }.collection-house-picker input { accent-color: var(--accent-strong); }.collection-house-picker img { width: 64px; height: 50px; object-fit: cover; border-radius: 9px; }.collection-house-picker span b,.collection-house-picker span small { display: block; }.collection-house-picker span b { font-size: 12px; }.collection-house-picker span small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.collection-active-head { margin: 14px 0; padding: 17px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; }.collection-active-head h2 { margin: 7px 0 3px; font-size: 20px; }.collection-active-head p { margin: 0; color: var(--muted); font-size: 12px; }.danger-soft { color: #a23e3e; }.button.danger { color: white; background: #b94646; border-color: #b94646; }
.collection-empty { grid-column: 1/-1; }
.event-type-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0 15px; }.event-more { margin-top: 7px; padding: 0; font-size: 12px; }
.event-detail-hero { min-height: 230px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; color: white; background-size: cover; background-position: center; border-radius: 17px; overflow: hidden; position: relative; isolation: isolate; }
.event-detail-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(5,10,7,.2),rgba(5,10,7,.82)); }.event-detail-hero > span { align-self: flex-start; padding: 6px 9px; background: rgba(255,255,255,.18); border-radius: 8px; font-size: 11px; font-weight: 800; }.event-detail-hero h2 { margin: 0 0 5px; font-size: 26px; }.event-detail-hero p { margin: 0; color: #dde5df; }
.event-detail-copy { padding: 17px 2px 5px; }.event-detail-copy h3,.event-program h3 { margin: 0 0 8px; }.event-detail-copy p { margin: 0; color: var(--muted); line-height: 1.6; }
.event-program { margin-top: 12px; padding: 15px; background: var(--panel-3); border-radius: 14px; }.event-program article { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); }.event-program article:last-child { border-bottom: 0; }.event-program i { width: 25px; height: 25px; display: grid; place-items: center; color: #456f1d; background: var(--accent-soft); border-radius: 8px; font-size: 11px; font-style: normal; font-weight: 800; }
.event-confirmation { margin-top: 12px; padding: 14px; display: flex; gap: 11px; background: var(--blue-soft); border-radius: 14px; }.event-confirmation > svg { width: 21px; flex: 0 0 auto; color: #3d609e; }.event-confirmation b,.event-confirmation p { display: block; }.event-confirmation p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.photo-viewer-main { position: relative; height: min(64vh,620px); display: grid; place-items: center; overflow: hidden; background: #0b0f0c; border-radius: 16px; }.photo-viewer-main > img { width: 100%; height: 100%; object-fit: contain; }.photo-arrow { position: absolute; top: 50%; width: 44px; height: 54px; transform: translateY(-50%); color: white; background: rgba(0,0,0,.6); border: 0; border-radius: 12px; font-size: 28px; cursor: pointer; }.photo-arrow.prev { left: 12px; }.photo-arrow.next { right: 12px; }
.photo-thumbs { margin-top: 10px; display: flex; gap: 8px; overflow-x: auto; }.photo-thumbs button { width: 82px; height: 58px; flex: 0 0 auto; padding: 2px; overflow: hidden; background: transparent; border: 2px solid transparent; border-radius: 10px; cursor: pointer; }.photo-thumbs button.active { border-color: var(--accent-strong); }.photo-thumbs img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }.photo-viewer-footer { margin-top: 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; }
.auth-otp { padding: 16px; display: grid; gap: 12px; background: var(--panel-3); border: 1px solid var(--line); border-radius: 15px; }.auth-otp[hidden] { display: none; }.auth-otp p { margin: 4px 0 0; color: var(--muted); }.auth-otp > label { display: grid; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 700; }.auth-otp input { text-align: center; font-size: 22px; font-weight: 800; letter-spacing: .35em; }.auth-otp > small { color: var(--muted); line-height: 1.45; }.auth-otp > .text-button { justify-self: center; }
.notification-list { display: grid; gap: 8px; }
.notification-list button { width: 100%; padding: 12px; display: grid; grid-template-columns: 40px minmax(0,1fr) 10px; align-items: center; gap: 12px; color: var(--text); border: 1px solid var(--line); border-radius: 14px; background: var(--panel); text-align: left; cursor: pointer; }
.notification-list button:hover { background: var(--panel-3); }
.notification-list b, .notification-list small { display: block; }
.notification-list small { margin-top: 3px; color: var(--muted); }
.notification-list time { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.notification-item.unread { border-color: color-mix(in srgb,var(--accent-strong) 45%,var(--line)); background: color-mix(in srgb,var(--accent-soft) 58%,var(--panel)); }
.notification-item > i { width: 8px; height: 8px; background: var(--accent-strong); border-radius: 50%; }
.offer-list { display: grid; gap: 9px; }
.offer-list article { display: grid; grid-template-columns: 88px minmax(0,1fr) 44px; gap: 12px; align-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 14px; }
.offer-list img { width: 88px; height: 72px; object-fit: cover; border-radius: 10px; }
.offer-list span, .offer-list b, .offer-list strong { display: block; }
.offer-list span { color: var(--muted); font-size: 11px; }
.offer-list strong { margin-top: 3px; }
.offer-client { margin-top: 16px; }

/* Рабочий стол */
.page-intro { min-height: 54px; margin-bottom: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.page-intro h1 { margin: 0; font-size: 28px; line-height: 1.1; letter-spacing: -.04em; }
.page-intro p { margin: 5px 0 0; color: var(--muted); }
.dashboard-tasks { min-height: 252px; }
.attention-list { padding: 14px; display: grid; gap: 10px; }
.attention-item { width: 100%; min-height: 67px; padding: 11px 12px; display: flex; align-items: center; gap: 11px; border: 0; border-radius: 14px; background: var(--panel-3); color: var(--text); text-align: left; cursor: pointer; }
.attention-item:hover { transform: translateY(-1px); }
.attention-item.danger { background: var(--red-soft); }
.attention-item.warning { background: var(--orange-soft); }
.attention-item.info { background: var(--blue-soft); }
.attention-icon { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; background: color-mix(in srgb, var(--panel) 70%, transparent); }
.attention-item b, .attention-item small { display: block; }
.attention-item small { margin-top: 3px; color: var(--muted); }
.dashboard-lower { grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); margin-top: 16px; align-items: stretch; }
.new-object-list, .platform-news { padding: 8px 14px 14px; display: grid; gap: 4px; }
.new-object-row { min-height: 76px; padding: 8px; display: grid; grid-template-columns: 82px minmax(0,1fr) auto; align-items: center; gap: 12px; border: 0; border-radius: 13px; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.new-object-row:hover, .platform-news button:hover { background: var(--panel-3); }
.new-object-photo { width: 82px; height: 60px; border-radius: 10px; background-position: center; background-size: cover; }
.new-object-row b, .new-object-row small, .platform-news b, .platform-news small { display: block; }
.new-object-row small, .platform-news small { margin-top: 3px; color: var(--muted); }
.new-object-row strong { white-space: nowrap; }
.platform-news button { padding: 11px 10px; display: block; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.platform-news button:last-child { border-bottom: 0; }
.news-date { display: block; margin-bottom: 4px; color: #5b7f25; font-size: 12px; font-weight: 750; }

/* Каталог и карта */
.active-filter-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.active-filter-row .text-button { margin-left: auto; }
.filter-checks-wide { grid-column: span 2; }
.check-list.inline { display: flex; flex-wrap: wrap; gap: 10px 18px; min-height: 40px; align-items: center; }
.objects-map-layout { min-height: 610px; display: grid; grid-template-columns: 360px minmax(0,1fr); overflow: hidden; background: var(--panel); border: 1px solid var(--line); border-radius: 18px; }
.map-object-list { max-height: 610px; overflow: auto; padding: 10px; border-right: 1px solid var(--line); }
.map-list-head { padding: 8px 8px 13px; }
.map-list-head b, .map-list-head span { display: block; }
.map-list-head span { margin-top: 3px; color: var(--muted); font-size: 13px; }
.map-object-list > button { width: 100%; min-height: 92px; padding: 8px; display: grid; grid-template-columns: 108px minmax(0,1fr); gap: 11px; border: 0; border-top: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.map-object-list > button:hover { background: var(--panel-3); }
.map-list-photo { height: 76px; border-radius: 11px; background-position: center; background-size: cover; }
.map-object-list b, .map-object-list small, .map-object-list strong { display: block; }
.map-object-list small { margin: 3px 0; color: var(--muted); }
.interactive-map-wrap { min-height: 610px; position: relative; background: var(--panel-3); }
.objects-leaflet-map { width: 100%; height: 610px; background: #dfe5df; }
.objects-leaflet-map .leaflet-control-zoom { margin: 16px 16px 0 0; border: 0; box-shadow: var(--shadow); }
.objects-leaflet-map .leaflet-control-zoom a { width: 38px; height: 38px; line-height: 36px; border-color: var(--line); color: #111713; }
.objects-leaflet-map .leaflet-popup-content-wrapper { padding: 0; overflow: hidden; border-radius: 16px; box-shadow: 0 20px 48px rgba(14,23,17,.24); }
.objects-leaflet-map .leaflet-popup-content { width: 320px !important; margin: 0; }
.doma-map-marker-shell { background: transparent; border: 0; }
.doma-map-marker { width: 42px; height: 42px; display: grid; place-items: center; border: 3px solid white; border-radius: 50%; background: #a9f33d; color: #12200d; font-size: 14px; font-weight: 850; box-shadow: 0 8px 20px rgba(10,20,12,.32); }
.map-popup-card { display: grid; grid-template-columns: 112px minmax(0,1fr); background: #fff; color: #111713; }
.map-popup-card img { width: 112px; height: 154px; object-fit: cover; }
.map-popup-card > div { padding: 12px; display: flex; flex-direction: column; align-items: flex-start; }
.map-popup-card span { color: #55761e; font-size: 11px; font-weight: 800; }
.map-popup-card b { margin-top: 5px; font-size: 15px; }
.map-popup-card small { margin-top: 3px; color: #70786f; }
.map-popup-card strong { margin-top: 8px; font-size: 18px; }
.map-popup-card button { width: 100%; min-height: 32px; margin-top: auto; border: 0; border-radius: 9px; background: #a9f33d; color: #111713; font-weight: 750; cursor: pointer; }
.map-caption { position: absolute; z-index: 500; left: 14px; right: 14px; bottom: 14px; min-height: 46px; padding: 9px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-radius: 13px; background: color-mix(in srgb, var(--panel) 92%, transparent); box-shadow: var(--shadow); backdrop-filter: blur(10px); pointer-events: none; }
.map-caption span { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.map-caption small { max-width: 360px; color: var(--muted); text-align: right; }
.map-load-error { height: 100%; display: grid; place-items: center; align-content: center; gap: 6px; color: var(--muted); text-align: center; }
.map-load-error b { color: var(--text); }

/* Клиенты */
.clients-intro { align-items: center; }
.client-filter-bar { margin-bottom: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.client-filter-bar .chip:last-child { background: var(--red-soft); color: #b54640; border-color: transparent; }
.clients-table-head, .client-list-row { display: grid; grid-template-columns: 1.15fr 1.25fr .75fr 1fr 28px; gap: 14px; align-items: center; }
.clients-table-head { min-height: 48px; padding: 0 18px; color: var(--muted); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--line); }
.client-list { padding: 0 12px 8px; }
.client-list-row { width: 100%; min-height: 84px; padding: 10px 8px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.client-list-row:last-child { border-bottom: 0; }
.client-list-row:hover, .client-list-row:focus-visible { background: var(--panel-3); outline: 0; border-radius: 12px; }
.client-list-row b, .client-list-row small { display: block; }
.client-list-row small { margin-top: 4px; color: var(--muted); font-size: 12px; }
.client-stage-select { width: 100%; min-width: 118px; height: 36px; padding: 0 9px; border: 0; border-radius: 999px; background: var(--blue-soft); color: var(--text); font-weight: 700; outline: 0; cursor: pointer; }
.client-stage-select.green { background: var(--accent-soft); }
.client-stage-select.orange { background: var(--orange-soft); }
.attention-text { color: #c54843; }
.row-more { color: var(--muted); text-align: center; letter-spacing: 2px; }
.initials.large { width: 48px; height: 48px; font-size: 14px; background: var(--accent-soft); color: #5b7f25; }

.client-sheet-backdrop { position: fixed; inset: 0; z-index: 60; background: rgba(8,12,10,.28); opacity: 0; transition: opacity .18s ease; }
.client-sheet-backdrop[hidden] { display: none; }
.client-sheet-backdrop.open { opacity: 1; }
.client-sheet { position: absolute; top: 0; right: 0; width: min(480px, 96vw); height: 100%; overflow: auto; background: var(--panel); border-left: 1px solid var(--line); box-shadow: -24px 0 70px rgba(12,18,14,.16); transform: translateX(100%); transition: transform .22s ease; }
.client-sheet-backdrop.open .client-sheet { transform: translateX(0); }
.client-sheet-header { min-height: 92px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); }
.client-sheet-header > div:first-child { min-width: 0; display: flex; align-items: center; gap: 12px; }
.client-sheet-header h2 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.client-sheet-header small { color: var(--muted); }
.client-sheet-actions { display: flex; gap: 6px; }
.client-sheet-tabs { padding: 0 20px; display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--line); }
.client-sheet-tabs button { min-height: 52px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--muted); cursor: pointer; }
.client-sheet-tabs button.active { border-color: var(--accent-strong); color: var(--text); font-weight: 750; }
.client-sheet-body { padding: 20px; }
.client-sheet-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.client-sheet-fields label { display: grid; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 650; }
.client-sheet-fields label.full { grid-column: 1 / -1; }
.client-sheet-fields input, .client-sheet-fields select, .client-sheet-fields textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-3); color: var(--text); padding: 11px 12px; outline: 0; }
.client-sheet-fields textarea { min-height: 86px; resize: vertical; }
.client-sheet-fields input:focus, .client-sheet-fields select:focus, .client-sheet-fields textarea:focus { border-color: var(--accent-strong); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.client-sheet-footer { margin-top: 18px; display: grid; grid-template-columns: 1.4fr 1fr; gap: 9px; }
.sheet-timeline { display: grid; gap: 0; }
.sheet-timeline article { position: relative; padding: 4px 0 22px 28px; border-left: 2px solid var(--line); }
.sheet-timeline article::before { content: ""; position: absolute; left: -6px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--accent-strong); }
.sheet-timeline time, .sheet-timeline b, .sheet-timeline span { display: block; }
.sheet-timeline time { color: var(--muted); font-size: 12px; }
.sheet-timeline b { margin-top: 4px; }
.sheet-timeline span { margin-top: 3px; color: var(--muted); }
.sheet-empty { min-height: 360px; display: grid; place-items: center; align-content: center; gap: 9px; text-align: center; }
.sheet-empty > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: var(--accent-soft); }
.sheet-empty p { max-width: 330px; margin: 0 0 6px; color: var(--muted); }

/* Регистрация и закрепление роли */
body.auth-open { overflow: hidden; }
.auth-gate { position: fixed; inset: 0; z-index: 200; overflow: auto; padding: 34px clamp(18px,5vw,76px) 48px; background: radial-gradient(circle at 88% 12%, color-mix(in srgb,var(--accent) 28%,transparent), transparent 28%), var(--bg); }
.auth-gate[hidden] { display: none; }
.auth-brand { display: flex; align-items: center; gap: 10px; }
.auth-back { margin-left: auto; border: 0; background: transparent; color: var(--muted); font-weight: 700; cursor: pointer; }
.auth-card { width: min(980px,100%); margin: clamp(42px,8vh,90px) auto 0; padding: clamp(24px,4vw,46px); border: 1px solid var(--line); border-radius: 26px; background: color-mix(in srgb,var(--panel) 96%,transparent); box-shadow: 0 30px 90px rgba(15,24,18,.12); }
.auth-copy { max-width: 680px; }.auth-copy h1 { margin: 7px 0 10px; font-size: clamp(34px,5vw,54px); line-height: 1; letter-spacing: -.05em; }.auth-copy p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.5; }
.auth-role-grid { margin-top: 30px; display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; }
.auth-role-grid > button { min-height: 190px; padding: 22px; display: grid; grid-template-columns: 52px minmax(0,1fr); grid-template-rows: auto auto 1fr; gap: 3px 14px; border: 1px solid var(--line); border-radius: 19px; background: var(--panel); color: var(--text); text-align: left; cursor: pointer; transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.auth-role-grid > button:hover { transform: translateY(-2px); box-shadow: var(--shadow); }.auth-role-grid > button.selected { border-color: var(--accent-strong); box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent); }
.auth-role-icon { width: 52px; height: 52px; grid-row: 1 / span 2; display: grid; place-items: center; border-radius: 15px; background: var(--accent-soft); color: #5f8c25; }.auth-role-icon svg { width: 23px; }
.auth-role-grid b { align-self: end; font-size: 21px; }.auth-role-grid small { color: var(--muted); font-size: 14px; line-height: 1.4; }.auth-role-grid i { grid-column: 2; align-self: end; color: #6c9431; font-size: 13px; font-style: normal; font-weight: 800; }
.auth-form { margin-top: 18px; padding-top: 18px; display: grid; gap: 13px; border-top: 1px solid var(--line); }.auth-form[hidden] { display: none; }
.auth-selected { min-height: 42px; padding: 0 12px; display: flex; align-items: center; gap: 8px; border-radius: 11px; background: var(--accent-soft); font-weight: 750; }.auth-selected svg { width: 18px; }
.auth-form > label:not(.auth-consent), .auth-form-row label { display: grid; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 700; }.auth-form input:not([type="checkbox"]) { width: 100%; height: 46px; padding: 0 13px; border: 1px solid var(--line); border-radius: 12px; outline: 0; background: var(--panel-3); color: var(--text); }.auth-form input:focus { border-color: var(--accent-strong); box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent); }
.auth-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.auth-consent { display: flex; align-items: flex-start; gap: 9px; color: var(--muted); font-size: 13px; }.auth-consent input { margin-top: 3px; accent-color: var(--accent-strong); }.auth-submit { width: 100%; min-height: 50px; }
.auth-invite-note { margin-top: -5px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.auth-note { margin-top: 17px; padding-top: 16px; display: flex; align-items: flex-start; gap: 9px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.45; }.auth-note > span:first-child { width: 26px; height: 26px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: var(--panel-3); }.auth-note svg { width: 15px; }

.builder-nav[hidden] { display: none; }

/* Кабинет застройщика */
.builder-mode .view-root { max-width: 1560px; }
.builder-mode .global-search { display: none; }
.builder-mode .sidebar-toggle { margin-right: auto; }
.builder-page-head { min-height: 100px; margin-bottom: 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.builder-page-head h1 { margin: 5px 0 7px; font-size: clamp(30px, 3vw, 42px); line-height: 1; letter-spacing: -.045em; }
.builder-page-head p { max-width: 720px; margin: 0; color: var(--muted); font-size: 15px; }
.builder-eyebrow { color: #6e8e38; font-size: 11px; font-weight: 850; letter-spacing: .14em; }
.builder-period { flex: 0 0 auto; padding: 4px; display: flex; gap: 3px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-3); }
.builder-period button { min-height: 37px; padding: 0 16px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.builder-period button.active { background: var(--panel); color: var(--text); box-shadow: 0 4px 13px rgba(16,24,18,.08); }
.builder-object-tabs { margin-bottom: 14px; padding: 5px; display: flex; gap: 4px; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-3); scrollbar-width: none; }
.builder-object-tabs button { min-height: 40px; padding: 0 15px; display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); font: inherit; font-size: 13px; font-weight: 750; white-space: nowrap; cursor: pointer; }
.builder-object-tabs button span { min-width: 22px; height: 22px; padding: 0 6px; display: grid; place-items: center; border-radius: 999px; background: var(--soft); color: var(--muted); font-size: 10px; }
.builder-object-tabs button.active { background: var(--panel); color: var(--text); box-shadow: 0 4px 13px rgba(16,24,18,.08); }.builder-object-tabs button.active span { background: var(--accent); color: #17220e; }
.builder-metrics-grid { margin-bottom: 16px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.builder-metric { min-width: 0; min-height: 138px; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: var(--panel); box-shadow: 0 4px 20px rgba(14,22,16,.035); }
.builder-metric-top { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; font-weight: 700; }
.builder-metric-top i { width: 9px; height: 9px; border-radius: 50%; background: #4b79ed; }
.builder-metric strong { margin-top: 16px; display: block; font-size: 34px; line-height: 1; letter-spacing: -.04em; }
.builder-metric small { margin-top: 8px; display: block; color: var(--muted); }
.builder-metric.viewings .builder-metric-top i { background: #8d62e8; }
.builder-metric.bookings .builder-metric-top i { background: #e89d32; }
.builder-metric.sales .builder-metric-top i { background: #55a85b; }
.builder-dashboard-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(310px,.75fr); gap: 16px; }
.builder-analytics-panel, .builder-work-panel, .builder-results, .builder-objects-panel { overflow: hidden; border-radius: 19px; }
.builder-panel-head { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.builder-panel-head b, .builder-panel-head small { display: block; }
.builder-panel-head small { margin-top: 4px; color: var(--muted); font-weight: 450; }
.builder-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 15px; }
.builder-legend span { position: relative; padding-left: 13px; color: var(--muted); font-size: 11px; font-weight: 700; }
.builder-legend span::before { content: ""; position: absolute; left: 0; top: 4px; width: 7px; height: 7px; border-radius: 50%; background: #4b79ed; }
.builder-legend .viewings::before { background: #8d62e8; }.builder-legend .bookings::before { background: #e89d32; }.builder-legend .sales::before { background: #55a85b; }
.builder-chart { height: 290px; position: relative; padding: 15px 20px 38px; }
.chart-grid { position: absolute; inset: 15px 20px 38px; background: repeating-linear-gradient(to bottom, transparent 0, transparent calc(25% - 1px), var(--line) 25%); }
.builder-chart svg { position: relative; z-index: 2; width: 100%; height: 100%; overflow: visible; }
.chart-line { fill: none; stroke: #4b79ed; stroke-width: 3; vector-effect: non-scaling-stroke; }
.chart-line.viewings { stroke: #8d62e8; }.chart-line.bookings { stroke: #e89d32; }.chart-line.sales { stroke: #55a85b; }

.object-contact-card,.booking-callout{display:flex;align-items:center;gap:14px;margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--accent) 7%,var(--panel));}.object-contact-card>span,.booking-callout>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#111;background:var(--accent);flex:0 0 auto}.object-contact-card svg,.booking-callout>span svg{width:22px;height:22px}.object-contact-card div{min-width:0;flex:1}.object-contact-card p,.booking-callout p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.booking-callout{align-items:flex-start;margin:0 0 18px}.booking-callout.compact{margin-bottom:18px}.booking-process{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.booking-process span{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:12px;color:var(--muted);font-size:13px}.booking-process span:not(:last-child)::after{content:"→";margin-left:auto;color:var(--line-strong)}.booking-process i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--soft);font-style:normal;font-weight:800}.booking-process .active{color:var(--text);background:color-mix(in srgb,var(--accent) 9%,transparent)}.booking-process .active i{background:var(--accent);color:#111}
@media(max-width:900px){.object-contact-card{align-items:flex-start;flex-wrap:wrap}.object-contact-card .ghost-button{width:100%}.booking-process{grid-template-columns:1fr 1fr}.booking-process span::after{display:none}}

/* Public Maisvon landing */
.app-shell[hidden],.public-site[hidden]{display:none!important}.public-site{min-height:100vh;background:#fbfcfa;color:#0f1511}.public-site button,.public-site a{font:inherit}.public-header{position:sticky;top:0;z-index:80;height:82px;padding:0 clamp(28px,4vw,72px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px;border-bottom:1px solid rgba(18,25,20,.07);background:rgba(251,252,250,.92);backdrop-filter:blur(18px)}.public-brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;text-align:left;cursor:pointer}.public-brand small{margin-left:10px;padding-left:18px;border-left:1px solid #dfe4df;color:#727b74;font-size:9px;line-height:1.35;letter-spacing:.2em}.public-header nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2vw,34px)}.public-header nav a{color:#16201a;text-decoration:none;font-weight:620;font-size:14px}.public-header-actions{display:flex;align-items:center;gap:12px}.public-login,.public-footer button,.public-section-head button{border:0;background:transparent;cursor:pointer;font-weight:700}.public-hero{padding:34px clamp(28px,4vw,72px) 30px;display:grid;grid-template-columns:minmax(460px,.9fr) minmax(560px,1.15fr);gap:40px;align-items:center;min-height:650px}.public-hero-copy{max-width:690px}.public-kicker{display:block;color:#667069;font-size:11px;font-weight:760;letter-spacing:.34em}.public-hero h1{margin:24px 0 14px;font-size:clamp(52px,5vw,82px);line-height:.96;letter-spacing:-.062em}.public-hero-copy>p{margin:0;max-width:650px;color:#626b65;font-size:clamp(19px,1.6vw,26px);line-height:1.35}.public-role-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.public-role-choice button{min-height:94px;padding:18px 20px;display:grid;grid-template-columns:44px 1fr 24px;grid-template-rows:auto auto;align-items:center;text-align:left;border:1px solid #d9dfda;border-radius:16px;background:white;cursor:pointer}.public-role-choice button.active{border-color:#a8ef3d;background:linear-gradient(135deg,#b8fa51,#9ee631)}.public-role-choice button>span{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center}.public-role-choice button b{font-size:18px}.public-role-choice button small{color:#5f685f;font-size:13px}.public-role-choice button i{grid-column:3;grid-row:1/3;font-size:24px;font-style:normal}.public-trust-row{margin-top:26px;display:flex;gap:24px;flex-wrap:wrap}.public-trust-row span{display:flex;align-items:center;gap:8px;color:#3f4942;font-size:13px}.public-trust-row i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e9fbd0;color:#111}.public-trust-row svg{width:16px;height:16px}.public-hero-gallery{position:relative;display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:560px}.public-photo{position:relative;margin:0;overflow:hidden;border-radius:22px;background:#e1e6e1}.public-photo.main{grid-row:1/3}.public-photo img{width:100%;height:100%;object-fit:cover;display:block}.public-photo figcaption{position:absolute;left:16px;bottom:16px;padding:10px 13px;display:flex;align-items:center;gap:8px;border-radius:12px;background:rgba(255,255,255,.94);font-size:12px;font-weight:700;box-shadow:0 8px 28px rgba(0,0,0,.12)}.public-photo figcaption i{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#b2f64a}.public-photo figcaption svg{width:16px}.public-handwritten{position:absolute;right:10%;top:47%;z-index:2;padding:12px 18px;transform:rotate(-4deg);background:rgba(255,255,255,.9);font-family:"Comic Sans MS",cursive;font-size:20px;line-height:1.05}.public-steps{margin:0 clamp(28px,4vw,72px);padding:26px 30px;display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:24px;align-items:center;border:1px solid #e2e7e2;border-radius:22px;background:white}.public-steps h2{margin:9px 0 0;font-size:29px;line-height:1.02;letter-spacing:-.04em}.public-steps article{display:flex;gap:13px;padding-left:22px;border-left:1px solid #e0e4e0}.public-steps article>i{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#b7f453;font-style:normal;font-weight:850}.public-steps article b{font-size:16px}.public-steps article p{margin:5px 0 0;color:#68716b;font-size:13px;line-height:1.45}.public-object-preview,.public-registration{padding:76px clamp(28px,4vw,72px)}.public-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.public-section-head h2{margin:8px 0 0;font-size:42px;line-height:1;letter-spacing:-.045em}.public-section-head>p{max-width:460px;color:#69726c;font-size:16px}.public-section-head button{font-size:15px}.public-object-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.public-object-grid article{overflow:hidden;border:1px solid #e1e6e1;border-radius:20px;background:#fff}.public-object-grid img{width:100%;height:250px;display:block;object-fit:cover}.public-object-grid article div{padding:16px;display:grid;gap:5px}.public-object-grid span,.public-object-grid small{color:#6e776f;font-size:13px}.public-object-grid b{font-size:19px}.public-object-grid strong{font-size:22px}.public-domplus{margin:0 clamp(28px,4vw,72px);padding:42px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;border-radius:28px;background:#101713;color:white}.public-domplus h2{margin:10px 0;font-size:38px;letter-spacing:-.04em}.public-domplus p{margin:0;color:#aeb7b1;font-size:16px;max-width:700px}.public-domplus-tags{display:grid;grid-template-columns:1fr 1fr;gap:10px}.public-domplus-tags span{padding:18px;border:1px solid #334038;border-radius:15px;background:#19221c;font-weight:700}.public-registration{padding-bottom:60px}.public-register-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.public-register-grid article{min-height:190px;padding:28px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:20px;border:1px solid #dfe5df;border-radius:24px;background:linear-gradient(135deg,#fff,#f3f6f2)}.public-register-grid article>span{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#e9fbd0}.public-register-grid h3{margin:0 0 5px;font-size:25px}.public-register-grid p{margin:0;color:#667068}.public-footer{padding:26px clamp(28px,4vw,72px);display:flex;align-items:center;gap:26px;border-top:1px solid #e0e5e0}.public-footer p{flex:1;color:#6a736c}.public-footer button{font-size:14px}

/* Admin workspace */
.admin-mode{--bg:#f3f6f2}.admin-nav[hidden]{display:none!important}.admin-mode .sidebar{background:#111914;color:#f5f8f5;border-color:#263128}.admin-mode .sidebar .brand-mark span{background:#111914}.admin-mode .sidebar .brand-name b{color:#aef244}.admin-mode .sidebar .nav-item{color:#aab5ad}.admin-mode .sidebar .nav-item:hover{background:#1c2720}.admin-mode .sidebar .nav-item.active{color:white;background:#273822}.admin-mode .sidebar .nav-icon{color:#aef244}.admin-mode .help-button{display:none}.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.admin-head h1{margin:6px 0 4px;font-size:34px;letter-spacing:-.04em}.admin-head p{margin:0;color:var(--muted)}.admin-badge{display:inline-flex;padding:5px 9px;border-radius:8px;background:#eafbd0;color:#3e7410;font-size:11px;font-weight:800;letter-spacing:.12em}.admin-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.admin-metric{padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--panel)}.admin-metric span{display:block;color:var(--muted);font-size:13px}.admin-metric strong{display:block;margin:8px 0 2px;font-size:30px}.admin-metric small{color:#4d8c20}.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:16px;margin-top:16px}.admin-chart{height:270px;padding:24px 20px 14px;display:flex;align-items:flex-end;gap:12px}.admin-chart span{height:var(--h);flex:1;min-height:14px;border-radius:9px 9px 3px 3px;background:linear-gradient(#aef244,#76bb1b);position:relative}.admin-chart span::after{content:attr(data-label);position:absolute;left:50%;bottom:-23px;transform:translateX(-50%);color:var(--muted);font-size:11px}.admin-feed{padding:8px 16px}.admin-feed article{padding:12px 0;display:flex;gap:11px;border-bottom:1px solid var(--line)}.admin-feed article:last-child{border-bottom:0}.admin-feed i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--accent-strong)}.admin-feed b,.admin-feed small{display:block}.admin-feed small{margin-top:3px;color:var(--muted);font-size:12px}.admin-toolbar{padding:14px 16px;display:flex;align-items:center;gap:10px}.admin-toolbar .builder-search{flex:1}.admin-object-row{display:grid;grid-template-columns:minmax(280px,1.4fr) .7fr .6fr .7fr auto;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.admin-object-row>span:first-child{display:flex;align-items:center;gap:11px}.admin-object-row img{width:72px;height:52px;object-fit:cover;border-radius:10px}.admin-object-row b,.admin-object-row small{display:block}.admin-object-row small{color:var(--muted);font-size:12px}.admin-row-actions{display:flex;gap:7px}.admin-row-actions button{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);cursor:pointer}.admin-funnel{padding:20px}.admin-funnel-row{display:grid;grid-template-columns:140px 1fr 70px;gap:14px;align-items:center;margin:13px 0}.admin-funnel-row i{height:22px;width:var(--w);border-radius:7px;background:linear-gradient(90deg,#aef244,#7dcb1f)}.admin-source-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:16px}.admin-source-grid article{padding:15px;border:1px solid var(--line);border-radius:13px}.admin-source-grid strong{display:block;font-size:24px}.admin-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-content-list{padding:8px 16px}.admin-content-list article{padding:13px 0;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.admin-content-list article:last-child{border:0}.admin-content-list b,.admin-content-list small{display:block}.admin-content-list small{color:var(--muted);margin-top:3px}.admin-login-note{padding:12px 14px;border-radius:12px;background:var(--panel-3);color:var(--muted);font-size:13px}.admin-login-note b{color:var(--text)}.admin-invite-create{margin-bottom:16px;padding:18px;display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(220px,1fr) minmax(170px,.7fr) auto;gap:14px;align-items:end}.admin-invite-create h2{margin:0;font-size:20px}.admin-invite-create p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.admin-invite-create label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:750}.admin-invite-create input,.admin-invite-create select{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:11px;color:var(--text);background:var(--panel-3)}.admin-invite-create .button{height:44px}.admin-invite-list{overflow:hidden}.admin-invite-row{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(150px,.8fr) 100px 110px 110px;gap:14px;align-items:center;padding:13px 16px;border-top:1px solid var(--line)}.admin-invite-row b,.admin-invite-row small{display:block}.admin-invite-row small{margin-top:3px;color:var(--muted);font-size:11px}.admin-invite-row code{width:max-content;padding:8px 10px;border-radius:9px;color:#2d4f11;background:#edf9df;font-size:13px;font-weight:800;letter-spacing:.04em}.admin-invite-row .ghost-button{min-height:36px;padding:0 11px}

@media(max-width:1100px){.public-header nav{display:none}.public-hero{grid-template-columns:1fr}.public-hero-gallery{height:460px}.public-steps{grid-template-columns:1fr 1fr}.public-steps>div{grid-column:1/-1}.admin-metrics{grid-template-columns:repeat(3,1fr)}.admin-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:720px){.public-header{height:70px;padding:0 16px;grid-template-columns:1fr auto}.public-brand small,.public-header-actions .primary{display:none}.public-hero{padding:28px 16px;min-height:auto;grid-template-columns:1fr}.public-hero h1{font-size:48px}.public-role-choice{grid-template-columns:1fr}.public-hero-gallery{height:390px;grid-template-columns:1fr 1fr}.public-photo.main{grid-row:auto;grid-column:1/-1}.public-handwritten{display:none}.public-trust-row{gap:12px}.public-steps{margin:0 16px;padding:20px;grid-template-columns:1fr}.public-steps>div{grid-column:auto}.public-steps article{padding:12px 0 0;border-left:0;border-top:1px solid #e0e4e0}.public-object-preview,.public-registration{padding:54px 16px}.public-section-head{align-items:flex-start;flex-direction:column}.public-object-grid{grid-template-columns:1fr}.public-object-grid article:nth-child(n+3){display:none}.public-domplus{margin:0 16px;padding:26px;grid-template-columns:1fr}.public-domplus h2{font-size:31px}.public-domplus-tags{grid-template-columns:1fr}.public-register-grid{grid-template-columns:1fr}.public-register-grid article{grid-template-columns:48px 1fr}.public-register-grid article>span{width:48px;height:48px}.public-register-grid .button{grid-column:1/-1}.public-footer{padding:24px 16px;align-items:flex-start;flex-direction:column;gap:8px}.admin-metrics{grid-template-columns:1fr 1fr}.admin-content-grid{grid-template-columns:1fr}.admin-object-row{grid-template-columns:1fr auto}.admin-object-row>span:not(:first-child){display:none}.admin-invite-create{grid-template-columns:1fr}.admin-invite-row{grid-template-columns:1fr auto;padding:14px}.admin-invite-row code{grid-column:1/-1}.admin-invite-row>span:nth-of-type(2){grid-column:1}.admin-invite-row>.status{grid-column:2;grid-row:3}.admin-invite-row>.ghost-button{grid-column:1/-1;width:100%}}
.chart-labels { position: absolute; left: 20px; right: 20px; bottom: 14px; display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }
.builder-work-list { padding: 8px 16px; display: grid; gap: 4px; }
.builder-work-list > div { min-height: 68px; padding: 10px; display: flex; align-items: center; gap: 12px; border-radius: 13px; background: var(--panel-3); }
.builder-work-list b, .builder-work-list small { display: block; }.builder-work-list small { margin-top: 3px; color: var(--muted); }
.work-icon { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; color: #8d62e8; background: color-mix(in srgb,#8d62e8 13%,transparent); }
.work-icon svg { width: 18px; height: 18px; }.work-icon.bookings { color: #c77d13; background: color-mix(in srgb,#e89d32 15%,transparent); }.work-icon.sales { color: #438a49; background: color-mix(in srgb,#55a85b 15%,transparent); }
.builder-care-note { margin: 11px 16px 16px; padding: 14px; display: flex; gap: 11px; border: 1px solid color-mix(in srgb,var(--accent-strong) 35%,var(--line)); border-radius: 14px; background: var(--accent-soft); }
.builder-care-note > svg { width: 22px; flex: 0 0 auto; }.builder-care-note b, .builder-care-note small { display: block; }.builder-care-note small { margin-top: 5px; color: var(--muted); line-height: 1.4; }
.builder-results { margin-top: 16px; }
.builder-table-head, .builder-table-row { display: grid; grid-template-columns: minmax(280px,1.8fr) repeat(4,minmax(72px,.55fr)) 30px; gap: 12px; align-items: center; }
.builder-table-head { min-height: 45px; padding: 0 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.builder-table-head span:not(:first-child) { text-align: center; }
.builder-table-row { width: 100%; min-height: 84px; padding: 9px 18px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.builder-table-row:last-child { border-bottom: 0; }.builder-table-row:hover { background: var(--panel-3); }
.builder-history-head,.builder-history-row { display: grid; grid-template-columns: minmax(280px,1.6fr) 130px 150px 90px 80px 30px; gap: 12px; align-items: center; }
.builder-history-head { min-height: 45px; padding: 0 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.builder-history-row { width: 100%; min-height: 84px; padding: 9px 18px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; cursor: pointer; }.builder-history-row:hover { background: var(--panel-3); }.builder-history-row > strong { font-size: 13px; }
.builder-history-status { width: fit-content; padding: 6px 9px; border-radius: 999px; background: var(--panel-3); color: var(--muted); font-size: 11px; font-weight: 800; }.builder-history-status.sold { background: var(--accent-soft); color: #4d781d; }.builder-history-status.archived { background: var(--orange-soft); color: #8f641c; }
.builder-history-timeline { padding: 16px; border-radius: 15px; background: var(--panel-3); }.builder-history-timeline h3 { margin: 0 0 12px; }.builder-history-timeline article { min-height: 40px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }.builder-history-timeline article:last-child { border-bottom: 0; }.builder-history-timeline i { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--accent-soft); color: #557d22; font-size: 10px; font-style: normal; font-weight: 800; }
.builder-table-row > strong { text-align: center; font-size: 16px; }
.builder-object-cell { min-width: 0; display: flex; align-items: center; gap: 12px; }
.builder-object-cell img { width: 82px; height: 58px; flex: 0 0 auto; object-fit: cover; border-radius: 10px; }
.builder-object-cell b, .builder-object-cell small { display: block; }.builder-object-cell b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.builder-object-cell small { margin-top: 4px; color: var(--muted); }
.builder-row-arrow { color: var(--muted); font-size: 18px; text-align: right; }
.builder-summary-grid { margin-bottom: 16px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.builder-summary-grid article { min-height: 114px; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: var(--panel); }
.builder-summary-grid span, .builder-summary-grid strong, .builder-summary-grid small { display: block; }.builder-summary-grid span, .builder-summary-grid small { color: var(--muted); }.builder-summary-grid strong { margin: 9px 0 5px; font-size: 30px; }
.builder-object-toolbar { min-height: 72px; padding: 13px 16px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }
.builder-object-toolbar > span { margin-left: auto; color: var(--muted); font-size: 13px; }
.builder-search { width: min(420px,42vw); height: 42px; padding: 0 12px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-3); }
.builder-search svg { width: 17px; color: var(--muted); }.builder-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; }
.builder-select select { height: 42px; padding: 0 34px 0 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-3); color: var(--text); font: inherit; }
.builder-objects-footer { margin-top: 13px; padding: 10px 2px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); }
.builder-objects-footer > span { display: flex; align-items: center; gap: 8px; }.builder-objects-footer svg { width: 17px; }
.builder-empty { padding: 60px 20px; color: var(--muted); text-align: center; }

/* Детальная аналитика */
.builder-object-modal { display: grid; gap: 18px; }
.builder-modal-object { display: grid; grid-template-columns: 210px 1fr; gap: 18px; align-items: center; }
.builder-modal-object img { width: 210px; height: 140px; object-fit: cover; border-radius: 15px; }
.builder-modal-object h2 { margin: 10px 0 5px; }.builder-modal-object p { margin: 0; color: var(--muted); }.builder-modal-object strong { margin-top: 9px; display: block; font-size: 22px; }
.builder-modal-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }.builder-modal-metrics .builder-metric { min-height: 112px; padding: 13px; }.builder-modal-metrics .builder-metric strong { margin-top: 12px; font-size: 25px; }.builder-modal-metrics .builder-metric small { font-size: 10px; }
.builder-funnel { padding: 16px; border-radius: 15px; background: var(--panel-3); }.builder-funnel h3 { margin: 0 0 14px; }.builder-funnel > div { display: grid; gap: 7px; }.builder-funnel span { width: var(--w); min-width: 150px; min-height: 38px; padding: 0 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-radius: 9px; background: color-mix(in srgb,#4b79ed 16%,var(--panel)); }.builder-funnel span:nth-child(2) { background: color-mix(in srgb,#8d62e8 16%,var(--panel)); }.builder-funnel span:nth-child(3) { background: color-mix(in srgb,#e89d32 18%,var(--panel)); }.builder-funnel span:nth-child(4) { background: color-mix(in srgb,#55a85b 18%,var(--panel)); }.builder-funnel small { color: var(--muted); }
.builder-privacy-note { padding: 14px; display: flex; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 14px; }.builder-privacy-note > svg { width: 22px; color: var(--muted); }.builder-privacy-note b, .builder-privacy-note small { display: block; }.builder-privacy-note small { margin-top: 4px; color: var(--muted); }

/* Поддержка застройщика */
.builder-support-fab { position: fixed; z-index: 48; right: 24px; bottom: 22px; min-height: 48px; padding: 0 16px; display: flex; align-items: center; gap: 9px; border: 0; border-radius: 999px; background: #111713; color: #fff; box-shadow: 0 14px 35px rgba(9,17,11,.25); font: inherit; font-weight: 750; cursor: pointer; }
.builder-support-fab[hidden] { display: none; }.builder-support-fab svg { width: 19px; }.builder-support-fab i { width: 8px; height: 8px; border-radius: 50%; background: var(--accent-strong); }.builder-support-fab.open { opacity: 0; pointer-events: none; }
.builder-support-panel { position: fixed; z-index: 70; right: 24px; bottom: 22px; width: min(410px,calc(100vw - 32px)); max-height: min(760px,calc(100vh - 42px)); overflow: auto; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); box-shadow: 0 25px 70px rgba(10,18,12,.25); }
.builder-support-panel[hidden] { display: none; }
.support-head { position: sticky; z-index: 2; top: 0; min-height: 72px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; background: #111713; color: #fff; }
.support-head b, .support-head span { display: block; }.support-head span { margin-top: 4px; color: #bfc8c1; font-size: 11px; }.support-head span i { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: var(--accent-strong); }.support-head button { width: 35px; height: 35px; display: grid; place-items: center; border: 0; border-radius: 10px; background: rgba(255,255,255,.1); color: #fff; cursor: pointer; }.support-head svg { width: 18px; }
.support-body { padding: 14px; }.support-welcome { padding: 12px; display: flex; gap: 10px; border-radius: 13px; background: var(--panel-3); }.support-welcome > span { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; background: var(--accent-soft); }.support-welcome svg { width: 17px; }.support-welcome p { margin: 0; }.support-welcome b, .support-welcome small { display: block; }.support-welcome small { margin-top: 4px; color: var(--muted); line-height: 1.35; }
.support-topics { margin: 12px 0; display: flex; flex-wrap: wrap; gap: 6px; }.support-topics button { min-height: 31px; padding: 0 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--muted); font: inherit; font-size: 11px; cursor: pointer; }.support-topics button.active { border-color: var(--accent-strong); background: var(--accent-soft); color: var(--text); font-weight: 750; }
.support-field { margin-top: 10px; display: grid; gap: 6px; }.support-field > span { color: var(--muted); font-size: 11px; font-weight: 750; }.support-field select, .support-field textarea { width: 100%; padding: 10px 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-3); color: var(--text); font: inherit; outline: 0; }.support-field textarea { min-height: 78px; resize: vertical; }
.support-compose { margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }.support-attach { min-width: 0; display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; cursor: pointer; }.support-attach svg { width: 16px; }.support-attach span { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.support-history { margin-top: 16px; padding-top: 13px; border-top: 1px solid var(--line); }.support-history-title { margin-bottom: 7px; display: flex; justify-content: space-between; }.support-history-title span { color: var(--muted); }.support-history article { min-height: 58px; padding: 9px 0; display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px solid var(--line); }.support-history article:last-child { border-bottom: 0; }.support-history b, .support-history span { display: block; }.support-history span { margin-top: 3px; color: var(--muted); font-size: 10px; }.support-history em { height: fit-content; padding: 5px 7px; border-radius: 999px; background: var(--blue-soft); color: #4263a7; font-size: 10px; font-style: normal; font-weight: 750; }.support-history em.work { background: var(--orange-soft); color: #9a681b; }.support-history em.done { background: var(--accent-soft); color: #557d22; }

/* События застройщика */
.builder-event-summary { margin-bottom: 16px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.builder-event-summary article { min-height: 112px; padding: 17px; display: flex; align-items: center; gap: 13px; border: 1px solid var(--line); border-radius: 17px; background: var(--panel); }
.builder-event-summary small, .builder-event-summary b, .builder-event-summary div > span { display: block; }
.builder-event-summary small, .builder-event-summary div > span { color: var(--muted); }.builder-event-summary b { margin: 5px 0 3px; font-size: 17px; }
.event-summary-icon { width: 43px; height: 43px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 13px; background: var(--blue-soft); color: #4b79ed; }
.event-summary-icon.next { background: var(--accent-soft); color: #608e24; }.event-summary-icon.documents { background: var(--orange-soft); color: #b77719; }.event-summary-icon svg { width: 20px; }
.builder-events-layout { display: grid; grid-template-columns: minmax(330px,.8fr) minmax(440px,1.2fr); gap: 16px; align-items: start; }
.builder-calendar, .builder-event-list { overflow: hidden; border-radius: 19px; }
.builder-calendar .panel-header b, .builder-calendar .panel-header small, .builder-event-list .panel-header b, .builder-event-list .panel-header small { display: block; }
.builder-calendar .panel-header small, .builder-event-list .panel-header small { margin-top: 4px; color: var(--muted); }
.builder-weekdays, .builder-calendar-days { padding-inline: 16px; display: grid; grid-template-columns: repeat(7,1fr); gap: 6px; text-align: center; }
.builder-weekdays { padding-top: 12px; color: var(--muted); font-size: 12px; font-weight: 750; }
.builder-calendar-days { padding-top: 9px; padding-bottom: 17px; }
.builder-calendar-days > button, .builder-calendar-days > span { position: relative; aspect-ratio: 1; min-width: 0; display: grid; place-items: center; border: 0; border-radius: 11px; background: transparent; color: var(--text); font: inherit; font-weight: 650; }
.builder-calendar-days > span.muted { color: var(--soft); }
.builder-calendar-days > button.today { outline: 1px solid var(--line); background: var(--panel-3); }
.builder-calendar-days > button.has-event { background: var(--accent-soft); cursor: pointer; }
.builder-calendar-days > button.has-event:hover { background: var(--accent); }.builder-calendar-days > button.has-event i { position: absolute; bottom: 6px; width: 5px; height: 5px; border-radius: 50%; background: #6d9f28; }
.builder-event-row { width: 100%; min-height: 96px; padding: 12px 16px; display: grid; grid-template-columns: 55px minmax(0,1fr) 24px; align-items: center; gap: 13px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.builder-event-row:last-child { border-bottom: 0; }.builder-event-row:hover { background: var(--panel-3); }
.builder-event-date { width: 55px; height: 61px; display: grid; place-items: center; align-content: center; border-radius: 13px; background: var(--panel-3); }.builder-event-date b { font-size: 21px; line-height: 1; }.builder-event-date small { margin-top: 4px; color: var(--muted); font-size: 11px; text-transform: uppercase; }
.builder-event-info { min-width: 0; }.builder-event-info em { margin-bottom: 4px; display: block; color: #6c9431; font-size: 11px; font-style: normal; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }.builder-event-info b, .builder-event-info small { display: block; }.builder-event-info small { margin-top: 5px; color: var(--muted); }
.builder-event-modal { display: flex; align-items: center; gap: 14px; }.builder-event-modal h2 { margin: 5px 0; }.builder-event-modal p { margin: 0; color: var(--muted); }.builder-event-description { padding: 16px; border-radius: 14px; background: var(--panel-3); line-height: 1.55; }

/* Новости застройщика */
.builder-news-filters { margin: -4px 0 16px; display: flex; flex-wrap: wrap; gap: 7px; }
.builder-news-filters button { min-height: 36px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--muted); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }.builder-news-filters button.active { border-color: var(--accent-strong); background: var(--accent-soft); color: var(--text); }
.builder-news-lead { min-height: 245px; padding: clamp(24px,4vw,44px); display: grid; grid-template-columns: minmax(0,1fr) 180px; align-items: center; gap: 30px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(135deg,var(--panel) 0%,var(--panel) 62%,var(--accent-soft) 100%); }
.builder-news-lead > div:first-child > span { color: #6c9431; font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.builder-news-lead h2 { max-width: 700px; margin: 12px 0 9px; font-size: clamp(25px,3vw,36px); line-height: 1.1; letter-spacing: -.035em; }.builder-news-lead p { max-width: 700px; margin: 0 0 18px; color: var(--muted); font-size: 16px; line-height: 1.55; }
.news-lead-mark { width: 150px; height: 150px; display: grid; place-items: center; justify-self: end; border-radius: 42px; background: var(--accent); color: #17220e; transform: rotate(6deg); }.news-lead-mark svg { width: 62px; height: 62px; stroke-width: 1.4; }
.builder-news-grid { margin-top: 14px; display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.builder-news-card { min-height: 205px; padding: 20px; display: grid; grid-template-columns: 1fr auto; align-content: start; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); color: var(--text); text-align: left; cursor: pointer; }.builder-news-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }.builder-news-card > span { color: #6c9431; font-size: 12px; font-weight: 800; text-transform: uppercase; }.builder-news-card > small { color: var(--muted); }.builder-news-card h3, .builder-news-card p, .builder-news-card > b { grid-column: 1 / -1; }.builder-news-card h3 { margin: 18px 0 8px; font-size: 20px; letter-spacing: -.02em; }.builder-news-card p { margin: 0; color: var(--muted); line-height: 1.5; }.builder-news-card > b { margin-top: 18px; color: var(--text); font-size: 13px; }
.builder-news-modal { display: grid; gap: 16px; }.news-modal-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: var(--accent-soft); }.news-modal-icon svg { width: 25px; }.builder-news-modal > p { margin: 0; font-size: 17px; line-height: 1.65; }

@media (max-width: 1400px) {
  .topbar { gap: 8px; padding-inline: 18px; }
  .topbar-title { display: none; }
  .global-search { min-width: 150px; }
  .top-actions .button, .top-actions .ghost-button { padding-inline: 12px; }
}

@media (max-width: 1180px) {
  .app-shell { grid-template-columns: 210px minmax(0, 1fr); }
  .property-grid { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
  .stats-grid, .summary-row { grid-template-columns: repeat(2, 1fr); }
  .topbar { padding-inline: 18px; }
  .view-root { padding-inline: 18px; }
  .topbar-title { display: none; }
  .event-card { grid-template-columns: 72px 1fr; }
  .event-card .button { grid-column: 2; justify-self: start; }
  .filter-scroll { grid-template-columns: repeat(2, 1fr); }
  .filter-checks-wide { grid-column: span 2; }
  .category-market-grid { grid-template-columns: repeat(3, 1fr); }
  .clients-table-head, .client-list-row { grid-template-columns: 1.1fr 1.15fr .8fr 1fr 24px; gap: 10px; }
  .builder-dashboard-layout { grid-template-columns: 1fr; }
  .builder-metrics-grid { grid-template-columns: repeat(2,1fr); }
  .builder-event-summary { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .app-shell { display: block; }
  .sidebar { position: fixed; left: 0; top: 0; bottom: 0; transform: translateX(-100%); width: 250px; transition: transform .2s ease; }
  .sidebar.open { transform: translateX(0); }
  .sidebar.open ~ .workspace .sidebar-toggle { position: fixed; z-index: 65; left: 198px; top: 17px; border-color: rgba(255,255,255,.18); background: #1b261f; color: #fff; }
  .topbar { height: auto; min-height: 76px; flex-wrap: wrap; padding-block: 12px; }
  .global-search { order: 2; flex-basis: 100%; max-width: none; }
  .objects-layout, .dashboard-grid, .dashboard-lower, .events-layout, .details-grid { grid-template-columns: 1fr; }
  .mini-calendar { position: static; max-width: 360px; }
  .property-strip, .collection-grid { grid-template-columns: repeat(2, 1fr); }
  .filter-scroll { grid-template-columns: repeat(2, 1fr); }
  .events-toolbar { align-items: flex-start; flex-direction: column; }
  .domplus-recommendations, .domplus-search-grid, .property-extras-grid { grid-template-columns: repeat(2, 1fr); }
  .clients-table-head { display: none; }
  .client-list-row { grid-template-columns: 1fr 1fr; align-items: start; }
  .client-list-row > span:nth-child(3), .client-list-row > span:nth-child(4) { margin-left: 48px; }
  .client-list-row .row-more { display: none; }
  .objects-map-layout { grid-template-columns: 290px minmax(0,1fr); }
  .builder-table-head, .builder-table-row { grid-template-columns: minmax(240px,1.7fr) repeat(4,64px) 24px; }
  .builder-results, .builder-objects-panel { overflow-x: auto; }
  .builder-table-head, .builder-table-row { min-width: 720px; }
  .builder-events-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  body { font-size: 14px; }
  .top-actions { display: none; }
  .admin-mode .top-actions { display: flex; margin-left: auto; }
  .admin-mode .top-actions .ghost-button { display: none; }
  .admin-mode .top-actions .button { min-height: 42px; padding-inline: 12px; }
  .view-root { padding: 14px; }
  .stats-grid, .summary-row, .property-grid, .property-strip, .collection-grid, .compare-grid, .media-grid, .comparison-summary, .client-detail-grid { grid-template-columns: 1fr; }
  .theme-switch { margin-left: auto; }
  .property-image { height: 210px; }
  .selection-bar, .results-head { align-items: flex-start; flex-direction: column; }
  .filter-scroll { grid-template-columns: 1fr; }
  .filter-checks-wide { grid-column: span 1; }
  .filter-footer { display: grid; }
  .results-controls { flex-wrap: wrap; }
  .sort-field { width: 100%; }
  .event-card { grid-template-columns: 50px minmax(0,1fr); }
  .event-card .button, .event-card .ghost-button { grid-column: 2; justify-self: start; }
  .compare-legend { flex-direction: column; }
  .compare-finance-controls { grid-template-columns: 1fr 1fr; }
  .compare-finance-controls label:first-child, .compare-cash-note { grid-column: 1 / -1; }
  .collection-feedback-head { align-items: flex-start; flex-direction: column; }
  .share-feature-list { grid-template-columns: 1fr; }
  .category-market-grid, .domplus-recommendations, .domplus-search-grid, .property-extras-grid { grid-template-columns: 1fr; }
  .domplus-section-head { align-items: flex-start; flex-direction: column; }
  .house-selector { width: 100%; }
  .domplus-recommendations .market-product, .domplus-search-grid .market-product { grid-template-columns: 128px minmax(0,1fr); }
  .map-legend, .gallery-grid { grid-template-columns: 1fr; }
  .new-object-row { grid-template-columns: 72px minmax(0,1fr); }
  .new-object-row strong { grid-column: 2; }
  .client-list-row { grid-template-columns: 1fr; }
  .client-list-row > span:nth-child(3), .client-list-row > span:nth-child(4) { margin-left: 48px; }
  .client-sheet-fields, .client-sheet-footer { grid-template-columns: 1fr; }
  .objects-map-layout { grid-template-columns: 1fr; }
  .map-object-list { max-height: 330px; border-right: 0; border-bottom: 1px solid var(--line); }
  .interactive-map-wrap, .objects-leaflet-map { min-height: 430px; height: 430px; }
  .map-caption { align-items: flex-start; flex-direction: column; }
  .builder-page-head { align-items: flex-start; flex-direction: column; }
  .builder-period { width: 100%; overflow-x: auto; scrollbar-width: none; }.builder-period button { flex: 0 0 auto; padding-inline: 12px; white-space: nowrap; }
  .builder-metrics-grid, .builder-summary-grid, .builder-modal-metrics { grid-template-columns: repeat(2,1fr); }
  .builder-object-toolbar { align-items: stretch; flex-direction: column; }
  .builder-search { width: 100%; }.builder-object-toolbar > span { margin-left: 0; }
  .builder-objects-footer { align-items: flex-start; flex-direction: column; }
  .builder-results, .builder-objects-panel { overflow: visible; }
  .builder-table-head { display: none; }
  .builder-table-row { min-width: 0; margin-bottom: 9px; padding: 14px; grid-template-columns: 1fr 1fr; gap: 8px; border: 1px solid var(--line); border-radius: 15px; background: var(--panel); }
  .builder-object-cell { grid-column: 1 / -1; margin-bottom: 3px; }
  .builder-table-row > strong { padding: 9px 10px; border-radius: 11px; background: var(--panel-3); text-align: left; font-size: 15px; }
  .builder-table-row > strong::before { display: block; margin-bottom: 3px; color: var(--muted); font-size: 9px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
  .builder-table-row > strong:nth-of-type(1)::before { content: "Открытия"; }
  .builder-table-row > strong:nth-of-type(2)::before { content: "Просмотры"; }
  .builder-table-row > strong:nth-of-type(3)::before { content: "Брони"; }
  .builder-table-row > strong:nth-of-type(4)::before { content: "Продажи"; }
  .builder-history-head { display: none; }
  .builder-history-row { min-width: 0; margin-bottom: 9px; padding: 14px; grid-template-columns: 1fr 1fr; gap: 9px; border: 1px solid var(--line); border-radius: 15px; background: var(--panel); }
  .builder-history-row .builder-object-cell { grid-column: 1 / -1; }.builder-history-row > strong { padding: 9px 10px; border-radius: 11px; background: var(--panel-3); }.builder-history-row > strong:nth-of-type(1)::before { content: "Дата"; }.builder-history-row > strong:nth-of-type(2)::before { content: "Просмотры"; }.builder-history-row > strong:nth-of-type(3)::before { content: "Продажи"; }.builder-history-row > strong::before { display: block; margin-bottom: 3px; color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; }
  .builder-row-arrow { display: none; }
  .builder-modal-object { grid-template-columns: 1fr; }.builder-modal-object img { width: 100%; }
  .builder-support-fab { right: 16px; bottom: 15px; }.builder-support-fab span { display: none; }
  .builder-support-panel { right: 16px; bottom: 15px; }
  .builder-news-lead { grid-template-columns: 1fr; }.news-lead-mark { display: none; }
  .builder-news-grid { grid-template-columns: 1fr; }
  .builder-calendar-days > button, .builder-calendar-days > span { border-radius: 8px; font-size: 12px; }
  .builder-event-row { grid-template-columns: 48px minmax(0,1fr) 18px; padding-inline: 12px; }.builder-event-date { width: 48px; }
  .auth-gate { padding: 22px 14px 34px; }.auth-card { margin-top: 30px; padding: 20px; border-radius: 20px; }
  .auth-role-grid, .auth-form-row { grid-template-columns: 1fr; }.auth-role-grid > button { min-height: 156px; }.auth-copy p { font-size: 15px; }
  .collection-house-picker { grid-template-columns: 1fr; }.collection-house-picker > div { grid-column: auto; }
  .collection-active-head,.photo-viewer-footer { align-items: flex-start; flex-direction: column; }
  .viewing-object { grid-template-columns: 86px 1fr; }.viewing-object img { width: 86px; height: 68px; }
  .photo-viewer-main { height: 54vh; }.event-detail-hero h2 { font-size: 22px; }
  .property-quick-actions { display: grid; }.property-quick-actions .route-button,.property-quick-actions .mortgage-button { width: 100%; justify-content: center; }
  .mortgage-object { grid-template-columns: 84px minmax(0,1fr); }.mortgage-object img { width: 84px; height: 70px; }.mortgage-result { grid-template-columns: 1fr; }.mortgage-result-grid { grid-template-columns: 1fr 1fr; }
}

/* Admin participant databases */
.admin-database-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.admin-database-card { position: relative; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 14px; min-height: 128px; padding: 20px; overflow: hidden; text-align: left; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 20px; cursor: pointer; transition: .18s ease; }
.admin-database-card:hover { transform: translateY(-2px); border-color: #aecb92; box-shadow: 0 12px 28px rgba(25,42,28,.08); }
.admin-database-card.active { border-color: #91cd3f; background: linear-gradient(135deg,#f8fff0,#fff 72%); box-shadow: inset 0 0 0 1px #aef244,0 12px 28px rgba(92,145,28,.09); }
.dark .admin-database-card.active { border-color: #9fe33c; background: linear-gradient(135deg,#263a24,#18271c 72%); box-shadow: inset 0 0 0 1px rgba(174,242,68,.72),0 12px 28px rgba(0,0,0,.18); }
.dark .admin-database-card.active small,.dark .admin-database-card.active em { color: #b8c4bb; }
.dark .admin-database-card.active b,.dark .admin-database-card.active strong { color: #f7faf7; }
.dark .admin-database-card.active .admin-database-icon { color: #233717; background: #b6f34e; }
.admin-database-icon { width: 58px; height: 58px; display: grid; place-items: center; color: #447b17; background: #e9fbd1; border-radius: 17px; }
.admin-database-icon svg { width: 25px; height: 25px; }
.admin-database-card > span:nth-child(2) { min-width: 0; }
.admin-database-card small,.admin-database-card b,.admin-database-card em { display: block; }
.admin-database-card small { margin-bottom: 3px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.admin-database-card b { font-size: 21px; }
.admin-database-card em { margin-top: 5px; color: var(--muted); font-size: 13px; font-style: normal; }
.admin-database-card > strong { font-size: 40px; letter-spacing: -.05em; }
.admin-database-card > i { position: absolute; right: 20px; bottom: 13px; color: var(--muted); font-size: 11px; font-style: normal; }
.admin-users-panel { overflow: hidden; }
.admin-users-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 18px 4px; }
.admin-users-heading h2 { margin: 0; font-size: 20px; }
.admin-users-heading p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.admin-user-list { min-width: 930px; }
.admin-users-panel { overflow-x: auto; }
.admin-user-row { width: 100%; min-height: 70px; display: grid; grid-template-columns: minmax(260px,1.45fr) repeat(4,72px) minmax(132px,.7fr) 110px 26px; align-items: center; gap: 10px; padding: 10px 16px; text-align: left; color: var(--text); background: transparent; border: 0; border-top: 1px solid var(--line); cursor: pointer; }
.admin-builder-row { grid-template-columns: minmax(260px,1.45fr) 72px 86px repeat(3,72px) 122px 26px; }
.admin-user-row:not(.admin-user-row-head):hover { background: #f8fbf6; }
.admin-user-row-head { min-height: 42px; color: var(--muted); background: var(--panel-3); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .045em; cursor: default; }
.admin-user-person { display: flex; align-items: center; gap: 11px; min-width: 0; }
.admin-user-person .initials { flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #335f0e; background: #e8f9d1; font-weight: 800; }
.admin-user-person .initials.builder { color: #21586a; background: #dff3f7; }
.admin-user-person b,.admin-user-person small,.admin-user-row > span b,.admin-user-row > span small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-user-person small,.admin-user-row > span small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.admin-user-row strong { font-size: 16px; }
.admin-user-row em { font-style: normal; white-space: nowrap; }
.admin-user-arrow { color: #619d25; font-size: 20px; }
.admin-user-detail { padding-top: 16px; }
.admin-user-hero { display: grid; grid-template-columns: 74px minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 20px; color: #f7faf7; background: linear-gradient(135deg,#152019,#243629); border-radius: 18px; }
.admin-user-avatar { width: 74px; height: 74px; display: grid; place-items: center; color: #17210e; background: #aef244; border-radius: 22px; font-size: 22px; font-weight: 900; }
.admin-user-avatar.builder { color: #13353c; background: #9be6f1; }
.admin-user-hero h2 { margin: 7px 0 3px; color: white; font-size: 25px; }
.admin-user-hero p { margin: 0; color: #aebbb2; }
.admin-user-contact { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; color: #c9d3cc; font-size: 13px; }
.admin-user-contact a { display: inline-flex; align-items: center; gap: 7px; color: white; text-decoration: none; font-weight: 700; }
.admin-user-contact svg { width: 16px; height: 16px; }
.admin-detail-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 12px 0; }
.admin-detail-facts article { padding: 13px 15px; background: var(--panel-3); border-radius: 13px; }
.admin-detail-facts small,.admin-detail-facts b { display: block; }
.admin-detail-facts small { margin-bottom: 4px; color: var(--muted); font-size: 11px; }
.admin-user-metrics { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin-bottom: 14px; }
.admin-user-metrics article { padding: 14px; border: 1px solid var(--line); border-radius: 14px; }
.admin-user-metrics small,.admin-user-metrics strong { display: block; }
.admin-user-metrics small { color: var(--muted); font-size: 11px; }
.admin-user-metrics strong { margin-top: 5px; font-size: 23px; }
.admin-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.admin-detail-grid > section { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; }
.admin-detail-title { padding: 14px 16px; border-bottom: 1px solid var(--line); }
.admin-detail-title b,.admin-detail-title small { display: block; }
.admin-detail-title small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.admin-action-timeline { padding: 5px 15px 8px; }
.admin-action-timeline article { position: relative; display: grid; grid-template-columns: 12px 1fr; gap: 9px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.admin-action-timeline article:last-child { border: 0; }
.admin-action-timeline i { width: 9px; height: 9px; margin-top: 4px; background: #8ed42a; border: 2px solid #e8f8d2; border-radius: 50%; }
.admin-action-timeline b,.admin-action-timeline small { display: block; }
.admin-action-timeline b { font-size: 13px; }
.admin-action-timeline small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.admin-work-summary { padding: 7px 15px; }
.admin-work-summary article { display: flex; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.admin-work-summary article:last-child { border: 0; }
.admin-work-summary article > span { width: 38px; height: 38px; display: grid; place-items: center; color: #4a7d20; background: #edf9de; border-radius: 11px; }
.admin-work-summary svg { width: 18px; height: 18px; }
.admin-work-summary b,.admin-work-summary small { display: block; }
.admin-work-summary b { font-size: 13px; }.admin-work-summary small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.admin-owned-list { max-height: 246px; overflow: auto; }
.admin-owned-object { width: 100%; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 10px 13px; text-align: left; color: var(--text); background: transparent; border: 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.admin-owned-object:hover { background: var(--panel-3); }
.admin-owned-object img { width: 58px; height: 44px; object-fit: cover; border-radius: 9px; }
.admin-owned-object b,.admin-owned-object small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-owned-object small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.admin-owned-object em { color: #54871f; font-size: 11px; font-style: normal; }

@media (max-width: 860px) {
  .admin-database-switch { grid-template-columns: 1fr; }
  .admin-user-hero { grid-template-columns: 64px 1fr; }
  .admin-user-avatar { width: 64px; height: 64px; }
  .admin-user-contact { grid-column: 1/-1; align-items: flex-start; }
  .admin-detail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .admin-database-card { min-height: 118px; padding: 15px; grid-template-columns: 48px minmax(0,1fr) auto; }
  .admin-database-icon { width: 48px; height: 48px; }
  .admin-database-card > strong { font-size: 32px; }
  .admin-database-card > i { display: none; }
  .admin-detail-facts { grid-template-columns: 1fr; }
  .admin-user-metrics { grid-template-columns: repeat(2,1fr); }
}

/* Legal, privacy and support operator */
.auth-consent button { display: inline; padding: 0; color: #477f17; background: transparent; border: 0; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; font: inherit; font-weight: 700; }
.public-footer { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(340px,1.3fr) auto; align-items: start; gap: 24px 40px; }
.public-footer > div:first-child p { margin: 7px 0 0; }
.public-footer-legal { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }
.public-footer-legal button,.public-footer-actions button { padding: 0; text-align: left; color: #59645c; font-size: 13px; font-weight: 650; }
.public-footer-legal button:hover,.public-footer-actions button:hover { color: #1b271f; }
.public-footer-actions { display: grid; justify-items: start; gap: 9px; }
.public-footer-actions button:first-child { color: #315f0d; }
.public-disclaimer { grid-column: 1/-1; margin: 0; padding-top: 18px; border-top: 1px solid #e0e5e0; color: #7a847d!important; font-size: 12px; line-height: 1.5; }
.legal-document { font-size: 15px; line-height: 1.65; }
.legal-document > p:first-child { margin-top: 0; }
.legal-document h3 { margin: 24px 0 6px; font-size: 18px; }
.legal-document p { color: var(--muted); }
.legal-placeholder { padding: 18px; border: 1px solid #f1cf7a; border-radius: 15px; background: #fff9e8; color: #5f4b13; }
.legal-placeholder p { margin-bottom: 0; color: #6a571e; }
.cookie-banner { position: fixed; z-index: 300; right: 22px; bottom: 22px; width: min(540px,calc(100vw - 32px)); padding: 17px; display: flex; align-items: center; gap: 18px; color: #f5f8f5; background: #151e18; border: 1px solid #344239; border-radius: 17px; box-shadow: 0 20px 60px rgba(0,0,0,.28); }
.cookie-banner[hidden] { display: none!important; }
.cookie-banner b,.cookie-banner p { display: block; }
.cookie-banner p { margin: 4px 0 0; color: #b8c2bb; font-size: 12px; line-height: 1.45; }
.cookie-banner p button { padding: 0; color: #b6f24c; background: transparent; border: 0; text-decoration: underline; cursor: pointer; }
.cookie-banner .button { flex: 0 0 auto; }
.internal-login small { color: var(--muted); }
.ad-disclosure { display: block; max-width: 300px; margin-top: 12px; color: rgba(255,255,255,.7); font-size: 10px; line-height: 1.4; }

.support-workspace-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.support-workspace-head h1 { margin: 8px 0 5px; font-size: 34px; letter-spacing: -.04em; }
.support-workspace-head p { margin: 0; color: var(--muted); }
.support-shift { min-width: 210px; padding: 16px; display: grid; gap: 2px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.support-shift b,.support-shift small { color: var(--muted); font-size: 12px; }.support-shift strong { font-size: 27px; }
.support-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 14px; }
.support-stats article { padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--line); border-radius: 15px; background: var(--panel); }
.support-stats span { color: var(--muted); font-size: 13px; }.support-stats strong { font-size: 25px; }
.support-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.support-queue { overflow-x: auto; }
.support-queue-head,.support-ticket-row { min-width: 920px; display: grid; grid-template-columns: minmax(250px,1.4fr) minmax(190px,1fr) 110px 100px 110px 22px; gap: 12px; align-items: center; }
.support-queue-head { padding: 12px 16px; color: var(--muted); background: var(--panel-3); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.support-ticket-row { width: 100%; min-height: 72px; padding: 11px 16px; color: var(--text); background: transparent; border: 0; border-top: 1px solid var(--line); text-align: left; cursor: pointer; }
.support-ticket-row:hover { background: var(--panel-3); }
.support-ticket-row b,.support-ticket-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.support-ticket-row small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.support-priority,.support-ticket-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 11px; font-style: normal; font-weight: 800; white-space: nowrap; }
.support-priority { color: #536058; background: var(--panel-3); }.support-priority.high { color: #9a3f1b; background: #fff0e8; }
.support-ticket-status.new { color: #28619a; background: #e7f2ff; }.support-ticket-status.work { color: #7e5b00; background: #fff5cd; }.support-ticket-status.done { color: #3f6e18; background: #e9f7d9; }
.support-ticket-detail { padding-top: 16px; }.support-ticket-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; color: var(--muted); font-size: 12px; }
.support-conversation { display: grid; gap: 11px; margin: 18px 0; }.support-conversation article { max-width: 82%; padding: 13px 15px; border-radius: 15px; }.support-conversation p { margin: 6px 0; line-height: 1.5; }.support-conversation small { color: var(--muted); font-size: 11px; }.support-conversation .from-user { background: var(--panel-3); }.support-conversation .from-support { justify-self: end; background: color-mix(in srgb,var(--accent) 22%,var(--panel)); }
.support-reply { display: grid; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 750; }.support-reply textarea { min-height: 110px; padding: 12px; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 13px; resize: vertical; }
.support-knowledge-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }.support-knowledge-grid article { padding: 20px; }.support-knowledge-grid article > span { color: #5b861f; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.support-knowledge-grid h3 { margin: 9px 0 6px; }.support-knowledge-grid p { min-height: 54px; color: var(--muted); line-height: 1.5; }
.knowledge-dashboard { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(260px,.6fr); gap: 14px; margin-bottom: 14px; }
.knowledge-insights { padding: 20px; }.knowledge-insights h2 { margin: 7px 0 18px; font-size: 21px; }
.knowledge-topic-row { display: grid; grid-template-columns: 132px minmax(80px,1fr) 30px; align-items: center; gap: 10px; margin-top: 11px; color: var(--muted); font-size: 12px; }
.knowledge-topic-row > i { height: 7px; overflow: hidden; background: var(--panel-3); border-radius: 999px; }.knowledge-topic-row > i b { display: block; height: 100%; background: linear-gradient(90deg,#8fd62f,#b7f34d); border-radius: inherit; }.knowledge-topic-row > strong { color: var(--text); text-align: right; }
.knowledge-rule { padding: 20px; display: flex; align-items: flex-start; gap: 13px; color: #182219; background: linear-gradient(145deg,#eafaD5,#f8fff0); border: 1px solid #cde7ac; border-radius: 18px; }
.knowledge-rule > span { flex: 0 0 auto; width: 39px; height: 39px; display: grid; place-items: center; color: #396d13; background: white; border-radius: 12px; }.knowledge-rule svg { width: 19px; height: 19px; }.knowledge-rule b { font-size: 15px; }.knowledge-rule p { margin: 7px 0 0; color: #4c5d4d; font-size: 13px; line-height: 1.55; }
.knowledge-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 13px; }
.knowledge-next { margin: 14px 0; padding: 11px 12px; color: var(--muted); background: var(--panel-3); border-radius: 11px; font-size: 12px; line-height: 1.45; }.knowledge-next b { display: block; margin-bottom: 3px; color: var(--text); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.support-news-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }.support-news-card { min-height: 210px; padding: 22px; display: flex; flex-direction: column; align-items: flex-start; text-align: left; color: var(--text); cursor: pointer; transition: .18s ease; }.support-news-card:hover { transform: translateY(-2px); border-color: #acd075; box-shadow: 0 12px 28px rgba(25,42,28,.08); }.support-news-card.featured { color: #f8fbf8; background: linear-gradient(145deg,#17251b,#2b4230); border-color: #2c4732; }.support-news-card > div { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; }.support-news-card span { color: #679b27; font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.support-news-card.featured span { color: #b7f34d; }.support-news-card time { color: var(--muted); font-size: 11px; }.support-news-card.featured time,.support-news-card.featured p { color: #b9c5bc; }.support-news-card h2 { margin: 24px 0 8px; font-size: 22px; letter-spacing: -.025em; }.support-news-card p { margin: 0 0 22px; color: var(--muted); line-height: 1.5; }.support-news-card > b { margin-top: auto; color: #5e9323; font-size: 12px; }.support-news-card.featured > b { color: #b7f34d; }.support-news-detail > p { color: var(--muted); font-size: 15px; line-height: 1.65; }
.support-history article small { display: block; max-width: 250px; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.35; }

@media (max-width: 860px) {
  .public-footer { grid-template-columns: 1fr; }.public-footer-legal { grid-template-columns: 1fr; }.public-disclaimer { grid-column: auto; }
  .support-stats { grid-template-columns: 1fr 1fr; }.support-workspace-head { flex-direction: column; }.support-shift { width: 100%; }.support-knowledge-grid { grid-template-columns: 1fr; }
  .knowledge-dashboard,.support-news-grid { grid-template-columns: 1fr; }
  .property-editor-grid.three,.property-editor-grid.four { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-upload-preview { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .cookie-banner { right: 16px; bottom: 16px; align-items: stretch; flex-direction: column; }.cookie-banner .button { width: 100%; }
  .support-stats { grid-template-columns: 1fr 1fr; }
  .property-editor-section { padding: 15px; border-radius: 15px; }
  .property-editor-heading { margin-bottom: 14px; }
  .property-editor-grid.two,.property-editor-grid.three,.property-editor-grid.four { grid-template-columns: 1fr; }
  .property-editor-grid label.wide,.property-editor-grid .wide { grid-column: auto; }
  .property-option-list { display: grid; }
  .property-option-list .property-checkbox { width: 100%; }
  .admin-upload-preview { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-upload-thumb img { height: 92px; }
  .property-editor-footer { bottom: -14px; margin: 0 -14px -14px; padding: 12px 14px; }

  /* Mobile fit and touch ergonomics */
  html, body { max-width: 100%; overflow-x: hidden; }
  img, svg, video, canvas { max-width: 100%; }
  button, input, select, textarea { max-width: 100%; }
  .workspace, .content, .view-root, .panel { min-width: 0; }
  .toast-region { left: 12px; right: 12px; bottom: 12px; }
  .toast { width: 100%; min-width: 0; max-width: none; }

  /* Modals become a compact mobile sheet and keep every action reachable. */
  .modal-backdrop { padding: 8px; align-items: end; }
  .modal { width: 100%; max-height: 94dvh; border-radius: 20px 20px 10px 10px; }
  .modal-header { min-height: 60px; padding: 12px 14px; }
  .modal-title { font-size: 19px; }
  .modal-body { padding: 14px; }
  .modal-tabs { overflow-x: auto; scrollbar-width: none; }
  .modal-tab { min-width: max-content; }
  .modal-footer { flex-direction: column-reverse; }
  .modal-footer .button, .modal-footer .ghost-button { width: 100%; }
  .modal-hero { height: 220px; }

  /* Role choice in the login window no longer produces narrow text columns. */
  .login-roles { gap: 10px; margin-top: 4px; }
  .login-roles > button { min-height: 104px; padding: 15px; grid-template-columns: 44px minmax(0,1fr); grid-template-rows: auto auto; gap: 3px 11px; }
  .login-roles > button > svg { width: 22px; grid-row: 1 / span 2; }
  .login-roles b { align-self: end; font-size: 17px; line-height: 1.2; }
  .login-roles small { align-self: start; font-size: 12px; line-height: 1.35; }

  /* Support inbox uses cards instead of a clipped desktop table. */
  .support-queue { overflow: visible; }
  .support-queue-head { display: none; }
  .support-ticket-row { min-width: 0; min-height: 0; margin-bottom: 9px; padding: 14px; grid-template-columns: minmax(0,1fr) auto; gap: 9px 12px; align-items: start; border: 1px solid var(--line); border-radius: 15px; background: var(--panel); }
  .support-ticket-row > span:nth-child(1), .support-ticket-row > span:nth-child(2), .support-ticket-row > span:nth-child(3) { grid-column: 1 / -1; }
  .support-ticket-row > span:nth-child(4) { grid-column: 1; }
  .support-ticket-row > span:nth-child(5) { grid-column: 2; grid-row: 4; }
  .support-ticket-row > span:nth-child(6) { display: none; }
  .support-ticket-row b, .support-ticket-row small { overflow: visible; text-overflow: clip; white-space: normal; }
  .support-ticket-row > span:nth-child(3) { color: var(--muted); font-size: 12px; }
  .support-conversation article { max-width: 100%; }
  .support-ticket-meta { align-items: flex-start; }
  .support-workspace-head h1 { font-size: 29px; }

  /* Internal databases remain readable without a horizontal drag. */
  .admin-database-switch { grid-template-columns: 1fr; }
  .admin-database-card { grid-template-columns: 50px minmax(0,1fr) auto; min-height: 112px; padding: 16px; }
  .admin-database-icon { width: 50px; height: 50px; }
  .admin-database-card > strong { font-size: 32px; }
  .admin-users-panel { overflow: visible; }
  .admin-users-heading { align-items: flex-start; flex-direction: column; padding: 16px 14px 4px; }
  .admin-user-list { min-width: 0; padding: 8px; display: grid; gap: 9px; }
  .admin-user-row-head { display: none; }
  .admin-user-row, .admin-builder-row { min-height: 0; padding: 14px; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px 8px; align-items: start; border: 1px solid var(--line); border-radius: 15px; background: var(--panel); }
  .admin-user-person { grid-column: 1 / -1; }
  .admin-user-row > strong { padding-top: 9px; border-top: 1px solid var(--line); font-size: 15px; }
  .admin-user-row > span:nth-last-child(2) { grid-column: 1 / -2; }
  .admin-user-arrow { grid-column: -2 / -1; align-self: center; justify-self: end; }
  .admin-user-person b, .admin-user-person small, .admin-user-row > span b, .admin-user-row > span small { overflow: visible; text-overflow: clip; white-space: normal; }
  .admin-user-hero { grid-template-columns: 58px minmax(0,1fr); padding: 16px; }
  .admin-user-avatar { width: 58px; height: 58px; border-radius: 17px; }
  .admin-user-contact { grid-column: 1 / -1; align-items: flex-start; }
  .admin-detail-facts, .admin-user-metrics { grid-template-columns: 1fr 1fr; }

  /* Comfortable touch targets for people who use the service from a phone. */
  .public-brand, .public-login, .public-section-head button, .public-footer button,
  .text-button, .task-check, .kebab, .support-topics button { min-height: 44px; }
  .public-login, .public-section-head button, .public-footer button, .text-button { padding-top: 9px; padding-bottom: 9px; }
  .task-row { grid-template-columns: 44px minmax(0,1fr) auto 44px; gap: 6px; }
  .task-check, .kebab { width: 44px; height: 44px; }
  .task-date { font-size: 12px; white-space: normal; text-align: right; }
  .auth-consent { min-height: 40px; align-items: flex-start; }
  .auth-consent input { width: 20px; height: 20px; flex: 0 0 auto; }
  .auth-consent button { min-height: 28px; }
  .support-topics button { padding-top: 7px; padding-bottom: 7px; }
}
