:root {
    --ink: #05070a;
    --ink-2: #090d12;
    --panel: #0f141b;
    --panel-2: #151c25;
    --panel-3: #1c2631;
    --text: #f2f5f8;
    --text-2: #c1c9d2;
    --muted: #8995a2;
    --line: rgba(169,184,200,.16);
    --line-2: rgba(169,184,200,.34);
    --signal: #7fb3cf;
    --signal-2: #b9c6d2;
    --success: #8fbea0;
    --warning: #d4b67e;
    --danger: #d98893;
    --rail: 248px;
    --bar: 76px;
    --content: 1640px;
}

* { box-sizing: border-box; }
html { min-width: 320px; color-scheme: dark; background: var(--ink); scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--ink-2); font: 400 17px/1.55 "Manrope",sans-serif; -webkit-font-smoothing: antialiased; }
body.signal-modal-open { overflow: hidden; }
[hidden] { display: none !important; }
a { color: var(--signal); text-decoration: none; }
a:hover { color: var(--text); }
a[href], button:not(:disabled), summary, select, label[for], [role="link"] { cursor: pointer; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img, svg { max-width: 100%; }
h1, h2, h3, h4, p { overflow-wrap: normal; word-break: normal; }
:focus-visible { outline: 2px solid var(--signal); outline-offset: 3px; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.muted { color: var(--muted); }
.num { font-variant-numeric: tabular-nums; }
.inline-form { display: inline-flex; width: auto; margin: 0; }

/* Shell */
.topbar { position: sticky; z-index: 50; top: 0; display: grid; width: 100%; height: var(--bar); margin: 0; padding: 0 26px 0 0; background: rgba(5,7,10,.96); border-bottom: 1px solid var(--line-2); backdrop-filter: blur(16px); grid-template-columns: var(--rail) minmax(190px,.65fr) minmax(360px,1.35fr) max-content; align-items: center; gap: 24px; }
.signal-mark { position: static; display: flex; width: var(--rail); height: var(--bar); padding: 0 20px; color: var(--text); background: var(--ink); border-right: 1px solid var(--line-2); align-items: center; gap: 12px; transition: width .2s ease; }
.signal-mark .brand-logo { width: 34px; height: 34px; object-fit: contain; filter: grayscale(1) brightness(1.9); flex: 0 0 34px; }
.signal-mark-copy { display: grid; min-width: 0; gap: 3px; }
.signal-mark-copy strong { font-size: .84rem; line-height: 1; letter-spacing: .1em; }
.signal-mark-copy small { color: var(--muted); font: 500 .72rem/1.2 "DM Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }
.signal-location { display: grid; min-width: 0; color: var(--muted); font-size: .82rem; grid-template-columns: minmax(0,auto) 16px minmax(0,1fr); align-items: center; gap: 6px; }
.signal-location span, .signal-location strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.signal-location strong { color: var(--text); }
.signal-search { display: grid; width: min(100%,640px); height: 44px; margin: 0; padding: 0 12px; color: var(--muted); background: var(--panel); border: 1px solid var(--line-2); grid-template-columns: 22px 1fr auto; align-items: center; justify-self: center; }
.signal-search input { height: 100%; min-width: 0; padding: 0; color: var(--text); background: transparent; border: 0; box-shadow: none; }
.signal-search kbd { padding: 3px 6px; color: var(--muted); background: var(--panel-2); border: 1px solid var(--line-2); font: 500 .68rem/1 "DM Mono",monospace; }
.signal-command-actions { display: flex; min-width: max-content; align-items: center; justify-content: flex-end; gap: 8px; }
.signal-sync { display: inline-flex; color: var(--muted); font: 500 .78rem/1 "DM Mono",monospace; align-items: center; gap: 6px; text-transform: uppercase; }
.signal-sync i { width: 7px; height: 7px; background: var(--signal); border-radius: 50%; box-shadow: 0 0 0 4px rgba(127,179,207,.12); }
.nav-toggle { display: none !important; }

.appnav { position: fixed; z-index: 45; inset: var(--bar) auto 0 0; display: flex; width: var(--rail); padding: 0 12px; overflow: hidden; color: var(--text-2); background: var(--ink); border-right: 1px solid var(--line-2); flex-direction: column; }
.appnav-close { display: none !important; }
.appnav-items { min-height: 0; padding: 18px 0 12px; overflow-y: auto; flex: 1 1 auto; }
.appnav-section { position: relative; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.appnav-section-items { display: grid; }
.appnav-section.is-collapsed .appnav-section-items { display: none; }
.appnav-item { position: relative; display: grid; width: 100%; min-height: 48px; padding: 0 12px; color: var(--text-2); background: transparent; border: 0; border-left: 2px solid transparent; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 10px; text-align: left; white-space: nowrap; }
.appnav-item:hover { color: var(--text); background: var(--panel-2); }
.appnav-item.active { color: var(--text); background: var(--panel-2); border-left-color: var(--signal); }
.appnav-section-toggle { color: #8593a1; font: 500 .78rem/1 "DM Mono",monospace; letter-spacing: .09em; text-transform: uppercase; }
.appnav-section-chevron { margin-left: auto; transition: transform .15s ease; }
.appnav-section.is-collapsed .appnav-section-chevron { transform: rotate(-90deg); }
.appnav-add { margin: 5px 0 13px; color: var(--ink); background: var(--signal-2); border: 1px solid var(--signal-2); }
.appnav-add:hover { color: var(--ink); background: var(--text); }
.appnav-collapse { position: sticky; z-index: 4; bottom: 0; margin-top: 0; color: var(--muted); background: var(--ink); border-top: 1px solid var(--line); flex: 0 0 56px; }
.nav-backdrop { position: fixed; z-index: 44; inset: 0; background: rgba(0,0,0,.72); }
.app-main { min-height: calc(100vh - var(--bar)); margin-left: var(--rail); }
.site-footer { display: flex; min-height: 86px; margin-left: var(--rail); padding: 24px 4vw; color: var(--muted); background: var(--ink); border-top: 1px solid var(--line); flex-wrap: wrap; align-items: center; gap: 18px; }
.site-footer-attribution { width: 100%; }
.verification-banner, .trial-banner, .announcement-banner { display: flex; min-height: 56px; margin-left: var(--rail); padding: 10px 24px; color: var(--text-2); background: var(--panel-2); border-bottom: 1px solid var(--line-2); align-items: center; justify-content: space-between; gap: 18px; }
.verification-banner-copy, .trial-banner-copy, .announcement-banner-copy { display: flex; align-items: center; gap: 10px; }

html[data-nav-collapsed] { --rail: 76px; }
html[data-nav-collapsed] .signal-mark { justify-content: center; padding: 0; }
html[data-nav-collapsed] .signal-mark-copy, html[data-nav-collapsed] .appnav-item > span, html[data-nav-collapsed] .appnav-section-chevron { display: none; }
html[data-nav-collapsed] .appnav { padding-inline: 9px; overflow-x: hidden; }
html[data-nav-collapsed] .appnav-item { padding-inline: 0; grid-template-columns: 1fr; justify-items: center; }
html[data-nav-collapsed] .appnav-section-items { position: fixed; left: 75px; display: none; width: 230px; margin-top: -48px; padding: 8px; background: var(--panel); border: 1px solid var(--line-2); box-shadow: 16px 20px 48px rgba(0,0,0,.5); }
html[data-nav-collapsed] .appnav-section:hover .appnav-section-items, html[data-nav-collapsed] .appnav-section:focus-within .appnav-section-items { display: grid; }
html[data-nav-collapsed] .appnav-section-items .appnav-item { padding: 0 12px; grid-template-columns: 24px 1fr; justify-items: stretch; }
html[data-nav-collapsed] .appnav-section-items .appnav-item > span { display: inline; }
html[data-nav-collapsed] .appnav-item[data-label]::after { content: attr(data-label); position: fixed; left: 68px; z-index: 80; display: none; padding: 7px 9px; color: var(--text); background: var(--panel-3); border: 1px solid var(--line-2); font-size: .72rem; }
html[data-nav-collapsed] .appnav-item[data-label]:hover::after { display: block; }
html[data-nav-collapsed] .appnav-section-items .appnav-item::after { content: none; }
@media (min-width: 901px) {
    html[data-nav-collapsed] .appnav { transition: width .18s ease,box-shadow .18s ease; }
    html[data-nav-collapsed] .appnav:hover, html[data-nav-collapsed] .appnav:focus-within { width: 248px; padding-inline: 12px; box-shadow: 18px 0 55px rgba(0,0,0,.48); }
    html[data-nav-collapsed] .appnav:hover .appnav-item, html[data-nav-collapsed] .appnav:focus-within .appnav-item { padding: 0 12px; grid-template-columns: 24px minmax(0,1fr) auto; justify-items: stretch; }
    html[data-nav-collapsed] .appnav:hover .appnav-item > span, html[data-nav-collapsed] .appnav:hover .appnav-section-chevron, html[data-nav-collapsed] .appnav:focus-within .appnav-item > span, html[data-nav-collapsed] .appnav:focus-within .appnav-section-chevron { display: inline; }
    html[data-nav-collapsed] .appnav:hover .appnav-section-items, html[data-nav-collapsed] .appnav:focus-within .appnav-section-items { position: static; display: grid; width: auto; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
    html[data-nav-collapsed] .appnav:hover .appnav-section.is-collapsed .appnav-section-items, html[data-nav-collapsed] .appnav:focus-within .appnav-section.is-collapsed .appnav-section-items { display: none; }
    html[data-nav-collapsed] .appnav:hover .appnav-item::after, html[data-nav-collapsed] .appnav:focus-within .appnav-item::after { content: none; }
}

.signal-public-shell .topbar { width: 100%; margin-left: 0; padding-right: clamp(24px,5vw,90px); grid-template-columns: minmax(175px,1fr) auto; }
.signal-public-shell .signal-mark { position: static; width: auto; min-width: 175px; padding: 0; border: 0; }
.signal-public-shell .app-main, .signal-public-shell .site-footer { margin-left: 0; }

/* Universal page frame */
.container, .properties-page, .property-detail, .more-page, .public-page-studio-page { width: min(calc(100% - clamp(36px,6vw,96px)),var(--content)); max-width: none; margin: 0 auto; padding: clamp(36px,5vw,72px) 0 72px; }
.page-stack { display: grid; gap: 24px; }
.page-header, .properties-header, .today-header, .more-page-header, .import-header, .admin-header, .property-detail-header { display: flex; margin: 0 0 34px; padding: 0 0 30px; border-bottom: 1px solid var(--line-2); align-items: flex-end; justify-content: space-between; gap: 32px; }
.page-header h1, .properties-header h1, .today-header h1, .more-page-header h1, .import-header h1, .admin-header h1 { max-width: 1050px; margin: 0; font-size: clamp(2.8rem,5vw,5.8rem); font-weight: 500; letter-spacing: -.07em; line-height: .96; }
.page-header p:last-child, .properties-header p:last-child, .today-header p:last-child { max-width: 760px; margin: 14px 0 0; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.eyebrow { margin: 0 0 10px; color: var(--signal); font: 500 .82rem/1.3 "DM Mono",monospace; letter-spacing: .1em; text-transform: uppercase; }

/* Primitives */
.card, .property-detail-panel, .property-form-card, .more-tile, .billing-card, .analytics-table-card, .analytics-chart-card, .support-thread-card, .public-panel, .modal-content { min-width: 0; padding: 26px; color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.btn { display: inline-flex; width: auto; min-height: 42px; padding: 0 14px; color: var(--text); background: transparent; border: 1px solid var(--line-2); border-radius: 0; align-items: center; justify-content: center; gap: 8px; font-size: .88rem; font-weight: 650; white-space: nowrap; }
.btn:hover { color: var(--text); background: var(--panel-2); }
.btn-primary { color: var(--ink); background: var(--signal-2); border-color: var(--text); }
.btn-primary:hover { color: var(--ink); background: var(--text); }
.btn-danger { color: #f4d9dc; background: rgba(217,136,147,.11); border-color: rgba(217,136,147,.48); }
.btn-sm, .btn-small { min-height: 36px; padding-inline: 11px; font-size: .84rem; }
.btn-lg { min-height: 50px; padding-inline: 19px; }
.icon-btn { display: inline-grid; width: 42px; height: 42px; padding: 0; color: var(--muted); background: transparent; border: 1px solid var(--line-2); border-radius: 0; place-items: center; flex: 0 0 42px; }
.icon-btn:hover { color: var(--text); background: var(--panel-2); }
button:disabled, .btn[aria-disabled="true"], .is-disabled { opacity: .42; cursor: not-allowed; }
.chip, .tag, .badge, .property-badge { display: inline-flex; width: max-content; max-width: 100%; min-height: 30px; padding: 6px 10px; color: var(--text-2); background: var(--panel-3); border: 1px solid var(--line-2); border-radius: 2px; align-items: center; gap: 5px; font: 500 .82rem/1.2 "DM Mono",monospace; white-space: nowrap; }
.chip-active, .chip-hot { color: var(--ink); background: var(--signal-2); }
.chip-warm { color: var(--ink); background: var(--warning); }
.chip-future { color: #d6edf7; background: rgba(127,179,207,.14); }
.chip-cold { color: var(--muted); }
.form-error, .property-form-error, .lp-auth-alert { padding: 14px 16px; color: #f4d9dc; background: rgba(217,136,147,.1); border: 1px solid rgba(217,136,147,.42); }
.empty-state, .property-empty, .today-empty, .support-empty, .properties-empty { display: grid; min-height: 220px; padding: 42px; background: var(--panel); border: 1px dashed var(--line-2); place-content: center; justify-items: center; text-align: center; }

input, select, textarea, [contenteditable="true"] { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; color: var(--text); background: var(--panel-2); border: 1px solid var(--line-2); border-radius: 0; outline: 0; }
textarea { min-height: 110px; resize: vertical; }
input::placeholder, textarea::placeholder { color: #6f7b87; }
input:focus, select:focus, textarea:focus, [contenteditable="true"]:focus { border-color: var(--signal); box-shadow: 0 0 0 3px rgba(127,179,207,.14); }
input[type="checkbox"], input[type="radio"] { width: 18px; min-height: 18px; padding: 0; accent-color: var(--signal); }
.form-field, label.form-field { display: grid; min-width: 0; gap: 8px; }
.form-field > label, label > span, .quicklog-label { color: var(--muted); font-size: .8rem; font-weight: 600; }
.property-form, .auth-form, .quicklog-form, .support-reply-form, .more-profile-form, .property-stack-form { display: grid; gap: 20px; }
.property-form-grid, .settings-fields, .suburb-note-fields, .owner-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 24px; }
:is(.page-header-actions,.properties-header-actions,.today-header-actions,.admin-header-actions,.button-row,.property-quick-actions,.property-owner-actions,.property-ownership-actions,.property-deal-actions,.billing-actions,.more-tile-actions,.metrics-filter-actions,.calendar-preferences-actions,.suburb-section-actions,.import-job-actions,.proposal-section-actions,.appraisal-comparable-actions,.live-comparable-actions) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
:is(.todo-actions,.followup-controls,.future-followup-controls,.filter-tabs,.property-filter-actions,.import-actions,.market-update-toolbar,.creator-mode-tabs) form { width: auto; }

.table-wrap, .analytics-table-scroll, .import-table-wrap { overflow-x: auto; border: 1px solid var(--line); }
table { width: 100%; border-collapse: collapse; font-size: .88rem; }
th { height: 48px; padding: 0 14px; color: var(--muted); background: var(--ink-2); border-bottom: 1px solid var(--line-2); text-align: left; font: 500 .8rem/1 "DM Mono",monospace; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
td { padding: 15px 14px; border-bottom: 1px solid var(--line); vertical-align: middle; }
tbody tr:hover { background: var(--panel-2); }

/* Today and tasks */
.today-page { display: grid; grid-template-columns: minmax(0,1fr) 350px; align-items: start; gap: 0 38px; }
.today-header { grid-column: 1 / -1; }
.today-header h1 { font-size: clamp(3.3rem,6vw,6.8rem); }
.today-worklist { grid-column: 1; grid-row: 2 / span 8; display: grid; gap: 28px; }
.call-target-card, .todo-panel, .today-activation, .first-log-coachmark, .today-activated { grid-column: 2; position: static; }
.call-target-card { grid-row: 2; padding: 24px; border-top: 3px solid var(--signal); }
.call-target-copy h2 { margin: 0; font-size: 2.55rem; font-weight: 500; letter-spacing: -.065em; }
.call-target-track { height: 5px; margin: 14px 0; background: var(--panel-3); }
.call-target-track span { display: block; height: 100%; background: var(--signal); }
.call-target-streak, .weekly-goal-pacing { color: var(--muted); font-size: .82rem; }
.call-target-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.call-target-form label { grid-column: 1 / -1; }
.call-target-actions { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.daily-calls-launch { display: grid; gap: 12px; }
.daily-calls-launch label { display: grid; gap: 6px; }
.worklist-group { padding: 0; overflow: visible; }
.worklist-group > header { display: flex; min-height: 54px; padding: 0 16px; border-bottom: 1px solid var(--line-2); align-items: center; justify-content: space-between; }
.worklist-group > header h2 { margin: 0; font: 600 .78rem/1 "DM Mono",monospace; letter-spacing: .1em; text-transform: uppercase; }
.worklist-row { display: grid; min-width: 0; background: var(--panel); border-bottom: 1px solid var(--line); grid-template-columns: minmax(0,1fr) auto; }
.worklist-row:hover { background: var(--panel-2); box-shadow: inset 3px 0 var(--signal); }
.worklist-row-main { display: grid; min-width: 0; grid-template-columns: minmax(220px,1.1fr) minmax(190px,.8fr) minmax(240px,1fr); }
.worklist-address, .worklist-meta, .worklist-row-main > p { min-width: 0; margin: 0; padding: 18px; border-right: 1px solid var(--line); }
.worklist-address { display: flex; color: var(--text); font-weight: 650; align-items: center; }
.worklist-meta { display: flex; flex-wrap: wrap; align-content: center; align-items: center; gap: 7px; }
.worklist-meta > span:first-child { width: 100%; }
.worklist-row-main > p { display: flex; color: var(--muted); font-size: .84rem; line-height: 1.55; flex-direction: column; justify-content: center; }
.worklist-actions { display: flex; padding: 12px; flex-wrap: wrap; align-items: center; gap: 7px; }
.worklist-row .followup-controls { grid-column: 1 / -1; padding: 12px; border-top: 1px solid var(--line); }

.todo-panel { padding: 22px; }
.todo-panel-head { display: flex; padding-bottom: 16px; border-bottom: 1px solid var(--line); align-items: center; gap: 10px; }
.todo-panel-head > div:first-child { min-width: 0; margin-right: auto; }
.todo-panel-head h2 { margin: 0; font-size: 1.18rem; }
.todo-create-form { display: grid; margin: 16px 0; grid-template-columns: minmax(120px,1fr) 142px auto; align-items: center; gap: 7px; }
.todo-panel > .todo-create-form { grid-template-columns: minmax(0,1fr) auto; }
.todo-panel > .todo-create-form > input:first-of-type { grid-column: 1 / -1; }
.todo-list { display: grid; border-top: 1px solid var(--line); }
.todo-item { display: grid; min-width: 0; padding: 16px 0; border-bottom: 1px solid var(--line); grid-template-columns: 1fr; align-items: start; gap: 14px; }
.todo-main { display: grid; min-width: 0; gap: 6px; }
.todo-main p { margin: 0; color: var(--muted); font-size: .84rem; }
.todo-due, .todo-finished-at { display: inline-flex; width: max-content; max-width: 100%; color: var(--muted); font-size: .78rem; align-items: center; gap: 5px; }
.todo-actions { position: relative; display: flex; min-width: 0; padding-top: 12px; border-top: 1px solid var(--line); flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 7px; }
.followup-controls { position: relative; display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 7px; }
.todo-action-form, .followup-action-form { display: inline-flex; width: auto; margin: 0; align-items: center; gap: 6px; }
.todo-snooze-form input, .followup-snooze-form input { width: 150px; min-height: 40px; padding: 7px 9px; }
.followup-cadence-form select { width: 190px; min-height: 40px; }
.waiting-control-popover { position: relative; width: auto; }
.waiting-control-popover > summary { display: inline-flex; min-height: 42px; padding: 0 13px; border: 1px solid var(--line-2); align-items: center; gap: 7px; list-style: none; white-space: nowrap; }
.waiting-control-popover > .waiting-control-body { position: absolute; z-index: 70; top: calc(100% + 8px); right: 0; width: min(390px,calc(100vw - 48px)); padding: 16px; background: var(--panel-2); border: 1px solid var(--line-2); box-shadow: 0 20px 55px rgba(0,0,0,.5); }
.waiting-control-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.waiting-control-form label { display: grid; gap: 6px; }
.waiting-control-form .btn { grid-column: 1 / -1; }
.todos-page .todo-page-create { width: min(100%,720px); margin: 0; grid-template-columns: minmax(180px,1.25fr) minmax(150px,.9fr) 150px auto; }
.filter-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.todo-page-panel { padding: 0; overflow: visible; }
.todo-page-panel > .todo-panel-head { padding: 22px 24px; }
.todo-page-panel .todo-item { padding: 18px 24px; }
.future-followup-controls, .future-followup-window { display: inline-flex; width: auto; align-items: center; gap: 8px; }
.future-followup-window select { width: auto; min-width: 170px; }
.future-followup-filters { padding: 14px 24px; background: var(--ink-2); border-bottom: 1px solid var(--line); }
.future-followup-list { display: grid; }
.future-followup-item { min-height: 96px; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.future-followup-item:hover { background: var(--panel-2); box-shadow: inset 3px 0 var(--signal); }
.future-followup-main { display: grid; min-width: 0; grid-template-columns: minmax(190px,.65fr) minmax(260px,1.35fr) minmax(150px,.75fr); align-items: center; gap: 20px; }
.future-followup-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.future-followup-due { display: inline-flex; color: var(--text-2); font-size: .82rem; white-space: nowrap; align-items: center; gap: 5px; }
.future-followup-property { min-width: 0; color: var(--text); }
.future-followup-reason { grid-column: 2 / -1; margin: -12px 0 0; }
.worklist-empty { display: grid; min-height: 150px; padding: 30px; color: var(--muted); place-content: center; justify-items: center; text-align: center; }
.worklist-empty strong { color: var(--text); }

/* Property database and records */
.properties-filters, .property-form-card { margin-bottom: 22px; }
.properties-filters > summary { display: flex; min-height: 56px; padding: 0 18px; align-items: center; justify-content: space-between; }
.properties-filters > form { padding: 22px; border-top: 1px solid var(--line); }
.property-search { display: grid; height: 50px; margin-bottom: 18px; padding: 0 12px; background: var(--panel-2); border: 1px solid var(--line-2); grid-template-columns: 26px 1fr; align-items: center; }
.property-search input { border: 0; background: transparent; box-shadow: none; }
.property-filter-row { display: grid; grid-template-columns: repeat(5,minmax(140px,1fr)); gap: 14px; }
.property-filter-row > label { display: grid; gap: 7px; }
.property-filter-actions { display: flex; margin-top: 18px; flex-wrap: wrap; gap: 8px; }
.properties-results-header { display: flex; min-height: 66px; border-top: 1px solid var(--line-2); align-items: center; justify-content: space-between; gap: 18px; }
.properties-results-summary, .properties-page-size label { display: flex; align-items: center; gap: 12px; }
.properties-count strong { margin-right: 6px; font-size: 1.6rem; }
.properties-page-size select { width: auto; }
.property-list { overflow-x: auto; border: 1px solid var(--line); }
.property-list-head, .property-row { display: grid; min-width: 1040px; grid-template-columns: 48px minmax(280px,1.35fr) minmax(260px,.9fr) minmax(430px,1fr); align-items: stretch; }
.property-list-head { min-height: 46px; color: var(--muted); background: var(--ink-2); font: 500 .72rem/1 "DM Mono",monospace; text-transform: uppercase; }
.property-list-head > span { display: flex; padding: 0 14px; align-items: center; }
.property-list-meta-head, .property-row-meta { display: grid !important; padding: 0 !important; grid-template-columns: minmax(180px,1.2fr) minmax(120px,.8fr) minmax(130px,.8fr); }
.property-list-meta-head > span, .property-row-meta > span { display: flex; min-width: 0; padding: 14px; border-left: 1px solid var(--line); align-items: center; }
.property-row { min-height: 112px; background: var(--panel); border-top: 1px solid var(--line); }
.property-row:hover { background: var(--panel-2); box-shadow: inset 3px 0 var(--signal); }
.property-row > * { min-width: 0; padding: 0 14px; }
.property-select-control, .property-row-main, .property-row-facts { display: flex; align-items: center; }
.property-row-main { flex-direction: column; justify-content: center; align-items: flex-start; gap: 7px; }
.property-row-main > strong { color: var(--signal); font-size: 1rem; line-height: 1.35; }
.property-row-owners, .property-row-owner, .property-row-owner-contacts, .property-row-tags, .property-row-facts { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 11px; }
.property-row-facts small { display: inline-flex; align-items: center; gap: 5px; }
.property-fact-icon { width: 1.05em; height: 1.05em; fill: currentColor; stroke: currentColor; }
.property-row-status { align-items: flex-start !important; flex-direction: column; gap: 7px; }
.property-row-status-summary { display: flex; flex-wrap: wrap; gap: 8px; }
.property-status-value { display: grid; gap: 4px; }
.relationship-health-reason { color: var(--muted); font-size: .82rem; line-height: 1.45; }
.property-next-followup { flex-direction: column; align-items: flex-start !important; }
.properties-pagination { display: grid; margin-top: 18px; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; }
.properties-pagination-edge { display: flex; align-items: center; }
.properties-pagination-previous { justify-content: flex-start; }
.properties-pagination-next { justify-content: flex-end; }
.properties-pagination-jump { display: inline-flex; align-items: end; gap: 8px; }
.properties-pagination-jump-label { display: grid; color: var(--muted); font-size: .76rem; gap: 4px; }
.properties-pagination-jump-input { width: 72px; }

.property-identity-card { display: grid; padding: 30px; border-top: 3px solid var(--signal); grid-template-columns: minmax(0,1fr) 300px; gap: 30px; }
.property-summary-main h1 { max-width: 1120px; margin: 6px 0 14px; font-size: clamp(2.8rem,4.4vw,4.9rem); font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.property-summary-stats, .property-detail-meta, .property-tags-form { display: flex; margin-top: 16px; color: var(--muted); flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.property-tags-form input { width: min(360px,100%); }
.property-readiness-stack { display: grid; align-content: start; gap: 10px; }
.property-waiting-inline, .property-readiness-select { padding: 14px; background: var(--panel-2); border: 1px solid var(--line); }
.property-tabs { position: sticky; z-index: 25; top: var(--bar); display: block; margin-top: 18px; overflow: visible; background: var(--panel); border: 1px solid var(--line-2); }
.property-tab-sticky { display: contents; }
.property-sticky-address { display: none; }
.property-tab-nav { display: grid; grid-template-columns: repeat(auto-fit,minmax(132px,1fr)); }
.property-tab { min-width: 0; min-height: 54px; padding: 0 12px; color: var(--muted); background: transparent; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); white-space: normal; }
.property-tab.is-active { color: var(--text); background: var(--panel-2); box-shadow: inset 0 -3px var(--signal); }
.property-tab-panel { display: none; padding-top: 22px; }
.property-tab-panel.is-active { display: block; }
.property-detail-columns, .property-detail-columns--details, .property-detail-columns--followup, .property-detail-columns--deals, .property-value-columns { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); background: var(--line); gap: 1px; }
.property-detail-columns > *, .property-value-columns > * { min-width: 0; background: var(--panel); }
.property-left-column, .property-right-column, .property-notes-column, .property-tab-single { min-width: 0; }
.property-owner-card, .owner-card, .property-sale-item, .property-listing-attempt-item, .property-valuelog-item, .property-deal-item, .property-comp-card { padding: 16px; background: var(--panel-2); border: 1px solid var(--line); }
.property-owner-list, .property-sales-list, .property-deal-list, .property-comp-list, .property-engagement-list, .property-followup-list, .property-valuelog-list, .private-working-note-list { display: grid; gap: 10px; }
.property-owner-header, .property-section-heading, .property-talk-heading, .property-listing-outcome-head, .property-comp-card-head { display: flex; min-width: 0; padding-bottom: 14px; border-bottom: 1px solid var(--line); align-items: center; justify-content: space-between; gap: 16px; }
.property-section-heading h2 { margin: 0; font-size: 1.25rem; }
.property-owner-edit-fields, .property-valuelog-fields, .property-listing-outcome-fields, .property-note-selects, .property-comp-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.property-comp-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.property-comp-specs { grid-template-columns: repeat(3,1fr); }
.property-timeline { margin: 0; padding: 0; list-style: none; }
.property-timeline > li { padding: 20px 0; border-bottom: 1px solid var(--line); }

/* Remaining application modules */
.list-grid, .owner-grid, .suburb-grid, .module-card-grid, .more-grid, .more-tiles, .analytics-charts-grid, .analytics-breakdown-grid, .pipeline-review-grid, .metrics-summary-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); background: var(--line); gap: 1px; }
.list-card, .owner-card, .suburb-card, .more-tile, .analytics-card, .pipeline-stage { min-width: 0; padding: 26px; background: var(--panel); }
.pipeline-board { display: grid; overflow-x: auto; background: var(--line); grid-template-columns: repeat(4,minmax(280px,1fr)); gap: 1px; }
.pipeline-column, .pipeline-stage { min-width: 280px; padding: 18px; background: var(--panel); }
.pipeline-card, .metric-card, .list-queue-item, .support-ticket-link, .calendar-agenda-item, .import-job-row { padding: 18px; background: var(--panel-2); border: 1px solid var(--line); }
.analytics-summary-grid, .resolution-summary, .import-summary-grid, .pipeline-temperature-summary, .pipeline-value-summary, .metrics-stat-row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: var(--line); gap: 1px; }
.analytics-stat, .metric-card, .import-summary-card, .pipeline-temperature-stat, .pipeline-value-stat { min-width: 0; min-height: 140px; padding: 24px; background: var(--panel); }
.analytics-tabs { display: block; min-width: 0; }
.analytics-tablist { display: flex; overflow-x: auto; background: var(--panel); border: 1px solid var(--line-2); border-bottom: 0; }
.analytics-tab { min-width: max-content; min-height: 48px; padding: 0 15px; color: var(--muted); background: transparent; border: 0; }
.analytics-tab.is-active { color: var(--text); background: var(--panel-2); box-shadow: inset 0 -3px var(--signal); }
.analytics-tabpanel { display: none; min-width: 0; padding-top: 22px; }
.analytics-tabpanel.is-active { display: block; }
.analytics-tab-badge { display: inline-flex; min-width: 24px; min-height: 24px; margin-left: 7px; padding: 0 7px; color: var(--text); background: var(--ink-2); border: 1px solid var(--line-2); align-items: center; justify-content: center; }
.analytics-card, .analytics-table-card { min-width: 0; overflow: hidden; }
.analytics-card-head { display: grid; padding: 24px; border-bottom: 1px solid var(--line); gap: 8px; }
.analytics-card-head h2, .analytics-card-head p { margin: 0; }
.analytics-summary-grid { margin: 0; }
.analytics-stat { display: grid; align-content: space-between; gap: 14px; }
.analytics-stat strong { font-size: clamp(2rem,3vw,3.25rem); font-weight: 500; letter-spacing: -.055em; line-height: 1; }
.analytics-stat-label { color: var(--muted); }
.analytics-charts-grid, .analytics-breakdown-grid { margin-top: 22px; background: transparent; gap: 18px; }
.analytics-charts-grid > *, .analytics-breakdown-grid > * { min-width: 0; background: var(--panel); border: 1px solid var(--line); }
.analytics-chart, .analytics-chart svg, .analytics-card svg { display: block; max-width: 100%; }
.analytics-table-scroll { width: 100%; overflow-x: auto; }
.analytics-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.analytics-table th, .analytics-table td { padding: 15px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.analytics-table th { color: var(--muted); font: 500 .75rem/1.3 "DM Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }
.metrics-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.metrics-page .billing-card { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 24px; align-items: center; gap: 24px; }
.metrics-page .billing-card h2, .metrics-page .billing-card p { margin-top: 0; }
.metrics-page .billing-actions { display: flex; align-items: center; justify-content: flex-end; }
.metrics-page .metrics-stat-row { display: flex; background: transparent; }
.metrics-activity-filter { display: grid; margin-top: 18px; gap: 14px; }
.metrics-date-form { display: flex; grid-template-columns: none; flex-wrap: wrap; align-items: center; gap: 8px; }
.metrics-date-form input[type="date"] { width: auto; min-width: 180px; }
.metrics-filter-fieldset { margin: 0; padding: 15px; border: 1px solid var(--line); }
.metrics-filter-fieldset legend { padding: 0 7px; color: var(--muted); font-size: .82rem; }
.metrics-filter-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.metrics-filter-pills label { display: inline-flex; min-height: 38px; padding: 0 11px; background: var(--panel-2); border: 1px solid var(--line); align-items: center; gap: 8px; }
.metrics-filter-pills input { width: auto; }
.metrics-filter-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.support-layout, .list-work-layout, .more-masonry, .owner-detail-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); align-items: start; gap: 24px; }
.support-ticket-list, .list-queue-items, .calendar-agenda, .import-job-list { display: grid; gap: 8px; }
.support-message { padding: 18px; background: var(--panel); border: 1px solid var(--line); }
.support-message-you { background: var(--panel-2); border-left: 3px solid var(--signal); }
.calendar-preferences-grid, .metrics-date-form, .owner-directory-filters, .missing-contact-form, .suburb-target-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.admin-nav { display: flex; margin-bottom: 22px; overflow-x: auto; background: var(--panel); border: 1px solid var(--line); }
.admin-nav a { display: inline-flex; min-width: max-content; min-height: 46px; padding: 0 14px; align-items: center; }
.admin-nav a.active { color: var(--ink); background: var(--signal-2); }

/* Editors: rail, working canvas, delivery/settings */
.creator-studio-shell, .live-page-studio-workspace, .proposal-workspace-grid { display: grid; min-height: 720px; background: var(--line); border: 1px solid var(--line-2); grid-template-columns: 290px minmax(0,1fr); gap: 1px; }
.creator-modebar, .live-page-studio-header { grid-column: 1 / -1; display: flex; min-height: 68px; padding: 0 18px; background: var(--panel); border-bottom: 1px solid var(--line-2); align-items: center; justify-content: space-between; gap: 18px; }
.creator-modebar p, .creator-modebar strong { margin: 0; }
.creator-mode-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.creator-mode-tabs button { min-height: 42px; padding: 0 14px; color: var(--muted); background: var(--panel-2); border: 1px solid var(--line); }
.creator-mode-tabs button.is-active { color: var(--ink); background: var(--signal-2); border-color: var(--signal-2); }
.creator-editor-panel, .proposal-main-panel { grid-column: 1 / -1; min-width: 0; background: var(--ink-2); }
.creator-editor-panel[hidden] { display: none; }
.appraisal-builder-grid, .proposal-builder-grid, .market-update-editor-workspace { display: grid; min-height: 700px; grid-template-columns: 290px minmax(0,1fr); }
.market-update-editor-workspace { grid-template-columns: minmax(0,1fr) 320px; }
.market-update-canvas-panel { grid-column: 1; grid-row: 1; }
.market-update-editor-side { grid-column: 2; grid-row: 1; border-right: 0; border-left: 1px solid var(--line); }
.appraisal-builder-side, .proposal-builder-side, .market-update-editor-side, .proposal-side-panel, .live-page-theme-rail, .live-page-settings-rail { min-width: 0; padding: 18px; background: var(--panel); border-right: 1px solid var(--line); }
.appraisal-builder-main, .proposal-builder-main, .market-update-canvas-panel, .live-page-canvas-panel { min-width: 0; padding: 28px; background: var(--ink-2); }
.appraisal-compact-panel, .proposal-section-editor, .market-update-style-panel, .live-page-section-manager, .proposal-side-group { margin-bottom: 10px; padding: 14px; background: var(--panel-2); border: 1px solid var(--line); }
.appraisal-builder-side, .proposal-builder-side, .market-update-editor-side, .proposal-side-panel, .live-page-theme-rail, .live-page-settings-rail { align-content: start; }
.appraisal-builder-side > *, .proposal-builder-side > *, .market-update-editor-side > *, .proposal-side-panel > *, .live-page-theme-rail > *, .live-page-settings-rail > * { min-width: 0; }
.market-update-title-grid { display: grid; margin-bottom: 22px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.market-update-heading-actions, .market-update-toolbar, .market-update-segmented, .market-update-swatches { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.market-update-toolbar { padding: 14px 0; border-bottom: 1px solid var(--line); }
.market-update-add-section { flex: 1 0 100%; }
.market-update-style-panel { display: grid; gap: 9px; }
.market-update-style-panel label { margin-top: 5px; color: var(--muted); font-size: .82rem; }
.market-update-blocks { display: grid; gap: 12px; }
.market-update-block { display: grid; gap: 12px; }
.live-page-studio-header > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.live-page-theme-rail fieldset, .live-page-settings-rail fieldset { margin: 0 0 14px; padding: 14px; border: 1px solid var(--line); }
.live-page-theme-rail legend, .live-page-settings-rail legend { padding: 0 6px; color: var(--muted); }
.live-page-canvas-panel { display: grid; align-content: start; gap: 16px; }
.live-page-canvas-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.creator-document-canvas, .market-update-page-preview, .live-page-preview-viewport { width: min(820px,100%); min-height: 640px; margin: 0 auto; padding: 42px; color: #111820; background: #f2f5f7; box-shadow: 0 22px 65px rgba(0,0,0,.42); }
.creator-document-canvas input, .creator-document-canvas textarea, .market-update-page-preview input { color: #111820; background: rgba(255,255,255,.7); border-color: #7a8794; }
.market-update-block, .live-page-card-stack > *, .proposal-column-editor { min-width: 0; padding: 18px; color: #111820; background: white; border: 1px solid #c7d0d8; }
.market-update-audience-grid, .proposal-column-editors, .appraisal-comparable-list, .live-comparable-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }

/* Overlays */
.add-menu, .quicklog-modal { position: fixed; z-index: 100; inset: 0; }
.add-menu[aria-hidden="true"], .quicklog-modal[aria-hidden="true"] { display: none; }
.quicklog-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.76); backdrop-filter: blur(4px); }
.add-menu-sheet, .quicklog-sheet { position: absolute; z-index: 1; inset: 0 0 0 auto; width: min(500px,100%); padding: 28px; overflow-y: auto; background: var(--panel); border-left: 1px solid var(--line-2); }
.quicklog-heading { display: flex; padding-bottom: 22px; border-bottom: 1px solid var(--line-2); align-items: flex-start; justify-content: space-between; }
.add-menu-actions, .quicklog-options, .quicklog-chips { display: grid; gap: 8px; }
.quicklog-options { grid-template-columns: repeat(3,1fr); }
.quicklog-chips { grid-template-columns: repeat(2,1fr); }
.add-menu-action, .quicklog-option, .quicklog-chip, .quicklog-outcome { min-height: 62px; padding: 12px; color: var(--text); background: var(--panel-2); border: 1px solid var(--line); }
.toast { padding: 14px 18px; color: var(--text); background: var(--panel-2); border: 1px solid var(--line-2); box-shadow: 0 16px 45px rgba(0,0,0,.45); }

/* Marketing, authentication and public documents */
.lp { --gutter: clamp(22px,5vw,100px); overflow-x: clip; color: var(--text); background: var(--ink); }
.lp-kicker { margin: 0; color: var(--signal); font: 500 .78rem/1.3 "DM Mono",monospace; letter-spacing: .16em; text-transform: uppercase; }
.lp-h1 { max-width: 16ch; margin: 0; font-size: clamp(3.1rem,6.5vw,6.7rem); font-weight: 500; letter-spacing: -.075em; line-height: .92; }
.lp-h2 { margin: 0; font-size: clamp(2.2rem,4.4vw,4.8rem); font-weight: 500; letter-spacing: -.06em; line-height: .98; }
.lp-lead { color: var(--text-2); font-size: clamp(1.05rem,1.35vw,1.3rem); line-height: 1.58; }
.lp-section { padding: clamp(70px,9vw,145px) var(--gutter); border-bottom: 1px solid var(--line); }
.lp-hero { padding: clamp(54px,7vh,92px) 0 0; }
.lp-hero-head { padding: 0 var(--gutter) clamp(30px,4vw,58px); }
.lp-hero-head .lp-kicker { margin-bottom: 20px; }
.lp-hero-body { display: grid; border-block: 1px solid var(--line-2); grid-template-columns: minmax(0,.9fr) minmax(520px,1.1fr); }
.lp-hero-left { display: flex; padding: clamp(30px,4vw,60px) clamp(28px,4vw,64px) clamp(34px,4vw,60px) var(--gutter); flex-direction: column; justify-content: center; }
.lp-hero-left .lp-lead { max-width: 48ch; margin: 0 0 28px; }
.lp-cta-row { display: flex; flex-wrap: wrap; gap: 10px; }
.lp-hero-panel { background: var(--panel); border-left: 1px solid var(--line-2); }
.lp-panel-bar, .lp-panel-foot { display: flex; padding: 16px 22px; color: var(--muted); border-bottom: 1px solid var(--line); align-items: center; justify-content: space-between; gap: 20px; }
.lp-panel-list { display: grid; margin: 0; padding: 12px; list-style: none; gap: 8px; }
.lp-panel-item { display: grid; min-height: 82px; padding: 15px; background: var(--panel-2); border: 1px solid var(--line); grid-template-columns: 38px 1fr; align-items: center; gap: 13px; }
.lp-panel-item strong, .lp-panel-item span { display: block; }
.lp-panel-item span { color: var(--muted); }
.lp-grid { display: grid; margin-top: 42px; background: var(--line); border: 1px solid var(--line); grid-template-columns: repeat(3,1fr); gap: 1px; }
.lp-cell, .lp-step { min-width: 0; padding: 30px; background: var(--panel); }
.lp-head, .lp-split, .lp-price { display: grid; grid-template-columns: minmax(240px,.6fr) minmax(0,1.4fr); gap: 48px; }
.lp-steps { display: grid; background: var(--line); gap: 1px; }
.lp-step { display: grid; grid-template-columns: 58px 1fr; gap: 20px; }
.lp-price-list { display: grid; margin: 0; padding: 0; background: var(--line); grid-template-columns: 1fr 1fr; gap: 1px; list-style: none; }
.lp-price-list li { padding: 15px; background: var(--panel); }
.lp-faq details { border-bottom: 1px solid var(--line); }
.lp-faq summary { min-height: 72px; padding: 20px 0; }
.lp-page-hero, .lp-final, .lp-article-head, .lp-article { padding: clamp(54px,8vw,110px) var(--gutter); }
.lp-auth { display: grid; min-height: calc(100vh - var(--bar)); grid-template-columns: minmax(360px,.9fr) minmax(500px,1.1fr); }
.lp-auth-brand { display: flex; padding: clamp(42px,5vw,78px); background: var(--panel); border-right: 1px solid var(--line-2); flex-direction: column; justify-content: space-between; gap: 36px; }
.lp-auth-main { display: grid; padding: clamp(38px,5vw,72px); place-items: center; }
.lp-auth-form-wrap { width: min(100%,540px); }
.lp-auth-title { margin: 0 0 10px; font-size: clamp(2.35rem,3.8vw,4rem); font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.lp-auth-brand-lead, .lp-auth-intro, .lp-auth-alt, .lp-auth-legal { color: var(--muted); line-height: 1.6; }
.lp-auth-points { display: grid; margin: 0; padding: 0; list-style: none; gap: 13px; }
.lp-auth-point { display: flex; gap: 9px; }
.public-document { min-height: 100vh; color: #111820; background: #eef2f5; }
.document-rail { position: fixed; z-index: 10; inset: 0 auto 0 0; width: 230px; padding: 24px; color: var(--text); background: var(--ink); }
.production-document-section { min-height: 70vh; margin-left: 230px; padding: clamp(48px,8vw,120px); border-bottom: 1px solid #c7d0d8; }

/* Structural safety contract
   These zero-specificity rules cover feature modules without forcing them to
   fight the explicit layouts above. They prevent the legacy failure modes:
   one-letter columns, full-width action forms, touching controls and raw
   unspaced stacks. */
:where(.app-main *) { min-width: 0; }
:where(.app-main .btn, .app-main .chip, .app-main .tag, .app-main .badge, .app-main button, .app-main summary) { overflow-wrap: normal; word-break: keep-all; }
:where([class$="-actions"], [class*="-actions "], [class$="-controls"], [class*="-controls "], [class$="-toolbar"], [class*="-toolbar "]) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
:where([class$="-actions"], [class*="-actions "], [class$="-controls"], [class*="-controls "], [class$="-toolbar"], [class*="-toolbar "]) > form { display: inline-flex; width: auto; margin: 0; align-items: center; gap: 7px; }
:where([class$="-actions"], [class*="-actions "], [class$="-controls"], [class*="-controls "], [class$="-toolbar"], [class*="-toolbar "]) :where(input,select) { width: auto; }
:where([class$="-fields"], [class*="-fields "], [class$="-grid"], [class*="-grid "], [class$="-columns"], [class*="-columns "]) > * { min-width: 0; }
:where([class$="-list"], [class*="-list "]) { margin-top: 0; margin-bottom: 0; }
:where(.card, [class$="-panel"], [class*="-panel "], [class$="-card"], [class*="-card "]) > :where(header,[class$="-head"],[class*="-head "],[class$="-heading"],[class*="-heading "]) { min-width: 0; }
:where(.card, [class$="-panel"], [class*="-panel "], [class$="-card"], [class*="-card "]) > * + * { margin-top: 16px; }
:where(.card, [class$="-panel"], [class*="-panel "], [class$="-card"], [class*="-card "]) > :where(header,[class$="-head"],[class*="-head "],[class$="-heading"],[class*="-heading "]) + * { margin-top: 0; }
:where(details) > summary { list-style: none; }
:where(details) > summary::-webkit-details-marker { display: none; }

/* Property record modules */
.property-detail-navigation { display: flex; min-height: 48px; margin-bottom: 16px; align-items: center; justify-content: space-between; gap: 12px; }
.property-detail-main { min-width: 0; }
.property-summary-side, .property-summary-ownership, .property-summary-source, .property-summary-listing, .property-summary-geocode, .property-summary-ungeocoded { display: grid; gap: 8px; }
.property-waiting-inline-head, .property-waiting-inline-set, .property-scripts-heading-actions, .property-owners-heading-actions, .property-facts-actions, .property-sales-add { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.property-owner-contacts, .property-owner-consents, .owner-consent-list, .property-owner-also-list, .property-former-owners-list, .suburb-fact-list, .property-prior-eras, .property-vendr-snapshot-list { display: grid; gap: 9px; }
.owner-contact-line, .owner-consent-row, .property-owner-phone-row, .property-onmarket-row { display: grid; padding: 12px; background: var(--panel-2); border: 1px solid var(--line); grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; }
.property-owner-edit-form, .property-owner-addphone-fields, .followup-create-form, .property-note-form, .private-working-note-form, .property-facts-form, .property-listing-form, .property-listing-outcome-form, .property-valuelog-form, .property-delete-form { display: grid; gap: 14px; }
.property-owner-edit-body { display: none; }
.property-owner-edit.is-open .property-owner-edit-body { display: grid; }
.property-script-item, .property-suburb-note, .property-prior-era, .private-working-notes, .property-facts-panel, .property-danger-zone, .property-ownership-card, .property-listing-card, .property-sales-card, .property-valuelog-card, .property-valuelog-history-card, .property-vendr-history-card, .property-suburbwide-panel, .property-appraisal-card, .property-proposal-card, .property-listing-outcome-card { min-width: 0; padding: 18px; background: var(--panel-2); border: 1px solid var(--line); }
.property-engagement-signal, .property-radius-stats, .property-comp-subject-specs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.property-onmarket-table, .property-suburbwide-table { overflow-x: auto; }
.property-sticky-facts { display: flex; flex-wrap: wrap; gap: 10px; }
.property-tab-count { margin-left: 5px; color: var(--signal); }
.property-talk-stat, .value-estimate-why, .value-estimate-anchor-summary { padding: 14px; background: var(--panel-2); border: 1px solid var(--line); }
.value-shadow-track, .property-valuelog-bar { position: relative; height: 8px; background: var(--panel-3); }

/* Settings, directories, imports and support */
.more-column, .more-column-main, .more-column-side { display: grid; align-content: start; gap: 18px; }
.more-tile-heading, .billing-details, .billing-plan, .focus-notice, .owner-directory-shortcuts, .pagination-nav, .pagination-pages, .missing-contact-summary, .analytics-card-head, .list-work-header, .list-queue-head, .import-jobs-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.theme-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.theme-swatch { padding: 12px; color: var(--text); background: var(--panel-2); border: 1px solid var(--line); }
.focus-suburb-list, .owner-phone-list, .owner-email-status-list, .owner-property-list, .missing-contact-list, .property-local-sale-list, .list-note-history { display: grid; gap: 8px; }
.focus-suburb-pill, .checkbox-row, .owner-phone-item, .missing-contact-row, .property-local-sale-row, .calendar-feed-row { display: flex; min-width: 0; padding: 12px; background: var(--panel-2); border: 1px solid var(--line); align-items: center; justify-content: space-between; gap: 10px; }
.owner-directory-search { display: grid; grid-template-columns: 24px 1fr; align-items: center; }
.pagination-nav { justify-content: center; }
.pagination-pages { justify-content: center; }
.import-upload-form, .more-focus-form, .missing-contact-form, .support-filter, .metrics-activity-filter { display: grid; gap: 14px; }
.import-upload-card, .import-jobs-card, .support-list-card, .support-new-card, .admin-announcement-card, .admin-phrase-card, .admin-table-card { min-width: 0; padding: 24px; background: var(--panel); border: 1px solid var(--line); }

/* Owners directory */
.owner-directory-shortcuts { padding: 12px 0; border-block: 1px solid var(--line); }
.owner-directory-filters { display: grid; padding: 20px; grid-template-columns: minmax(230px,1.4fr) repeat(5,minmax(120px,.75fr)); align-items: end; gap: 12px; }
.owner-directory-filters > label { display: grid; gap: 7px; }
.owner-directory-search > div { display: grid; grid-template-columns: 24px 1fr; align-items: center; }
.owner-directory-filter-actions { grid-column: 1 / -1; justify-content: flex-end; }
.missing-contact-list { display: grid; gap: 14px; }
.missing-contact-row { display: grid; padding: 0; overflow: hidden; background: var(--panel); border: 1px solid var(--line); grid-template-columns: 1fr; }
.missing-contact-summary { display: flex; min-height: 76px; padding: 18px 20px; background: var(--ink-2); border-bottom: 1px solid var(--line); align-items: center; justify-content: space-between; gap: 18px; }
.missing-contact-summary p { margin: 6px 0 0; color: var(--muted); font-size: .84rem; }
.missing-contact-form { display: grid; padding: 20px; grid-template-columns: minmax(180px,1fr) minmax(150px,.8fr) minmax(190px,1fr) minmax(190px,1fr) auto; align-items: start; gap: 12px; }
.missing-contact-form > label { display: grid; gap: 7px; }
.missing-contact-form > button { margin-top: 29px; }
.missing-contact-row > .owner-consent-list { display: grid; padding: 14px 20px; background: var(--panel-2); border-top: 1px solid var(--line); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.missing-contact-row .owner-consent-row { background: var(--panel); }

/* Pipeline */
.pipeline-value-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
.pipeline-value-stat, .pipeline-rate-form { min-height: 170px; }
.pipeline-value-stat { display: grid; align-content: space-between; gap: 10px; }
.pipeline-value-stat > strong { font-size: clamp(1.8rem,3vw,3.1rem); font-weight: 500; letter-spacing: -.05em; }
.pipeline-rate-form { display: grid; align-content: center; gap: 9px; }
.pipeline-rate-form > div { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 7px; }
.pipeline-temperature-summary { grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); }
.pipeline-temperature-stat { display: grid; gap: 10px; }
.pipeline-temperature-stat > strong { font-size: 1.65rem; }
.pipeline-review-grid { display: grid; overflow-x: auto; padding-bottom: 8px; background: transparent; grid-template-columns: repeat(var(--pipeline-columns),minmax(280px,1fr)); gap: 14px; }
.pipeline-stage { min-width: 280px; padding: 0; overflow: hidden; border: 1px solid var(--line); }
.pipeline-stage-head { display: flex; min-height: 78px; padding: 16px; background: var(--ink-2); border-bottom: 1px solid var(--line); align-items: flex-start; justify-content: space-between; gap: 12px; }
.pipeline-stage-head h2 { margin: 0 0 5px; font-size: 1rem; }
.pipeline-stage-items { display: grid; padding: 10px; gap: 8px; }
.pipeline-card { display: grid; padding: 15px; color: var(--text); background: var(--panel-2); border: 1px solid var(--line); gap: 6px; }
.pipeline-card:hover { background: var(--panel-3); border-color: var(--line-2); }
.pipeline-card > span, .pipeline-card > small { color: var(--muted); font-size: .78rem; }
.pipeline-card-value { color: var(--signal) !important; }

/* Lists */
.list-create-command { display: grid; width: min(100%,440px); grid-template-columns: minmax(180px,1fr) auto; align-items: center; gap: 8px; }
.list-directory-grid { background: transparent; grid-template-columns: repeat(auto-fill,minmax(300px,1fr)); gap: 14px; }
.list-card-with-actions { display: grid; padding: 0; overflow: hidden; grid-template-columns: minmax(0,1fr) 58px; }
.list-card-main { display: grid; min-height: 112px; padding: 20px; color: var(--text); grid-template-columns: 42px minmax(0,1fr) 22px; align-items: center; gap: 14px; }
.list-card-main > span:nth-child(2) { display: grid; gap: 5px; }
.list-card-main small { color: var(--muted); }
.list-card-with-actions > form { display: grid; border-left: 1px solid var(--line); place-items: center; }

/* Suburb notes and rich text */
.suburb-note-card, .suburb-sections-card { padding: 0; overflow: hidden; }
.suburb-note-card-head { padding: 22px 24px; background: var(--ink-2); border-bottom: 1px solid var(--line); }
.suburb-note-card-head h2 { margin: 0; font-size: 1.3rem; }
.suburb-note-card-head p:last-child { margin-bottom: 0; }
.suburb-note-form, .suburb-section-form { padding: 24px; }
.suburb-section-list { display: grid; gap: 1px; background: var(--line); }
.suburb-section { margin: 0; background: var(--panel); }
.suburb-section-label, .suburb-section-add > summary { display: flex; min-height: 58px; padding: 0 20px; background: var(--panel-2); border-bottom: 1px solid var(--line); align-items: center; justify-content: space-between; }
.suburb-section[open] > .suburb-section-label { color: var(--text); box-shadow: inset 3px 0 var(--signal); }
.suburb-section > .inline-form { padding: 0 24px 24px; }
.suburb-section-add { margin: 20px; border: 1px solid var(--line); }
.suburb-target-fields { grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); }
.rich-text { overflow: hidden; background: var(--panel-2); border: 1px solid var(--line-2); }
.rich-text:focus-within { border-color: var(--signal); box-shadow: 0 0 0 3px rgba(127,179,207,.14); }
.rich-text-toolbar { display: flex; min-height: 44px; padding: 6px; background: var(--ink-2); border-bottom: 1px solid var(--line); flex-wrap: wrap; align-items: center; gap: 5px; }
.rich-text-button { display: inline-grid; width: 34px; height: 32px; padding: 0; color: var(--text-2); background: transparent; border: 1px solid transparent; place-items: center; }
.rich-text-button:hover { color: var(--text); background: var(--panel-3); border-color: var(--line); }
.rich-text-editor { min-height: 130px; padding: 14px; color: var(--text); outline: 0; }
.rich-text-editor:empty::before { content: attr(data-placeholder); color: var(--muted); }
.rich-text-editor p { margin: 0 0 9px; }
.rich-text-editor ul, .rich-text-editor ol { margin: 7px 0; padding-left: 24px; }
.rich-text-source { display: none; }

/* Scripts */
.scripts-filter { padding: 12px 0; border-block: 1px solid var(--line); }
.script-create-workspace, .script-record { padding: 0; overflow: hidden; }
.script-create-workspace > .property-section-heading, .script-record > .property-section-heading { margin: 0; padding: 20px 24px; background: var(--ink-2); }
.script-editor-form { padding: 24px; }
.script-editor-form .property-form-grid { align-items: start; }
.script-record > .property-suburb-text, .script-record > .muted { margin: 0; padding: 24px; color: var(--text-2); line-height: 1.75; }
.script-edit-panel { margin: 0; border-top: 1px solid var(--line); }
.script-edit-panel > summary { display: flex; min-height: 52px; padding: 0 24px; align-items: center; gap: 8px; }
.script-delete-form { display: flex; padding: 0 24px 24px; justify-content: flex-end; }
.scripts-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.scripts-filter-label { font-size: .86rem; }
.script-record-title { margin: 0; font-size: 1.15rem; }
.script-record-body, .property-script-record-body { white-space: pre-wrap; }
.property-script-record { margin-bottom: 12px; }
.property-script-record-heading { margin-bottom: 4px; }
.property-rent-change { margin: 5px 0 10px 12px; }

/* Support */
.support-filter-bar { display: flex; padding: 14px 0; flex-wrap: wrap; align-items: center; gap: 8px; }
.support-filter { display: inline-flex; width: max-content; }
.support-ticket-list { margin: 0; padding: 0; list-style: none; }
.support-ticket-row { margin: 0; padding: 0; }
.support-ticket-link { display: grid; color: var(--text); grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; }
.support-ticket-main { display: grid; gap: 5px; }
.support-ticket-meta { color: var(--muted); font-size: .8rem; }

/* Forms and record editors */
.property-form-page { width: min(calc(100% - clamp(36px,6vw,96px)),1080px); margin: 0 auto; padding: clamp(36px,5vw,72px) 0 72px; }
.property-form-card { padding: 0; overflow: hidden; }
.property-form-card > .property-detail-back { margin: 22px 24px 0; }
.property-form-intro { padding: 24px; background: var(--ink-2); border-bottom: 1px solid var(--line); }
.property-form-intro h1 { margin: 6px 0 8px; font-size: clamp(2.2rem,4vw,4rem); font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.property-form-card > .property-form { padding: 24px; }
.property-optional-fields, .property-owner-fields, .property-listing-fieldset, .property-ownership-fieldset, .perm-fieldset { margin: 0; padding: 20px; background: var(--panel-2); border: 1px solid var(--line); }
.property-optional-fields > legend, .property-owner-fields > legend, .property-listing-fieldset > legend, .property-ownership-fieldset > legend, .perm-fieldset > legend { padding: 0 8px; color: var(--signal); font: 500 .76rem/1.3 "DM Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }
.property-listing-toggle, .property-note-request-option, .perm-option { display: flex; min-height: 46px; padding: 10px 12px; background: var(--panel); border: 1px solid var(--line); align-items: center; gap: 9px; }
.property-listing-toggle input, .property-note-request-option input, .perm-option input { width: auto; }
.corelogic-address-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.perm-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }

/* Owner records */
.owner-detail .property-detail-header { display: flex; padding: 24px; align-items: flex-end; justify-content: space-between; gap: 24px; }
.owner-detail .property-detail-header h1 { margin: 4px 0 6px; font-size: clamp(2.4rem,4.5vw,4.6rem); font-weight: 500; letter-spacing: -.065em; line-height: 1; }
.owner-detail-grid { align-items: start; }
.owner-detail .property-detail-panel { padding: 0; overflow: hidden; }
.owner-detail .property-section-heading { padding: 18px 20px; background: var(--ink-2); }
.owner-detail .property-section-heading + * { margin: 0; padding: 20px; }
.owner-detail-list, .owner-property-list { display: grid; margin: 0; padding: 0; list-style: none; gap: 8px; }
.owner-detail-list > *, .owner-property-list > * { padding: 14px; background: var(--panel-2); border: 1px solid var(--line); }
.owner-notes { color: var(--text-2); line-height: 1.7; white-space: pre-wrap; }

/* List workspaces and daily calls */
.list-work-header { padding-bottom: 24px; border-bottom: 1px solid var(--line-2); }
.list-work-header h1 { margin: 6px 0; font-size: clamp(2.5rem,4.5vw,4.8rem); font-weight: 500; letter-spacing: -.065em; line-height: 1; }
.list-work-layout { margin-top: 24px; grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr); }
.list-queue-panel, .list-focus-card { padding: 0; overflow: hidden; }
.list-queue-head, .list-focus-heading { padding: 18px 20px; background: var(--ink-2); border-bottom: 1px solid var(--line); }
.list-queue-items { padding: 10px; }
.list-queue-item { display: grid; color: var(--text); gap: 5px; }
.list-queue-item.is-active { background: var(--panel-3); border-left: 3px solid var(--signal); }
.list-focus-property { display: none; padding: 22px; }
.list-focus-property.is-active { display: block; }
.list-focus-facts { display: flex; padding: 14px 0; border-block: 1px solid var(--line); flex-wrap: wrap; gap: 10px 18px; }
.list-focus-owner, .list-focus-notes { margin-top: 18px; padding: 18px; background: var(--panel-2); border: 1px solid var(--line); }
.list-note-form { display: grid; gap: 10px; }
.daily-call-list { display: grid; gap: 10px; }
.daily-call-row { grid-template-columns: 58px minmax(0,1fr) auto; }
.daily-call-rank { display: grid; color: var(--signal); background: var(--ink-2); border-right: 1px solid var(--line); place-items: center; font: 500 .8rem/1 "DM Mono",monospace; }
.daily-calls-settings { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }

/* Import workflow */
.import-page { width: min(calc(100% - clamp(36px,6vw,96px)),1280px); margin: 0 auto; padding: clamp(36px,5vw,72px) 0 72px; }
.import-workspace { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.7fr); align-items: start; gap: 22px; }
.import-dropzone { display: grid; min-height: 260px; padding: 38px; background: var(--panel-2); border: 1px dashed var(--line-2); place-content: center; justify-items: center; text-align: center; }
.import-help-list { display: grid; padding-left: 20px; color: var(--text-2); gap: 8px; }
.import-jobs-heading, .import-map-heading, .import-preview-heading { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.import-job-main { display: grid; gap: 4px; }
.import-job-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; }
.import-progress { display: grid; height: auto; overflow: visible; background: transparent; gap: 6px; }
.import-progress-bar { height: 7px; overflow: hidden; background: var(--panel-3); }
.import-progress-bar > span { display: block; height: 100%; background: var(--signal); }
.import-progress small { color: var(--muted); }
.import-map-card, .import-preview-card, .import-result-card, .import-status-card { padding: 0; overflow: hidden; }
.import-map-card > form, .import-preview-card > *, .import-result-card > *, .import-status-card > * { margin: 0; padding: 22px 24px; }
.import-actions, .import-preview-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.import-result-card, .import-status-card { text-align: center; }
.import-result-icon, .import-status-icon { display: inline-grid; width: 70px; height: 70px; margin: 0 auto; color: var(--signal); background: var(--panel-2); border: 1px solid var(--line-2); place-items: center; font-size: 2rem; }

/* Calendar */
.calendar-preferences { padding: 0; overflow: hidden; }
.calendar-preferences-heading { display: flex; padding: 20px 24px; background: var(--ink-2); border-bottom: 1px solid var(--line); align-items: center; justify-content: space-between; gap: 16px; }
.calendar-preferences-grid { padding: 24px; }
.calendar-preference-mode { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.calendar-preferences-actions { grid-column: 1 / -1; justify-content: flex-end; }
.calendar-agenda-day { display: grid; grid-template-columns: 150px minmax(0,1fr); border-top: 1px solid var(--line); }
.calendar-agenda-day > h2 { margin: 0; padding: 20px; background: var(--ink-2); border-right: 1px solid var(--line); font-size: 1rem; }
.calendar-agenda-day > div { display: grid; padding: 10px; gap: 8px; }
.calendar-agenda-item { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; color: var(--text); align-items: center; gap: 12px; }

/* Settings, team and administration */
.more-masonry { grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); }
.more-tile { padding: 0; overflow: hidden; }
.more-tile > .more-tile-heading { margin: 0; padding: 20px 22px; background: var(--ink-2); border-bottom: 1px solid var(--line); }
.more-tile > form, .more-tile > .billing-details, .more-tile > .billing-plan, .more-tile > .billing-actions, .more-tile > p, .more-tile > .focus-suburb-list, .more-tile > .theme-picker { margin: 0; padding: 22px; }
.theme-swatch { display: grid; min-height: 105px; align-content: space-between; gap: 10px; }
.theme-swatch-preview { display: flex; align-items: center; gap: 5px; }
.theme-swatch-bar { height: 6px; flex: 1; }
.branding-logo-preview { display: grid; min-height: 130px; padding: 18px; background: var(--ink-2); border: 1px solid var(--line); place-items: center; }
.admin-announcement-form, .admin-phrase-form, .admin-override-form { display: grid; gap: 12px; }
.admin-phrase-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.admin-table-card { overflow: hidden; }
.admin-table-card > .import-table-wrap { border: 0; }
.associate-seat-note, .associate-status-note { margin: 0; padding: 0 22px 22px; }
.associate-permission-builder { display: grid; gap: 10px; }
.associate-email { margin: 0; font-size: 1.12rem; overflow-wrap: anywhere; }
.permission-help { display: block; margin-top: 3px; font-size: .82rem; line-height: 1.45; }
.associate-access-panel { margin: 0 22px; border: 1px solid var(--line); }
.associate-access-panel > summary { display: flex; min-height: 48px; padding: 0 14px; background: var(--panel-2); align-items: center; justify-content: space-between; gap: 10px; font-weight: 650; }
.associate-access-form { display: grid; padding: 16px; gap: 14px; }
.associate-preset-actions, .associate-record-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.associate-record-actions { padding: 0 22px 22px; }

/* Market update directory */
.market-updates-list-page { width: min(calc(100% - clamp(36px,6vw,96px)),var(--content)); margin: 0 auto; padding: clamp(36px,5vw,72px) 0 72px; }
.market-updates-list-shell { padding: 0; overflow: hidden; background: var(--panel); border: 1px solid var(--line); }
.market-updates-list-shell .table-wrap { border: 0; }

/* Analytics and chart readability */
.analytics-page, .metrics-page, .pipeline-review-page, .calendar-page, .support-page, .admin-page, .scripts-page, .import-workspace, .list-work-page { min-width: 0; }
.analytics-tabpanel { min-width: 0; }
.analytics-compare-table, .admin-table { overflow-x: auto; }
.chart-grid { stroke: var(--line-2); }
.chart-axis { color: var(--muted); }
.chart-bar { fill: var(--signal); }
.chart-line { stroke: var(--signal); }
.chart-dot { fill: var(--text); stroke: var(--signal); }
.chart-tooltip { padding: 10px 12px; color: var(--text); background: var(--panel-3); border: 1px solid var(--line-2); }
.analytics-delta { color: var(--success); }
.analytics-delta-flat { color: var(--muted); }

/* Editor detail components */
.more-tile-heading, .market-update-heading-actions, .proposal-section-editor-heading, .live-page-canvas-toolbar, .live-comparable-heading, .live-page-rail-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.proposal-section-editor-list, .appraisal-owner-list, .live-page-theme-list, .live-page-composition-list, .live-page-section-manager-list, .live-page-sections, .market-update-blocks, .market-update-recipients { display: grid; gap: 10px; }
.market-update-title-grid, .market-update-segmented, .market-update-swatches, .market-update-recipient-form, .owner-sendability-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.market-update-audience-picker, .market-update-engagement-summary, .market-update-exclusions, .proposal-actions-panel, .appraisal-comparables-panel, .live-page-section-builder, .live-comparable-builder, .presentation-email-preview { min-width: 0; padding: 16px; background: var(--panel-2); border: 1px solid var(--line); }
.market-update-block { display: grid; grid-template-columns: 26px minmax(0,1fr) auto; gap: 10px; }
.live-page-canvas-scroll { min-width: 0; overflow: auto; }

/* Marketing detail modules */
.lp-marquee { overflow: hidden; border-bottom: 1px solid var(--line); }
.lp-marquee-track { display: inline-flex; padding: 14px 0; color: var(--muted); font: 500 .74rem/1 "DM Mono",monospace; white-space: nowrap; align-items: center; gap: 32px; }
.lp-statement { max-width: 22ch; margin: 0; font-size: clamp(2.1rem,4.5vw,4.7rem); line-height: 1.03; letter-spacing: -.055em; }
.lp-statement-sub, .lp-head-sub, .lp-compare-note { max-width: 64ch; color: var(--muted); line-height: 1.65; }
.lp-head-rail, .lp-split-rail { display: grid; align-content: start; gap: 10px; }
.lp-index, .lp-cell-num, .lp-cell-tag { color: var(--signal); font: 500 .74rem/1 "DM Mono",monospace; }
.lp-cell-top { display: flex; margin-bottom: 16px; align-items: center; justify-content: space-between; }
.lp-step-n { color: var(--signal); font-size: 2.5rem; }
.lp-compare-wrap { margin-top: 38px; overflow-x: auto; border: 1px solid var(--line); }
.lp-compare { min-width: 720px; }
.lp-note { margin-top: 40px; padding: 32px; background: var(--panel); border-left: 3px solid var(--signal); }
.lp-price-figure { display: flex; align-items: baseline; gap: 6px; }
.lp-price-num { font-size: clamp(5rem,10vw,9rem); line-height: .8; letter-spacing: -.08em; }
.lp-price-cur { font-size: 2rem; }
.lp-price-per, .lp-price-sub, .lp-price-foot { color: var(--muted); font: 500 .78rem/1.5 "DM Mono",monospace; }
.lp-price-cta-wrap { display: flex; margin-top: 26px; flex-direction: column; align-items: flex-start; gap: 10px; }
.lp-final-inner { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 40px; }

/* Public CMA, proposal and market-update experiences */
.public-concept-root, .public-shell { min-height: 100vh; color: #111820; background: #eef2f5; }
.concept-topbar, .public-concept-topbar, .public-header { display: flex; min-height: 68px; padding: 0 clamp(22px,5vw,76px); color: var(--text); background: var(--ink); border-bottom: 1px solid #273443; align-items: center; justify-content: space-between; gap: 24px; }
.concept-brand, .public-brand { display: inline-flex; color: var(--text); align-items: center; gap: 10px; }
.concept-nav, .public-document-nav, .concept-footer-links, .public-footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.concept-footer, .public-footer { display: flex; padding: 28px clamp(22px,5vw,76px); color: var(--muted); background: var(--ink); flex-wrap: wrap; justify-content: space-between; gap: 18px; }
.concept-eyebrow { margin: 0 0 12px; color: #557f96; font: 500 .76rem/1.3 "DM Mono",monospace; letter-spacing: .12em; text-transform: uppercase; }
.concept-btn { display: inline-flex; min-height: 46px; padding: 0 16px; color: #111820; background: transparent; border: 1px solid #5f6d7a; align-items: center; justify-content: center; gap: 8px; white-space: nowrap; }
.concept-btn-primary, .concept-btn-accent { color: white; background: #244b61; border-color: #244b61; }
.concept-btn-outline { background: transparent; }
.section-pad { padding: clamp(54px,8vw,116px); }
.section-intro { max-width: 720px; color: #52606d; font-size: 1.05rem; line-height: 1.7; }
.cma-hero, .proposal-hero, .market-hero { position: relative; display: grid; min-height: 76vh; padding: clamp(54px,8vw,120px); overflow: hidden; color: white; background: #0a1017; grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); align-items: end; gap: 50px; }
.cma-hero-copy, .proposal-hero-copy, .market-hero-copy { position: relative; z-index: 2; max-width: 900px; }
.cma-hero h1, .proposal-hero h1, .market-hero h1 { margin: 0; font-size: clamp(3.2rem,7vw,7.8rem); font-weight: 500; letter-spacing: -.075em; line-height: .9; }
.cma-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(5,7,10,.92),rgba(5,7,10,.3)); }
.value-prism, .proposal-plane, .market-orbit { position: relative; min-height: 340px; }
.value-prism { display: grid; padding: 30px; color: white; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.28); align-content: space-between; }
.value-prism-top, .value-prism-foot, .proposal-hero-meta, .market-byline { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; }
.cma-overview, .cma-narrative, .position-section, .evidence-section, .cma-next, .proposal-intro, .strategy-section, .campaign-section, .fee-section, .proposal-accept, .market-snapshot, .market-chart-section, .recent-sales, .market-outlook, .conversion-panel { color: #111820; background: #eef2f5; border-bottom: 1px solid #c7d0d8; }
.narrative-columns, .proposal-columns, .production-column-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(24px,5vw,70px); }
.evidence-stack, .sales-list, .strategy-timeline { display: grid; gap: 14px; }
.evidence-card { display: grid; min-width: 0; background: white; border: 1px solid #c7d0d8; grid-template-columns: minmax(180px,.65fr) minmax(0,1.35fr); }
.evidence-photo, .sale-image { min-height: 210px; background: #d6dde3 center/cover no-repeat; }
.evidence-main { padding: 24px; }
.evidence-specs, .metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.position-spectrum, .market-chart { padding: 28px; background: white; border: 1px solid #c7d0d8; }
.spectrum-track { position: relative; height: 10px; background: #c7d0d8; }
.spectrum-range { position: absolute; height: 100%; background: #557f96; }
.fee-card, .conversion-form, .accept-form { padding: 28px; background: white; border: 1px solid #c7d0d8; }
.fee-lines { display: grid; gap: 12px; }
.fee-lines > * { display: flex; justify-content: space-between; gap: 20px; }
.conversion-form, .accept-form { display: grid; gap: 14px; }
.orbit-ring { position: absolute; inset: 12%; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }
.orbit-ring-b { inset: 27%; }
.orbit-core { position: absolute; inset: 40%; display: grid; color: #0a1017; background: #b9c6d2; border-radius: 50%; place-items: center; }
.market-chart { overflow-x: auto; }
.chart-bars { display: flex; min-height: 260px; align-items: end; gap: 12px; }
.chart-bars > * { min-width: 30px; background: #557f96; }
.preserve-line-breaks { white-space: pre-line; }
.public-action-message { padding: 14px; border: 1px solid #aeb8c2; }
.public-action-success { color: #315b3e; background: #e3eee6; }
.public-action-error { color: #7b3740; background: #f4e5e7; }
.public-main { display: grid; min-height: calc(100vh - 140px); padding: clamp(36px,7vw,100px) clamp(22px,6vw,90px); place-items: center; }
.public-main .public-panel { width: min(100%,760px); padding: clamp(28px,5vw,58px); }
.public-main .public-panel h1 { margin: 12px 0; font-size: clamp(2.4rem,5vw,5rem); font-weight: 500; letter-spacing: -.065em; line-height: 1; }
.public-empty-state { display: grid; justify-items: start; gap: 14px; }
.public-empty-state > i { font-size: 2rem; }
.public-preference-form { display: flex; margin-top: 24px; flex-wrap: wrap; gap: 8px; }
.public-identity-list { display: grid; margin: 24px 0; background: var(--line); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; }
.public-identity-list > div { padding: 16px; background: var(--panel-2); }
.public-identity-list dt { color: var(--muted); font-size: .8rem; }
.public-identity-list dd { margin: 4px 0 0; }
.not-found-page { display: grid; min-height: calc(100vh - var(--bar)); place-items: center; }
.not-found-card { display: grid; width: min(100%,760px); min-height: 440px; padding: clamp(32px,6vw,72px); align-content: center; justify-items: start; gap: 12px; }
.not-found-card > i { color: var(--signal); font-size: 2.2rem; }
.not-found-card h1 { max-width: 12ch; margin: 0; font-size: clamp(3rem,7vw,6rem); font-weight: 500; letter-spacing: -.07em; line-height: .92; }
.not-found-actions { display: flex; margin-top: 12px; flex-wrap: wrap; gap: 8px; }
.legal-page { width: min(calc(100% - clamp(36px,6vw,96px)),900px); margin: 0 auto; padding: clamp(36px,6vw,80px) 0; }

/* Responsive */
@media (max-width: 1180px) {
    :root { --rail: 218px; }
    .topbar { grid-template-columns: var(--rail) minmax(150px,.5fr) minmax(280px,1fr) max-content; gap: 14px; }
    .today-page { grid-template-columns: 1fr 310px; gap: 0 24px; }
    .worklist-row-main { grid-template-columns: minmax(200px,1fr) minmax(180px,.8fr); }
    .worklist-row-main > p { grid-column: 1 / -1; border-top: 1px solid var(--line); }
    .property-filter-row { grid-template-columns: repeat(3,1fr); }
    .page-header { align-items: flex-start; flex-direction: column; }
    .todos-page .todo-page-create { width: 100%; }
    .future-followup-main { grid-template-columns: minmax(170px,.65fr) minmax(220px,1fr); }
    .property-detail-columns, .property-value-columns { grid-template-columns: 1fr; }
    .lp-hero-body, .lp-head, .lp-split, .lp-price { grid-template-columns: 1fr; }
    .lp-hero-panel { border-top: 1px solid var(--line); border-left: 0; }
    .owner-directory-filters { grid-template-columns: repeat(3,minmax(150px,1fr)); }
    .missing-contact-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .missing-contact-form > button { margin-top: 0; justify-self: start; }
    .import-workspace { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    :root { --rail: 248px; }
    html[data-nav-collapsed] { --rail: 248px; }
    .topbar { width: 100%; margin-left: 0; padding: 0 14px; grid-template-columns: 42px minmax(0,1fr) auto; }
    .nav-toggle { display: inline-grid !important; }
    .signal-mark, .signal-location { display: none; }
    .appnav { inset: 0 auto 0 0; transform: translateX(-100%); transition: transform .2s ease; }
    html[data-nav-open] .appnav { transform: none; }
    .appnav-close { display: inline-grid !important; margin: 0 0 12px auto; }
    html[data-nav-collapsed] .appnav-item > span, html[data-nav-collapsed] .appnav-section-chevron { display: inline; }
    html[data-nav-collapsed] .appnav-item { padding: 0 12px; grid-template-columns: 24px 1fr auto; justify-items: stretch; }
    html[data-nav-collapsed] .appnav-section-items { position: static; display: grid; width: auto; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
    .app-main, .site-footer, .verification-banner, .trial-banner, .announcement-banner { margin-left: 0; }
    .today-page { grid-template-columns: 1fr; }
    .today-header, .today-worklist, .call-target-card, .todo-panel, .today-activation, .first-log-coachmark, .today-activated { grid-column: 1; grid-row: auto; }
    .today-worklist { order: 3; }
    .property-identity-card { grid-template-columns: 1fr; }
    .creator-studio-shell, .live-page-studio-workspace, .proposal-workspace-grid { display: block; }
    .appraisal-builder-grid, .proposal-builder-grid, .market-update-editor-workspace { grid-template-columns: 1fr; }
    .market-update-canvas-panel, .market-update-editor-side { grid-column: 1; grid-row: auto; }
    .market-update-editor-side { border-top: 1px solid var(--line); border-left: 0; }
    .support-layout, .list-work-layout, .more-masonry, .owner-detail-grid { grid-template-columns: 1fr; }
    .metrics-page .billing-card { grid-template-columns: 1fr; }
    .metrics-page .billing-actions { justify-content: flex-start; }
    .calendar-agenda-day { grid-template-columns: 1fr; }
    .calendar-agenda-day > h2 { border-right: 0; border-bottom: 1px solid var(--line); }
    .lp-auth { grid-template-columns: 1fr; }
    .lp-auth-brand { display: none; }
}

@media (max-width: 680px) {
    body { font-size: 16px; }
    .signal-search kbd, .signal-sync, .signal-command-actions .btn-quiet { display: none; }
    .container, .properties-page, .property-detail, .more-page, .public-page-studio-page, .property-form-page, .import-page, .market-updates-list-page, .legal-page { width: calc(100% - 28px); padding-top: 28px; }
    .page-header h1, .properties-header h1, .today-header h1 { font-size: 2.75rem; }
    .property-form-grid, .settings-fields, .suburb-note-fields, .owner-detail-grid, .property-owner-edit-fields, .property-valuelog-fields, .property-listing-outcome-fields, .property-note-selects, .property-comp-columns, .market-update-audience-grid, .proposal-column-editors, .appraisal-comparable-list, .live-comparable-list { grid-template-columns: 1fr; }
    .worklist-row { grid-template-columns: 1fr; }
    .worklist-row-main { grid-template-columns: 1fr; }
    .worklist-address, .worklist-meta, .worklist-row-main > p { border-right: 0; border-bottom: 1px solid var(--line); }
    .todo-create-form, .todos-page .todo-page-create, .todo-item, .todo-page-panel .todo-item { grid-template-columns: 1fr; }
    .todo-panel > .todo-create-form > input:first-of-type { grid-column: 1; }
    .todo-actions { justify-content: flex-start; }
    .todo-snooze-form, .followup-snooze-form, .followup-cadence-form { flex: 1 1 100%; }
    .todo-snooze-form input, .followup-snooze-form input, .followup-cadence-form select { flex: 1; width: auto; }
    .waiting-control-form { grid-template-columns: 1fr; }
    .waiting-control-form .btn { grid-column: 1; }
    .future-followup-main { grid-template-columns: 1fr; gap: 10px; }
    .future-followup-reason { grid-column: 1; margin: 0; }
    .property-filter-row, .calendar-preferences-grid, .metrics-date-form, .owner-directory-filters, .missing-contact-form, .suburb-target-fields { grid-template-columns: 1fr; }
    .market-update-title-grid, .perm-grid, .public-identity-list { grid-template-columns: 1fr; }
    .properties-pagination { grid-template-columns: 1fr 1fr; }
    .properties-pagination-jump { grid-column: 1 / -1; grid-row: 1; }
    .list-grid, .owner-grid, .suburb-grid, .module-card-grid, .more-grid, .more-tiles, .analytics-charts-grid, .analytics-breakdown-grid, .pipeline-review-grid, .metrics-summary-grid, .analytics-summary-grid, .resolution-summary, .import-summary-grid, .pipeline-temperature-summary, .pipeline-value-summary, .metrics-stat-row, .lp-grid, .lp-price-list { grid-template-columns: 1fr; }
    .quicklog-options { grid-template-columns: repeat(2,1fr); }
    .daily-call-row { grid-template-columns: 46px minmax(0,1fr); }
    .daily-call-row > .worklist-actions { grid-column: 1 / -1; }
    .document-rail { position: static; width: auto; }
    .production-document-section { margin-left: 0; padding: 36px 20px; }
}
