/* Information patterns shared by every domain. */
[hidden] { display: none !important; }
.small { font-size: .8125rem; }
.person-label { display: inline-flex; align-items: center; gap: .5rem; min-width: 0; font-size: .8125rem; }
.person-label > span:last-child { overflow-wrap: anywhere; }
.avatar-mini { width: 26px; height: 26px; border: 0; color: var(--text-muted); font-size: .6875rem; }
.segmented { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; background: var(--surface-muted); border-radius: var(--radius-sm); }
.segmented .button { background: transparent; border-color: transparent; color: var(--text-muted); }
.segmented .button.primary { background: var(--surface); border-color: var(--border); color: var(--text); }
.count { font-size: var(--font-small); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.metric-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-content: start; gap: var(--space-3); min-width: 0; padding: var(--card-padding); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); color: var(--text); text-decoration: none; }
.metric-card-heading { grid-column: 1/-1; display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); color: var(--text-muted); font-size: var(--font-small); font-weight: var(--weight-medium); }
.metric-card-heading .icon { width: 22px; height: 22px; }
.metric-card-value { font-size: clamp(2rem,3vw,2.625rem); letter-spacing: -.04em; line-height: 1.15; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.metric-card-footer { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); color: var(--text-muted); font-size: var(--font-small); }
.metric-card-footer .icon { width: 16px; height: 16px; flex-shrink: 0; }
.metric-card-short .metric-card-footer { grid-column: 2; grid-row: 2; align-self: end; padding-bottom: .25rem; }
.metric-card-primary { background: var(--feature-bg); color: var(--feature-text); border-color: var(--feature-bg); }
.metric-card-primary :is(.metric-card-heading,.metric-card-footer) { color: var(--feature-muted); }
.metric-card-warning { background: var(--warning-bg); border-color: var(--warning-bg); }
.metric-card-warning :is(.metric-card-heading,.metric-card-footer) { color: var(--warning-text); }
.metric-card:hover { border-color: var(--accent); }
.metric-card-primary:hover { border-color: var(--feature-muted); }
.action-menu, .lead-menu { position: relative; flex-shrink: 0; }
.action-menu > summary, .lead-menu > summary { list-style: none; cursor: pointer; }
.action-menu > summary::-webkit-details-marker, .lead-menu > summary::-webkit-details-marker { display: none; }
.action-menu-items, .lead-menu-items { position: absolute; right: 0; top: 100%; width: 14rem; max-width: calc(100vw - 3rem); display: grid; gap: .25rem; padding: .375rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); z-index: 6; box-shadow: var(--overlay-shadow); }
.action-menu-items .button, .lead-menu-items .button { width: 100%; justify-content: flex-start; border-color: transparent; }
.action-menu-items form, .lead-menu-items form { margin: 0; }
.contact-data { margin: 0; font-size: .8125rem; }
.contact-data-row { display: grid; grid-template-columns: 4.5rem minmax(0,1fr); align-items: center; gap: .5rem; }
.contact-data dt { font-size: var(--font-small); }
.contact-data dd { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-width: 0; margin: 0; }
.contact-value { font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.contact-actions { display: flex; flex-shrink: 0; gap: 2px; }
.contact-actions .button { color: var(--text-muted); }
.property-summary-card { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: var(--space-3); min-width: 0; }
.property-summary-photo { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .375rem; width: 100%; height: 88px; color: var(--text-muted); background: var(--surface-muted); border-radius: var(--radius-sm); text-decoration: none; overflow: hidden; }
.property-summary-photo img { width: 100%; height: 100%; object-fit: cover; }
.property-summary-photo .icon { width: 26px; height: 26px; }
.property-summary-photo small { font-size: .6875rem; }
.property-summary-copy { min-width: 0; }
.property-summary-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.property-summary-title { font-weight: var(--weight-heading); font-size: .875rem; line-height: 1.4; overflow-wrap: anywhere; text-decoration: none; }
.property-summary-title:hover { color: var(--accent); text-decoration: underline; }
.property-summary-heading .badge { flex-shrink: 0; font-size: .6875rem; }
.property-summary-location { font-size: .75rem; color: var(--text-muted); margin: .1875rem 0 .5rem; }
.property-summary-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .375rem; font-variant-numeric: tabular-nums; }
.property-summary-price strong { font-size: 1rem; }
.property-summary-price > span { font-size: .6875rem; color: var(--text-muted); }
.property-summary-features { display: flex; flex-wrap: wrap; gap: .375rem .75rem; padding: 0; margin: .5rem 0; list-style: none; font-size: .75rem; }
.property-summary-features li { display: flex; align-items: center; gap: .25rem; }
.property-summary-features .icon { width: 15px; height: 15px; color: var(--text-muted); }
.property-summary-meta { display: flex; flex-wrap: wrap; gap: .25rem .625rem; color: var(--text-muted); font-size: .6875rem; }
.property-statuses { display: flex; flex-wrap: wrap; gap: .375rem; margin-top: .5rem; }
.property-summary-charge { color: var(--text-muted); font-size: .6875rem; margin-top: .375rem; }
.property-summary-visual { grid-template-columns: minmax(0,1fr); gap: 0; }
.property-summary-visual .property-summary-photo { aspect-ratio: 8/5; height: auto; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.property-summary-visual .property-summary-photo .icon { width: 40px; height: 40px; }
.property-summary-visual .property-summary-copy { padding: var(--card-padding); }
.property-summary-visual .property-summary-title { font-size: 1rem; }
.property-summary-visual .property-summary-price { margin-block: var(--space-4) var(--space-3); }
.property-summary-visual .property-summary-price strong { font-size: 1.5rem; letter-spacing: -.025em; }
.property-summary-visual .property-summary-features { padding-bottom: var(--space-4); border-bottom: 1px solid var(--border); }
.property-summary-visual .property-statuses { margin-top: var(--space-3); }
.property-card-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; margin-top: .625rem; }
.property-card-actions > form { margin: 0 0 0 auto; }
.match-details { color: var(--text-muted); font-size: .75rem; max-width: 100%; }
.match-details summary { min-height: var(--control-height); display: flex; align-items: center; cursor: pointer; text-decoration: underline; }
.match-details > div { padding-block: .5rem; }
.match-details p { display: flex; align-items: baseline; gap: .25rem; margin-block: .25rem; }
@media (max-width: 47.99rem), (pointer: coarse) {
  input:not([type=checkbox]):not([type=radio]), select, textarea, .field input, .field select { font-size: 1rem; }
  .contact-data-row { grid-template-columns: 1fr; gap: 0; padding-block: .125rem; }
  .contact-data dd { align-items: center; }
  .contact-data dt { padding-top: .25rem; }
}
@media (max-width: 23rem) {
  .property-summary-card:not(.property-summary-visual) { grid-template-columns: 64px minmax(0,1fr); gap: .625rem; }
  .property-summary-card:not(.property-summary-visual) .property-summary-photo { height: 64px; }
}

.menu-up > :is(.action-menu-items, .lead-menu-items) { top: auto; bottom: 100%; }

/* Sobria: neutral hover reveals interactive rows without adding permanent chrome. */
@media (hover: hover) {
  :is(.lead-table, .users-table, .inventory-table, .report-table) tbody tr:hover { background: var(--surface-hover); }
}
