
/**

 * NeuraRealty Property Detail v2 CSS

 * Tabbed interface with Option A hero layout

 */



.nr-property-hero {

    display: grid;

    grid-template-columns: 1fr 420px;

    background: var(--nr-bg-card);

    border-radius: var(--nr-radius-lg, 16px);

    overflow: hidden;

    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);

    margin-bottom: 24px;

}



.nr-hero-gallery {

    position: relative;

    min-height: 480px;

    background: var(--nr-bg-secondary, #f1f5f9);

}



.nr-hero-gallery .nr-hero-image {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.nr-hero-placeholder {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    height: 100%;

    color: var(--nr-text-muted, #94a3b8);

    gap: 12px;

}



.nr-hero-badges {

    position: absolute;

    top: 16px;

    left: 16px;

    display: flex;

    flex-direction: column;

    gap: 8px;

}



.nr-hero-badge {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 10px 16px;

    border-radius: 8px;

    font-size: 12px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.5px;

}



.nr-badge-listing { background: var(--nr-primary, #0d7377); color: white; }

.nr-badge-verified { background: var(--nr-success, #059669); color: white; }



.nr-hero-gallery-btn {

    position: absolute;

    bottom: 16px;

    right: 16px;

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 10px 16px;

    background: rgba(0, 0, 0, 0.75);

    color: white;

    border: none;

    border-radius: 8px;

    font-size: 13px;

    font-weight: 500;

    cursor: pointer;

}



.nr-hero-gallery-btn:hover { background: rgba(0, 0, 0, 0.9); }



.nr-hero-info-panel {

    display: flex;

    flex-direction: column;

    background: var(--nr-bg-card, #fff);

    border-left: 1px solid var(--nr-border, #e2e8f0);

}



.nr-hero-listing-header {

    padding: 20px 24px;

    background: linear-gradient(135deg, var(--nr-primary, #0d7377), var(--nr-primary-dark, #095557));

    color: white;

}



.nr-listing-status-badge {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    font-size: 12px;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.5px;

    margin-bottom: 8px;

}



.nr-hero-price { font-size: 32px; font-weight: 700; margin-bottom: 4px; }

.nr-hero-dom { font-size: 13px; opacity: 0.9; }



.nr-hero-value-header {

    padding: 20px 24px;

    background: var(--nr-bg-secondary, #f1f5f9);

    border-bottom: 1px solid var(--nr-border, #e2e8f0);

}



.nr-value-label { font-size: 13px; color: var(--nr-text-muted, #94a3b8); margin-bottom: 4px; }

.nr-hero-value-header .nr-hero-price { color: var(--nr-primary, #0d7377); }

.nr-price-na { font-size: 20px; color: var(--nr-text-secondary, #475569); }



.nr-hero-property-info {

    padding: 20px 24px;

    border-bottom: 1px solid var(--nr-border, #e2e8f0);

}



.nr-hero-address { font-size: 18px; font-weight: 600; margin-bottom: 4px; color: var(--nr-text-primary, #1e293b); }

.nr-hero-location { font-size: 14px; color: var(--nr-text-secondary, #475569); margin-bottom: 16px; }



.nr-hero-stats { display: flex; flex-wrap: wrap; gap: 10px; }



.nr-hero-stat {

    display: flex;

    flex-direction: column;

    align-items: center;

    padding: 10px 14px;

    background: var(--nr-bg-secondary, #f1f5f9);

    border-radius: 8px;

    min-width: 60px;

}



.nr-hero-stat-value { font-size: 18px; font-weight: 700; color: var(--nr-text-primary, #1e293b); }

.nr-hero-stat-label { font-size: 10px; color: var(--nr-text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.5px; }



.nr-hero-agent-section { padding: 20px 24px; flex: 1; }

.nr-agent-section-title { font-size: 11px; font-weight: 600; color: var(--nr-text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; }



.nr-brokerage-name {

    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 14px;

    font-weight: 600;

    color: var(--nr-primary, #0d7377);

    margin-bottom: 16px;

    text-decoration: none;

}



.nr-brokerage-name:hover { color: var(--nr-primary-dark, #095557); }



.nr-agent-card {

    display: flex;

    gap: 16px;

    padding: 16px;

    background: var(--nr-bg-secondary, #f1f5f9);

    border-radius: 10px;

    margin-bottom: 16px;

}



.nr-agent-photo {

    width: 80px;

    height: 100px;

    border-radius: 8px;

    object-fit: cover;

    flex-shrink: 0;

    border: 2px solid var(--nr-border, #e2e8f0);

}



.nr-agent-info { flex: 1; min-width: 0; }

.nr-agent-name { font-size: 16px; font-weight: 600; color: var(--nr-text-primary, #1e293b); margin-bottom: 2px; }

.nr-agent-title { font-size: 13px; color: var(--nr-text-secondary, #475569); margin-bottom: 4px; }

.nr-agent-license { font-size: 12px; color: var(--nr-text-muted, #94a3b8); font-family: 'JetBrains Mono', monospace; margin-bottom: 8px; }

.nr-agent-phone { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500; color: var(--nr-text-primary, #1e293b); }



.nr-hero-no-listing { padding: 20px 24px; flex: 1; }



.nr-no-listing-message {

    display: flex;

    gap: 12px;

    padding: 16px;

    background: var(--nr-bg-secondary, #f1f5f9);

    border-radius: 10px;

    border-left: 4px solid var(--nr-primary, #0d7377);

}



.nr-no-listing-message strong { display: block; font-size: 14px; font-weight: 600; color: var(--nr-text-primary, #1e293b); margin-bottom: 4px; }

.nr-no-listing-message p { font-size: 13px; color: var(--nr-text-secondary, #475569); margin: 0; }



.nr-hero-actions { display: flex; flex-direction: column; gap: 10px; padding: 0 24px 24px; }

.nr-hero-actions .nr-action-btn { flex: 1; }

.nr-hero-actions:has(.nr-action-btn:nth-child(3)) { flex-direction: row; gap: 8px; }



.nr-breadcrumb { display: flex; align-items: center; gap: 8px; padding: 16px 0; font-size: 13px; }

.nr-breadcrumb a { color: var(--nr-text-secondary, #475569); text-decoration: none; }

.nr-breadcrumb a:hover { color: var(--nr-primary, #0d7377); }

.nr-breadcrumb-current { color: var(--nr-text-muted, #94a3b8); }



.nr-tabs {

    display: flex;

    gap: 4px;

    background: var(--nr-bg-card, #fff);

    padding: 8px;

    border-radius: var(--nr-radius-lg, 16px);

    box-shadow: 0 1px 3px rgba(0,0,0,0.08);

    margin-bottom: 24px;

    overflow-x: auto;

}



.nr-tab {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 12px 20px;

    background: transparent;

    border: none;

    border-radius: 10px;

    font-size: 14px;

    font-weight: 500;

    color: var(--nr-text-secondary, #475569);

    cursor: pointer;

    white-space: nowrap;

    transition: all 0.2s;

}



.nr-tab:hover { background: var(--nr-bg-secondary, #f1f5f9); color: var(--nr-text-primary, #1e293b); }

.nr-tab.active { background: var(--nr-primary, #0d7377); color: white; }



.nr-tab-badge {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 20px;

    height: 20px;

    padding: 0 6px;

    background: rgba(0,0,0,0.15);

    border-radius: 10px;

    font-size: 11px;

    font-weight: 600;

}



.nr-tab.active .nr-tab-badge { background: rgba(255,255,255,0.25); }



.nr-property-layout { display: grid; grid-template-columns: 1fr 380px; gap: 24px; }

.nr-property-main { min-width: 0; }



.nr-tab-content { display: none; animation: fadeIn 0.3s ease; }

.nr-tab-content.active { display: block; }



@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }



.nr-content-card {

    background: var(--nr-bg-card, #fff);

    border-radius: var(--nr-radius-lg, 16px);

    padding: 24px;

    margin-bottom: 16px;

    box-shadow: 0 1px 3px rgba(0,0,0,0.08);

}



.nr-content-card h2 {

    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 18px;

    font-weight: 600;

    color: var(--nr-text-primary, #1e293b);

    margin-bottom: 20px;

    padding-bottom: 12px;

    border-bottom: 1px solid var(--nr-border, #e2e8f0);

}



.nr-property-description { font-size: 15px; line-height: 1.7; color: var(--nr-text-secondary, #475569); }



.nr-overview-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }

.nr-overview-item { padding: 16px; background: var(--nr-bg-secondary, #f1f5f9); border-radius: 10px; }

.nr-overview-wide { grid-column: span 2; }

.nr-overview-label { display: block; font-size: 12px; color: var(--nr-text-muted, #94a3b8); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }

.nr-overview-value { font-size: 15px; font-weight: 500; color: var(--nr-text-primary, #1e293b); }

.nr-mono { font-family: 'JetBrains Mono', monospace; font-size: 13px; }



.nr-details-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }

.nr-detail-item { display: flex; justify-content: space-between; padding: 12px 16px; background: var(--nr-bg-secondary, #f1f5f9); border-radius: 8px; }

.nr-detail-label { font-size: 14px; color: var(--nr-text-secondary, #475569); }

.nr-detail-value { font-size: 14px; font-weight: 600; color: var(--nr-text-primary, #1e293b); }



.nr-owner-info { display: flex; flex-direction: column; gap: 4px; }

.nr-owner-name { font-size: 16px; font-weight: 600; color: var(--nr-text-primary, #1e293b); }

.nr-co-owner { font-size: 14px; color: var(--nr-text-secondary, #475569); }



.nr-transparency-box { display: flex; gap: 24px; align-items: flex-start; }



.nr-claims-count {

    display: flex;

    flex-direction: column;

    align-items: center;

    padding: 20px 30px;

    background: linear-gradient(135deg, var(--nr-primary, #0d7377), var(--nr-primary-dark, #095557));

    border-radius: 12px;

    color: white;

    flex-shrink: 0;

}



.nr-claims-number { font-size: 36px; font-weight: 700; }

.nr-claims-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; opacity: 0.9; }

.nr-transparency-desc { font-size: 14px; line-height: 1.6; color: var(--nr-text-secondary, #475569); }



.nr-photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }



.nr-photo-item {

    position: relative;

    aspect-ratio: 4/3;

    border-radius: 12px;

    overflow: hidden;

    cursor: pointer;

}



.nr-photo-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }

.nr-photo-item:hover img { transform: scale(1.05); }



.nr-photo-type-badge {

    position: absolute;

    bottom: 8px;

    left: 8px;

    padding: 4px 10px;

    background: rgba(0,0,0,0.7);

    color: white;

    border-radius: 4px;

    font-size: 11px;

    font-weight: 500;

}



.nr-sales-timeline { display: flex; flex-direction: column; gap: 16px; }



.nr-sale-item {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 20px;

    background: var(--nr-bg-secondary, #f1f5f9);

    border-radius: 12px;

    border-left: 4px solid var(--nr-primary, #0d7377);

}



.nr-sale-price { font-size: 24px; font-weight: 700; color: var(--nr-text-primary, #1e293b); }

.nr-sale-meta { text-align: right; }

.nr-sale-date { display: block; font-size: 14px; font-weight: 500; color: var(--nr-text-primary, #1e293b); }



.nr-values-breakdown { display: flex; flex-direction: column; gap: 8px; }



.nr-value-row {

    display: flex;

    justify-content: space-between;

    padding: 16px 20px;

    background: var(--nr-bg-secondary, #f1f5f9);

    border-radius: 10px;

}



.nr-value-row.nr-value-total {

    background: linear-gradient(135deg, var(--nr-primary, #0d7377), var(--nr-primary-dark, #095557));

    color: white;

}



.nr-value-row.nr-value-total .nr-value-label,

.nr-value-row.nr-value-total .nr-value-amount { color: white; }



.nr-value-label { font-size: 14px; color: var(--nr-text-secondary, #475569); }

.nr-value-amount { font-size: 16px; font-weight: 700; color: var(--nr-text-primary, #1e293b); }



.nr-estimates-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }



.nr-estimate-card {

    padding: 20px;

    background: var(--nr-bg-secondary, #f1f5f9);

    border-radius: 12px;

    text-align: center;

}



.nr-estimate-source { font-size: 12px; font-weight: 600; color: var(--nr-text-muted, #94a3b8); text-transform: uppercase; margin-bottom: 8px; }

.nr-estimate-value { font-size: 24px; font-weight: 700; color: var(--nr-text-primary, #1e293b); }



.nr-map-container { height: 400px; border-radius: 12px; overflow: hidden; margin-bottom: 20px; }



.nr-source-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 8px; }



.nr-source-card { padding: 20px; border-radius: 12px; text-align: center; }

.nr-source-card.tier-1 { background: linear-gradient(135deg, #059669, #047857); color: white; }

.nr-source-card.tier-2 { background: linear-gradient(135deg, #2563eb, #1d4ed8); color: white; }

.nr-source-card.tier-3 { background: linear-gradient(135deg, #7c3aed, #6d28d9); color: white; }



.nr-source-tier { font-size: 11px; font-weight: 600; text-transform: uppercase; margin-bottom: 8px; opacity: 0.9; }

.nr-source-count { font-size: 36px; font-weight: 700; }



.nr-claims-table-wrapper { overflow-x: auto; max-height: 500px; overflow-y: auto; }

.nr-claims-table { width: 100%; border-collapse: collapse; }

.nr-claims-table th, .nr-claims-table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--nr-border, #e2e8f0); }

.nr-claims-table th { font-size: 11px; font-weight: 600; color: var(--nr-text-muted, #94a3b8); text-transform: uppercase; background: var(--nr-bg-secondary, #f1f5f9); position: sticky; top: 0; }

.nr-claims-table td { font-size: 13px; color: var(--nr-text-primary, #1e293b); }

.nr-claims-table td:first-child { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--nr-text-secondary, #475569); }



.nr-tier-badge { display: inline-block; padding: 4px 10px; border-radius: 4px; font-size: 10px; font-weight: 600; text-transform: uppercase; }

.nr-tier-badge.tier-1 { background: #d1fae5; color: #065f46; }

.nr-tier-badge.tier-2 { background: #dbeafe; color: #1e40af; }

.nr-tier-badge.tier-3 { background: #ede9fe; color: #5b21b6; }



.nr-property-sidebar { display: flex; flex-direction: column; gap: 16px; }



.nr-sidebar-card {

    background: var(--nr-bg-card, #fff);

    border-radius: var(--nr-radius-lg, 16px);

    overflow: hidden;

    box-shadow: 0 1px 3px rgba(0,0,0,0.08);

}



.nr-sidebar-card-header {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 16px 20px;

    background: var(--nr-bg-secondary, #f1f5f9);

    border-bottom: 1px solid var(--nr-border, #e2e8f0);

}



.nr-sidebar-card-header h3 { font-size: 14px; font-weight: 600; color: var(--nr-text-primary, #1e293b); margin: 0; display: flex; align-items: center; gap: 8px; }

.nr-sidebar-card-body { padding: 16px 20px; }

.nr-sidebar-actions { display: flex; gap: 8px; }



.nr-action-btn {

    flex: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    padding: 10px;

    background: var(--nr-bg-secondary, #f1f5f9);

    border: 1px solid var(--nr-border, #e2e8f0);

    border-radius: 8px;

    font-size: 12px;

    font-weight: 500;

    color: var(--nr-text-secondary, #475569);

    cursor: pointer;

    transition: all 0.2s;

}



.nr-action-btn:hover { background: var(--nr-border, #e2e8f0); color: var(--nr-text-primary, #1e293b); }



.nr-sidebar-services { display: flex; flex-direction: column; gap: 4px; }



.nr-service-link {

    display: flex;

    align-items: center;

    gap: 10px;

    padding: 10px 12px;

    border-radius: 8px;

    font-size: 13px;

    color: var(--nr-text-secondary, #475569);

    text-decoration: none;

    transition: all 0.2s;

}



.nr-service-link:hover { background: var(--nr-bg-secondary, #f1f5f9); color: var(--nr-primary, #0d7377); }



.nr-btn {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    padding: 12px 20px;

    border-radius: 8px;

    font-size: 14px;

    font-weight: 600;

    text-decoration: none;

    cursor: pointer;

    border: none;

    transition: all 0.2s;

}



.nr-btn-primary { background: var(--nr-primary, #0d7377); color: white; }

.nr-btn-primary:hover { background: var(--nr-primary-dark, #095557); }

.nr-btn-secondary { background: var(--nr-bg-secondary, #f1f5f9); color: var(--nr-text-primary, #1e293b); border: 1px solid var(--nr-border, #e2e8f0); }

.nr-btn-secondary:hover { background: var(--nr-border, #e2e8f0); }

.nr-btn-block { width: 100%; }



.nr-empty-state {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    padding: 60px 20px;

    text-align: center;

    color: var(--nr-text-muted, #94a3b8);

}



.nr-empty-state h3 { font-size: 18px; font-weight: 600; color: var(--nr-text-primary, #1e293b); margin: 16px 0 8px; }



.nr-lightbox {

    display: none;

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background: rgba(0,0,0,0.95);

    z-index: 9999;

    align-items: center;

    justify-content: center;

}



.nr-lightbox.active { display: flex; }

.nr-lightbox img { max-width: 90%; max-height: 85vh; object-fit: contain; border-radius: 8px; }



.nr-lightbox-close {

    position: absolute;

    top: 20px;

    right: 20px;

    width: 44px;

    height: 44px;

    background: rgba(255,255,255,0.1);

    border: none;

    border-radius: 50%;

    color: white;

    font-size: 28px;

    cursor: pointer;

}



.nr-lightbox-close:hover { background: rgba(255,255,255,0.2); }



.nr-lightbox-nav {

    position: absolute;

    top: 50%;

    transform: translateY(-50%);

    width: 50px;

    height: 50px;

    background: rgba(255,255,255,0.1);

    border: none;

    border-radius: 50%;

    color: white;

    font-size: 32px;

    cursor: pointer;

}



.nr-lightbox-nav:hover { background: rgba(255,255,255,0.2); }

.nr-lightbox-prev { left: 20px; }

.nr-lightbox-next { right: 20px; }



@media (max-width: 1200px) {

    .nr-property-layout { grid-template-columns: 1fr; }

    .nr-property-sidebar { display: grid; grid-template-columns: repeat(2, 1fr); }

}



@media (max-width: 900px) {

    .nr-property-hero { grid-template-columns: 1fr; }

    .nr-hero-gallery { min-height: 300px; }

    .nr-hero-info-panel { border-left: none; border-top: 1px solid var(--nr-border, #e2e8f0); }

    .nr-source-summary, .nr-estimates-grid { grid-template-columns: 1fr; }

    .nr-photo-grid { grid-template-columns: repeat(2, 1fr); }

}



@media (max-width: 600px) {

    .nr-property-sidebar { grid-template-columns: 1fr; }

    .nr-overview-grid, .nr-details-grid { grid-template-columns: 1fr; }

    .nr-overview-wide { grid-column: span 1; }

    .nr-photo-grid { grid-template-columns: 1fr; }

    .nr-transparency-box { flex-direction: column; }

    .nr-claims-count { width: 100%; }

}




/* Container width fix - match header/footer */

.nr-property-page {

    max-width: 1400px;

    margin: 0 auto;

    padding: 0 24px;

}




/* Container width fix - match header/footer */

.nr-property-page {

    max-width: 1400px;

    margin: 0 auto;

    padding: 0 24px;

}




/* PROPERTY PRIVACY NOTICE */

.nr-privacy-page {

    flex: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 40px 20px;

    min-height: 60vh;

}

.nr-privacy-container {

    max-width: 600px;

    width: 100%;

}

.nr-privacy-card {

    background: #FFFFFF;

    border-radius: 24px;

    box-shadow: 0 20px 25px -5px rgba(28, 25, 23, 0.1);

    overflow: hidden;

}

.nr-privacy-header {

    background: linear-gradient(135deg, #1B4D3E 0%, #2A6B54 100%);

    padding: 32px 40px;

    text-align: center;

}

.nr-privacy-icon {

    width: 72px;

    height: 72px;

    background: rgba(255, 255, 255, 0.15);

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 20px;

}

.nr-privacy-icon svg {

    width: 36px;

    height: 36px;

    fill: white;

}

.nr-privacy-title {

    color: white;

    font-size: 24px;

    font-weight: 700;

    margin: 0;

}

.nr-privacy-body {

    padding: 40px;

}

.nr-privacy-intro {

    font-size: 15px;

    line-height: 1.7;

    color: #57534E;

    margin-bottom: 24px;

    padding-bottom: 24px;

    border-bottom: 1px solid #E7E5E4;

}

.nr-privacy-message {

    background: #F5F5F4;

    border-radius: 10px;

    padding: 24px;

    margin-bottom: 24px;

}

.nr-privacy-message-header {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 12px;

}

.nr-privacy-message-header svg {

    width: 24px;

    height: 24px;

    fill: #1B4D3E;

    flex-shrink: 0;

}

.nr-privacy-message-header span {

    font-weight: 600;

    color: #1B4D3E;

    font-size: 14px;

    text-transform: uppercase;

    letter-spacing: 0.5px;

}

.nr-privacy-message p {

    font-size: 16px;

    line-height: 1.6;

    color: #1C1917;

    margin: 0;

}

.nr-privacy-thanks {

    font-size: 15px;

    color: #57534E;

    font-style: italic;

    margin-bottom: 32px;

}

.nr-privacy-signature {

    display: flex;

    align-items: center;

    gap: 16px;

    padding-top: 24px;

    border-top: 1px solid #E7E5E4;

}

.nr-privacy-signature-logo {

    width: 48px;

    height: 48px;

    background: #1B4D3E;

    border-radius: 10px;

    display: flex;

    align-items: center;

    justify-content: center;

}

.nr-privacy-signature-logo svg {

    width: 28px;

    height: 28px;

    fill: white;

}

.nr-privacy-signature-text {

    font-weight: 600;

    color: #1C1917;

    font-size: 16px;

}

.nr-privacy-actions {

    display: flex;

    gap: 12px;

    margin-top: 32px;

}

.nr-privacy-actions .nr-btn {

    flex: 1;

}

.nr-privacy-footer {

    text-align: center;

    padding: 24px;

    color: #A8A29E;

    font-size: 13px;

}

.nr-privacy-footer a {

    color: #1B4D3E;

    text-decoration: none;

}

.nr-privacy-footer a:hover {

    text-decoration: underline;

}

.nr-privacy-connections .nr-privacy-header {

    background: linear-gradient(135deg, #2563EB 0%, #3B82F6 100%);

}

.nr-privacy-connections .nr-privacy-message-header svg {

    fill: #2563EB;

}

.nr-privacy-connections .nr-privacy-message-header span {

    color: #2563EB;

}

.nr-privacy-connections .nr-btn-connect {

    background: #2563EB;

}

.nr-privacy-connections .nr-btn-connect:hover {

    background: #1D4ED8;

}




/* =========================================

   OWNERSHIP BANNER

   ========================================= */

.nr-ownership-banner {

    margin: 0 0 1rem 0;

    border-radius: 8px;

    overflow: hidden;

}



/* Verified Owner Banner */

.nr-ownership-verified {

    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);

    border: 1px solid #86efac;

    padding: 0.75rem 1rem;

}



.nr-ownership-verified .nr-ownership-content {

    display: flex;

    align-items: center;

    gap: 0.75rem;

}



.nr-ownership-verified .nr-ownership-icon {

    flex-shrink: 0;

}



.nr-ownership-verified .nr-ownership-text {

    flex: 1;

    display: flex;

    flex-direction: column;

    gap: 0.125rem;

}



.nr-ownership-verified .nr-ownership-label {

    font-size: 0.75rem;

    font-weight: 600;

    color: #166534;

    text-transform: uppercase;

    letter-spacing: 0.025em;

}



.nr-ownership-verified .nr-ownership-link {

    font-size: 0.9375rem;

    font-weight: 500;

    color: #15803d;

    text-decoration: none;

}



.nr-ownership-verified .nr-ownership-link:hover {

    text-decoration: underline;

}



.nr-ownership-verified .nr-ownership-you {

    font-size: 0.9375rem;

    font-weight: 500;

    color: #166534;

}



.nr-ownership-verified .nr-ownership-private {

    font-size: 0.875rem;

    color: #4b5563;

    font-style: italic;

}



/* Unclaimed Property Banner */

.nr-ownership-unclaimed {

    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);

    border: 1px solid #fcd34d;

}



.nr-ownership-header {

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0.75rem 1rem;

    background: none;

    border: none;

    cursor: pointer;

    text-align: left;

    font-family: inherit;

}



.nr-ownership-header:hover {

    background: rgba(0,0,0,0.02);

}



.nr-ownership-header-content {

    display: flex;

    align-items: center;

    gap: 0.75rem;

}



.nr-ownership-headline {

    font-size: 0.9375rem;

    font-weight: 500;

    color: #92400e;

}



.nr-ownership-toggle {

    transition: transform 0.2s ease;

    color: #92400e;

}



.nr-ownership-unclaimed.expanded .nr-ownership-toggle {

    transform: rotate(180deg);

}



.nr-ownership-details {

    display: none;

    padding: 0 1.5rem 1.5rem 1.5rem;

    border-top: 1px solid rgba(0,0,0,0.05);

}



.nr-ownership-unclaimed.expanded .nr-ownership-details {

    display: block;

}



.nr-ownership-philosophy {

    margin-bottom: 1.25rem;

    padding-top: 1rem;

}



.nr-ownership-philosophy h3 {

    font-size: 1.25rem;

    font-weight: 700;

    color: #78350f;

    margin: 0 0 0.75rem 0;

}



.nr-ownership-philosophy p {

    font-size: 0.9375rem;

    color: #451a03;

    line-height: 1.5;

    margin: 0 0 0.5rem 0;

}



.nr-ownership-benefits {

    margin-bottom: 1.25rem;

}



.nr-ownership-benefits ul {

    list-style: none;

    padding: 0;

    margin: 0;

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

    gap: 0.5rem;

}



.nr-ownership-benefits li {

    display: flex;

    align-items: center;

    gap: 0.5rem;

    font-size: 0.875rem;

    color: #451a03;

}



.nr-ownership-actions {

    display: flex;

    gap: 0.75rem;

    flex-wrap: wrap;

}



.nr-ownership-actions .nr-btn-primary {

    background: #d97706;

    border-color: #d97706;

    color: #fff;

    padding: 0.625rem 1.25rem;

    border-radius: 6px;

    font-weight: 500;

    text-decoration: none;

    display: inline-block;

}



.nr-ownership-actions .nr-btn-primary:hover {

    background: #b45309;

    border-color: #b45309;

}



.nr-ownership-actions .nr-btn-secondary {

    background: transparent;

    border: 1px solid #d97706;

    color: #92400e;

    padding: 0.625rem 1.25rem;

    border-radius: 6px;

    font-weight: 500;

    text-decoration: none;

    display: inline-block;

}



.nr-ownership-actions .nr-btn-secondary:hover {

    background: rgba(217, 119, 6, 0.1);

}



@media (max-width: 640px) {

    .nr-ownership-benefits ul {

        grid-template-columns: 1fr;

    }

    

    .nr-ownership-actions {

        flex-direction: column;

    }

    

    .nr-ownership-actions .nr-btn-primary,

    .nr-ownership-actions .nr-btn-secondary {

        width: 100%;

        text-align: center;

    }

}




/* Ownership header text layout */

.nr-ownership-header-text {

    display: flex;

    flex-direction: column;

    gap: 0.125rem;

}



.nr-ownership-subline {

    font-size: 0.8125rem;

    color: #a16207;

    font-weight: 400;

}




/* ============================================



/* ============================================

   MARKETING ADDRESS - BADGE + MODAL (nr-maddr)

   ============================================ */

.nr-marketing-badge {

    display: inline-flex;

    align-items: center;

    gap: 4px;

    font-size: 0.45em;

    font-weight: 600;

    color: #0d7377;

    background: #e6f4f4;

    border: 1px solid #0d7377;

    border-radius: 4px;

    padding: 3px 10px;

    vertical-align: middle;

    cursor: pointer;

    position: relative;

    top: -4px;

    transition: background 0.2s;

}

.nr-marketing-badge:hover {

    background: #ccecec;

}

.nr-pa-address {

    font-size: 0.85rem;

    color: #6b7280;

    margin-top: 2px;

}

.nr-pa-label {

    font-weight: 600;

    color: #9ca3af;

    text-transform: uppercase;

    font-size: 0.75rem;

    letter-spacing: 0.05em;

}

.nr-maddr-overlay {

    display: none;

    position: fixed;

    top: 0;

    left: 0;

    right: 0;

    bottom: 0;

    background: rgba(0,0,0,0.6);

    z-index: 99999;

    justify-content: center;

    align-items: center;

}

.nr-maddr-overlay.active {

    display: flex;

}

.nr-maddr-card {

    background: #fff;

    border-radius: 12px;

    width: 90vw;

    height: 90vh;

    display: flex;

    flex-direction: row;

    overflow: hidden;

    position: relative;

    box-shadow: 0 8px 40px rgba(0,0,0,0.25);

}

.nr-maddr-close {

    position: absolute;

    top: 20px;

    right: 20px;

    background: #fff;

    border: 1px solid #d1d5db;

    font-size: 22px;

    color: #6b7280;

    cursor: pointer;

    z-index: 100000;

    width: 36px;

    height: 36px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    box-shadow: 0 2px 8px rgba(0,0,0,0.15);

}

.nr-maddr-close:hover {

    color: #111827;

    background: #f3f4f6;

}

.nr-maddr-content {

    width: 45%;

    min-width: 45%;

    padding: 40px 44px;

    overflow-y: auto;

    box-sizing: border-box;

}

.nr-maddr-content h3 {

    font-size: 1.5rem;

    color: #111827;

    margin: 0 0 28px 0;

}

.nr-maddr-addresses {

    display: flex;

    flex-direction: column;

    gap: 10px;

    margin-bottom: 28px;

    padding: 16px 20px;

    background: #f9fafb;

    border-radius: 8px;

    border: 1px solid #e5e7eb;

}

.nr-maddr-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

}

.nr-maddr-label {

    font-size: 0.75rem;

    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.05em;

    color: #9ca3af;

}

.nr-maddr-marketing .nr-maddr-label {

    color: #0d7377;

}

.nr-maddr-marketing .nr-maddr-value {

    font-weight: 700;

    color: #111827;

    font-size: 1.15rem;

}

.nr-maddr-pa .nr-maddr-value {

    color: #6b7280;

}

.nr-maddr-content p {

    font-size: 0.95rem;

    line-height: 1.7;

    color: #374151;

    margin: 0 0 14px 0;

}

.nr-maddr-reasons {

    list-style: none;

    padding: 0;

    margin: 0 0 20px 0;

}

.nr-maddr-reasons li {

    padding: 8px 0 8px 24px;

    position: relative;

    font-size: 0.95rem;

    color: #374151;

    line-height: 1.5;

}

.nr-maddr-reasons li::before {

    content: "";

    position: absolute;

    left: 0;

    top: 14px;

    width: 8px;

    height: 8px;

    background: #0d7377;

    border-radius: 50%;

}

.nr-maddr-reasons li strong {

    color: #111827;

}

.nr-maddr-brand {

    color: #0d7377;

    font-weight: 600;

    font-style: italic;

    border-top: 1px solid #e5e7eb;

    padding-top: 16px;

    margin-top: 12px;

}

.nr-maddr-map {

    width: 55%;

    min-width: 55%;

    height: 100%;

    padding: 20px;

    box-sizing: border-box;

}

.nr-maddr-map #nr-maddr-map {

    width: 100%;

    height: 100%;

    border-radius: 10px;

    overflow: hidden;

}




/* ================================================

   MANAGEMENT TAB - Bridge/Relationship Cards

   Added 2026-02-26

   ================================================ */



.nr-management-subtitle {

    color: var(--text-2, #8899aa);

    font-size: 0.9rem;

    margin-bottom: 1.5rem;

    line-height: 1.5;

}



.nr-hierarchy-notice {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 10px 16px;

    background: var(--surface-2, rgba(255,255,255,0.04));

    border-radius: 8px;

    font-size: 0.85rem;

    color: var(--text-2, #8899aa);

    margin-bottom: 12px;

    border-left: 3px solid var(--accent, #5b8af5);

}

.nr-hierarchy-notice a {

    color: var(--accent, #5b8af5);

    text-decoration: none;

    font-weight: 600;

}

.nr-hierarchy-notice a:hover { text-decoration: underline; }

.nr-hierarchy-children { border-left-color: var(--success, #4ade80); }



.nr-bridges-grid {

    display: flex;

    flex-direction: column;

    gap: 16px;

    margin-top: 1rem;

}



.nr-bridge-card {

    background: var(--surface-2, rgba(255,255,255,0.03));

    border: 1px solid var(--border, rgba(255,255,255,0.08));

    border-radius: 12px;

    padding: 20px;

    transition: border-color 0.2s;

}

.nr-bridge-card:hover {

    border-color: var(--accent, #5b8af5);

}



.nr-bridge-type-badge {

    display: inline-block;

    padding: 4px 12px;

    border-radius: 20px;

    font-size: 0.75rem;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.05em;

    margin-bottom: 14px;

}

.nr-bridge-broker_agent .nr-bridge-type-badge {

    background: rgba(91,138,245,0.15);

    color: #5b8af5;

}

.nr-bridge-landlord_tenant .nr-bridge-type-badge {

    background: rgba(245,158,11,0.15);

    color: #f59e0b;

}

.nr-bridge-owner_property_manager .nr-bridge-type-badge {

    background: rgba(74,222,128,0.15);

    color: #4ade80;

}

.nr-bridge-agent_team_member .nr-bridge-type-badge {

    background: rgba(168,85,247,0.15);

    color: #a855f7;

}



.nr-bridge-parties {

    display: flex;

    align-items: center;

    gap: 16px;

}



.nr-bridge-person {

    flex: 1;

    display: flex;

    align-items: flex-start;

    gap: 12px;

}



.nr-bridge-avatar {

    width: 42px;

    height: 42px;

    border-radius: 50%;

    background: var(--accent, #5b8af5);

    color: #fff;

    display: flex;

    align-items: center;

    justify-content: center;

    font-weight: 700;

    font-size: 0.95rem;

    flex-shrink: 0;

}



.nr-bridge-person-info {

    display: flex;

    flex-direction: column;

    gap: 2px;

    min-width: 0;

}



.nr-bridge-name {

    color: var(--text-1, #e8edf3);

    font-weight: 600;

    font-size: 0.95rem;

    text-decoration: none;

}

.nr-bridge-name:hover { color: var(--accent, #5b8af5); }



.nr-bridge-une {

    color: var(--text-3, #556677);

    font-size: 0.8rem;

    font-family: 'JetBrains Mono', monospace;

}



.nr-bridge-entity {

    color: var(--text-2, #8899aa);

    font-size: 0.8rem;

    font-weight: 500;

}



.nr-bridge-license {

    color: var(--accent, #5b8af5);

    font-size: 0.75rem;

    font-family: 'JetBrains Mono', monospace;

}



.nr-bridge-designations {

    color: var(--warning, #f59e0b);

    font-size: 0.75rem;

    font-weight: 600;

}



.nr-bridge-connector {

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 36px;

    height: 36px;

    border-radius: 50%;

    background: var(--surface-3, rgba(255,255,255,0.06));

    color: var(--text-2, #8899aa);

}



.nr-bridge-meta {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 14px;

    padding-top: 12px;

    border-top: 1px solid var(--border, rgba(255,255,255,0.06));

}

.nr-bridge-meta span {

    font-size: 0.78rem;

    color: var(--text-2, #8899aa);

    display: flex;

    align-items: center;

    gap: 4px;

}



.nr-bridge-agreement {

    background: var(--surface-3, rgba(255,255,255,0.06));

    padding: 3px 10px;

    border-radius: 4px;

}



.nr-bridge-verified {

    color: var(--success, #4ade80) !important;

    font-weight: 600;

}



.nr-bridge-trust-note {

    display: flex;

    align-items: flex-start;

    gap: 10px;

    margin-top: 1.5rem;

    padding: 14px 18px;

    background: var(--surface-2, rgba(255,255,255,0.03));

    border-radius: 8px;

    font-size: 0.82rem;

    color: var(--text-3, #556677);

    line-height: 1.5;

    border: 1px solid var(--border, rgba(255,255,255,0.06));

}



@media (max-width: 768px) {

    .nr-bridge-parties {

        flex-direction: column;

        gap: 12px;

    }

    .nr-bridge-connector {

        transform: rotate(90deg);

    }

}




/* ================================================================

   NEURAMAP SITE PLAN — Cape Business Park & Multi-Building Properties

   ================================================================ */

.nm-container {

    display: flex;

    flex-direction: column;

    border-radius: var(--nr-radius-lg, 16px);

    overflow: hidden;

    border: 1px solid var(--nr-border, #E7E5E4);

    background: var(--nr-bg-card, #fff);

}

.nm-map-area {

    position: relative;

    padding: 24px;

    background: var(--nr-bg-secondary, #F5F5F4);

}

.nm-map-area svg { width: 100%; height: auto; display: block; }



/* SVG Building interactivity */

.nm-bldg { cursor: pointer; }

.nm-bldg:hover rect { stroke-width: 2.5 !important; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.12)); }

.nm-bldg.nm-selected rect {

    stroke: var(--nr-primary, #1B4D3E) !important;

    stroke-width: 2.5 !important;

    fill: rgba(27,77,62,0.1) !important;

}



/* Side Panel - horizontal below map */

.nm-panel {

    padding: 24px;

    border-top: 1px solid var(--nr-border, #E7E5E4);

    background: var(--nr-bg-card, #fff);

    display: grid;

    grid-template-columns: 280px 1fr 1fr;

    gap: 24px;

    align-items: start;

}

.nm-panel-header { margin-bottom: 0; }

.nm-panel-title {

    font-size: 1.15rem;

    font-weight: 700;

    color: var(--nr-text-primary, #1C1917);

}

.nm-panel-subtitle {

    font-size: 0.85rem;

    color: var(--nr-text-secondary, #57534E);

    margin-top: 2px;

}

.nm-panel-neuralid {

    font-family: 'JetBrains Mono', monospace;

    font-size: 0.75rem;

    color: var(--nr-primary, #1B4D3E);

    margin-top: 4px;

    opacity: 0.7;

}



/* Stats Grid */

.nm-stats {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;

    margin-bottom: 20px;

}

.nm-stat {

    background: var(--nr-bg-secondary, #F5F5F4);

    border-radius: 10px;

    padding: 14px;

    text-align: center;

}

.nm-stat-value {

    font-size: 1.4rem;

    font-weight: 700;

    color: var(--nr-primary, #1B4D3E);

}

.nm-stat-label {

    font-size: 0.7rem;

    color: var(--nr-text-muted, #A8A29E);

    text-transform: uppercase;

    letter-spacing: 0.5px;

    margin-top: 2px;

}



/* Section Headers */

.nm-section-label {

    font-size: 0.7rem;

    color: var(--nr-text-muted, #A8A29E);

    text-transform: uppercase;

    letter-spacing: 1px;

    margin-bottom: 8px;

    font-weight: 600;

}



/* Listing Badge */

.nm-listing-badge {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 10px 14px;

    background: rgba(34,197,94,0.06);

    border: 1px solid rgba(34,197,94,0.2);

    border-radius: 10px;

    margin-bottom: 16px;

}

.nm-listing-dot {

    width: 7px; height: 7px;

    border-radius: 50%;

    background: var(--nr-success, #22C55E);

    animation: nmPulse 2s infinite;

}

.nm-listing-text { font-size: 0.82rem; color: #166534; font-weight: 600; }

@keyframes nmPulse { 0%,100%{opacity:1;} 50%{opacity:0.4;} }



/* Owner Card */

.nm-owner-card {

    padding: 10px 14px;

    background: var(--nr-bg-secondary, #F5F5F4);

    border-radius: 10px;

    font-size: 0.88rem;

    font-weight: 600;

    color: var(--nr-text-primary, #1C1917);

}



/* Management Person */

.nm-person {

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 10px 0;

    border-bottom: 1px solid var(--nr-border, #E7E5E4);

}

.nm-avatar {

    width: 38px; height: 38px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    font-weight: 700;

    font-size: 0.8rem;

    flex-shrink: 0;

}

.nm-avatar-broker { background: rgba(27,77,62,0.08); color: var(--nr-primary, #1B4D3E); }

.nm-avatar-manager { background: rgba(34,197,94,0.08); color: var(--nr-success, #22C55E); }

.nm-person-name { font-size: 0.88rem; font-weight: 600; color: var(--nr-text-primary, #1C1917); }

.nm-person-role-broker { font-size: 0.75rem; color: var(--nr-primary, #1B4D3E); font-weight: 600; }

.nm-person-role-manager { font-size: 0.75rem; color: var(--nr-success, #22C55E); font-weight: 600; }

.nm-person-meta {

    font-size: 0.7rem;

    color: var(--nr-text-muted, #A8A29E);

    font-family: 'JetBrains Mono', monospace;

}



/* Hierarchy */

.nm-h-master {

    display: flex; align-items: center; gap: 8px;

    padding: 8px 10px; border-radius: 8px; margin-bottom: 3px;

    background: rgba(27,77,62,0.06);

}

.nm-h-sub {

    display: flex; align-items: center; gap: 8px;

    padding: 8px 10px 8px 28px; border-radius: 8px; margin-bottom: 3px;

    background: rgba(34,197,94,0.04);

}

.nm-h-icon {

    width: 20px; height: 20px; border-radius: 4px;

    display: flex; align-items: center; justify-content: center;

    font-size: 9px; font-weight: 700; color: #fff;

}

.nm-h-icon-master { background: var(--nr-primary, #1B4D3E); }

.nm-h-icon-sub { background: #22C55E; }

.nm-h-icon-bldg {

    background: var(--nr-bg-tertiary, #E7E5E4);

    color: var(--nr-text-secondary, #57534E);

}

.nm-h-label { flex: 1; font-size: 0.82rem; font-weight: 600; color: var(--nr-text-primary, #1C1917); }

.nm-h-label-bldg { flex: 1; font-size: 0.78rem; color: var(--nr-text-secondary, #57534E); }

.nm-h-count { font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; color: var(--nr-text-muted); }



.nm-h-bldg {

    display: flex; align-items: center; gap: 8px;

    padding: 7px 10px; border-radius: 8px; cursor: pointer; margin-bottom: 2px;

    transition: background 0.15s;

}

.nm-h-bldg:hover { background: var(--nr-bg-secondary, #F5F5F4); }

.nm-h-bldg.nm-active { background: var(--nr-bg-secondary, #F5F5F4) !important; }

.nm-h-bldg-indent { padding-left: 46px; }



.nm-tenant-badge {

    font-size: 0.65rem; color: #92400E; font-weight: 600;

    background: rgba(245,158,11,0.1); padding: 1px 6px; border-radius: 8px;

}



/* Building Detail (JS) */

.nm-detail-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));

    gap: 8px;

}

.nm-unit-chip {

    padding: 10px;

    background: var(--nr-bg-secondary, #F5F5F4);

    border: 1px solid var(--nr-border, #E7E5E4);

    border-radius: 8px;

}

.nm-unit-chip-occupied {

    background: rgba(245,158,11,0.08);

    border-color: rgba(245,158,11,0.25);

}

.nm-unit-letter { font-size: 0.82rem; font-weight: 600; color: var(--nr-text-primary, #1C1917); }

.nm-unit-tenant { font-size: 0.65rem; color: #92400E; font-weight: 500; margin-top: 3px; }

.nm-detail-addr {

    font-size: 0.72rem; color: var(--nr-text-muted, #A8A29E);

    font-family: 'JetBrains Mono', monospace; margin-bottom: 10px;

}



/* Data Source Tags */

.nm-source-tags { display: flex; gap: 6px; flex-wrap: wrap; }

.nm-tag {

    font-size: 0.7rem; padding: 4px 10px; border-radius: 12px; font-weight: 500;

}

.nm-tag-ssot { background: rgba(27,77,62,0.06); color: var(--nr-primary, #1B4D3E); }

.nm-tag-bridges { background: rgba(34,197,94,0.06); color: #166534; }

.nm-tag-neuramap { background: var(--nr-bg-secondary, #F5F5F4); color: var(--nr-text-muted, #A8A29E); }



/* Legend */

.nm-legend {

    position: absolute; bottom: 14px; left: 14px;

    display: flex; gap: 16px;

    font-size: 11px; color: #57534E; font-family: 'DM Sans', sans-serif;

}

.nm-legend-item { display: flex; align-items: center; gap: 5px; }

.nm-legend-swatch {

    width: 12px; height: 12px; border-radius: 3px;

}

.nm-legend-swatch-sub { background: #E8F5E9; border: 1.5px solid #4CAF50; }

.nm-legend-swatch-master { background: #E3F2FD; border: 1.5px solid var(--nr-primary, #1B4D3E); }

.nm-legend-swatch-tenant { width: 10px; height: 10px; border-radius: 50%; background: #F59E0B; }



/* Compass */

.nm-compass { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; }



/* SVG Road/Parcel colors for light theme */

.nm-road { fill: #E7E5E4; }

.nm-road-line { stroke: #D4A574; stroke-width: 1.5; stroke-dasharray: 10 6; }

.nm-road-label { font-family: 'DM Sans', sans-serif; fill: #57534E; font-weight: 600; letter-spacing: 2px; }

.nm-road-label-minor { font-family: 'DM Sans', sans-serif; fill: #A8A29E; letter-spacing: 1px; }

.nm-parcel-boundary {

    fill: none; stroke: var(--nr-primary, #1B4D3E); stroke-width: 1.5;

    stroke-dasharray: 8 4; opacity: 0.3;

}

.nm-drive-aisle { fill: #E7E5E4; }

.nm-drive-label { font-family: 'DM Sans', sans-serif; fill: #A8A29E; letter-spacing: 0.5px; }

.nm-sub-outline { fill: rgba(34,197,94,0.04); stroke: #22C55E; stroke-width: 1; stroke-dasharray: 4 3; }

.nm-sub-label { font-family: 'JetBrains Mono', monospace; fill: #22C55E; font-weight: 500; }

.nm-bldg-fill-sub { fill: #E8F5E9; stroke: #4CAF50; stroke-width: 1.5; }

.nm-bldg-fill-master { fill: #E3F2FD; stroke: var(--nr-primary, #1B4D3E); stroke-width: 1.5; }

.nm-bldg-label { font-family: 'DM Sans', sans-serif; fill: #1C1917; font-weight: 700; }

.nm-bldg-sublabel { font-family: 'DM Sans', sans-serif; fill: #57534E; }

.nm-unit-divider { stroke: rgba(0,0,0,0.08); stroke-width: 0.5; }

.nm-tenant-dot { fill: #F59E0B; stroke: #fff; stroke-width: 1; }

.nm-tenant-label-svg { font-family: 'DM Sans', sans-serif; fill: #92400E; font-weight: 700; }

.nm-master-label { font-family: 'DM Sans', sans-serif; fill: #A8A29E; letter-spacing: 1.5px; font-weight: 500; }

.nm-value-box { fill: #fff; stroke: var(--nr-border, #E7E5E4); stroke-width: 1; }

.nm-value-label { font-family: 'DM Sans', sans-serif; fill: #A8A29E; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }

.nm-value-amount { font-family: 'DM Sans', sans-serif; fill: var(--nr-primary, #1B4D3E); font-weight: 700; }

.nm-value-source { font-family: 'JetBrains Mono', monospace; fill: #A8A29E; }

.nm-grid-line { fill: none; stroke: rgba(0,0,0,0.04); stroke-width: 0.5; }



/* Responsive */

@media (max-width: 900px) {

    .nm-panel { grid-template-columns: 1fr; }

    .nm-map-area { padding: 12px; }

}

