/* ==========================================================================
   Property Status Badges
   Shared by the results table/grid (index.html) and the reports page.
   Class names are derived from the status: "Under Offer" -> .status-under-offer
   ========================================================================== */
.status-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.4;
}

.status-for-sale     { background: rgba(99, 102, 241, 0.12); color: #4f46e5; }
.status-new-listing  { background: rgba(16, 185, 129, 0.12); color: #059669; }
.status-reserved     { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.status-under-offer  { background: rgba(249, 115, 22, 0.14); color: #c2410c; }
.status-exclusive    { background: rgba(139, 92, 246, 0.13); color: #7c3aed; }
.status-sold         { background: rgba(239, 68, 68, 0.12);  color: #dc2626; }
.status-delisted     { background: rgba(100, 116, 139, 0.14); color: #475569; }
.status-off-market   { background: rgba(245, 158, 11, 0.18); color: #d97706; font-weight: 700; border: 1px solid rgba(245, 158, 11, 0.35); }
.status-manual       { background: rgba(245, 158, 11, 0.18); color: #d97706; font-weight: 700; border: 1px solid rgba(245, 158, 11, 0.35); }
.status-confidential { background: rgba(245, 158, 11, 0.18); color: #d97706; font-weight: 700; border: 1px solid rgba(245, 158, 11, 0.35); }
.status-unknown      { background: rgba(100, 116, 139, 0.10); color: #64748b; }

/* Scrape run states reuse the same badge shape */
.status-completed    { background: rgba(16, 185, 129, 0.12); color: #059669; }
.status-running      { background: rgba(245, 158, 11, 0.14); color: #b45309; }
.status-failed       { background: rgba(239, 68, 68, 0.12);  color: #dc2626; }
.status-suspect      { background: rgba(249, 115, 22, 0.14); color: #c2410c; }

/* Delisted / sold rows read as de-emphasised in the results table */
tr.row-inactive td { opacity: 0.68; }

/* ==========================================================================
   Property Status Badges
   One coloured pill per canonical SARDO360 status value.
   Generated by statusBadge() in main.js:
     value.toLowerCase().replace(/\s+/g, '-')  →  e.g. "for-sale", "under-offer"
   ========================================================================== */
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.3px;
    white-space: nowrap;
    text-transform: uppercase;
    line-height: 1.4;
}

/* For Sale — neutral blue/slate */
.status-for-sale {
    background: rgba(99, 102, 241, 0.12);
    color: #4338ca;
    border: 1px solid rgba(99, 102, 241, 0.25);
}

/* New Listing — vibrant teal */
.status-new-listing {
    background: rgba(20, 184, 166, 0.12);
    color: #0f766e;
    border: 1px solid rgba(20, 184, 166, 0.3);
}

/* Reserved — amber/gold */
.status-reserved {
    background: rgba(245, 158, 11, 0.12);
    color: #b45309;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

/* Under Offer — orange */
.status-under-offer {
    background: rgba(249, 115, 22, 0.12);
    color: #c2410c;
    border: 1px solid rgba(249, 115, 22, 0.3);
}

/* Sold — red/rose */
.status-sold {
    background: rgba(239, 68, 68, 0.12);
    color: #b91c1c;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

/* Exclusive — deep purple/violet */
.status-exclusive {
    background: rgba(139, 92, 246, 0.12);
    color: #6d28d9;
    border: 1px solid rgba(139, 92, 246, 0.3);
}

/* Delisted — muted grey */
.status-delisted {
    background: rgba(100, 116, 139, 0.1);
    color: #475569;
    border: 1px solid rgba(100, 116, 139, 0.2);
}

/* Unknown — light grey */
.status-unknown {
    background: rgba(148, 163, 184, 0.1);
    color: #64748b;
    border: 1px solid rgba(148, 163, 184, 0.2);
}

/* Off Market — gold */
.status-off-market {
    background: rgba(245, 158, 11, 0.15);
    color: #92400e;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

/* Withdrawn — dark muted */
.status-withdrawn {
    background: rgba(71, 85, 105, 0.1);
    color: #475569;
    border: 1px solid rgba(71, 85, 105, 0.2);
}
