/*
Theme Name: Houzez Child
Description: NEOLIF child theme for Houzez
Author: NEOLIF
Template: houzez
Version: 1.0.8
Text Domain: houzez-child
*/


/* =========================================================
   NEOLIF DASHBOARD
========================================================= */

@media (min-width: 992px) {

    .dashboard-right {
        margin-left: 240px;
        width: calc(100% - 240px);
        max-width: calc(100% - 240px);
        min-width: 0;
        box-sizing: border-box;
    }

    .dashboard-content,
    .houzez-data-content,
    .houzez-data-table {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .houzez-data-table .table-responsive {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        overflow-y: visible;
    }
}


/* =========================================================
   DATABASE CONTENT
========================================================= */

.houzez-data-content {
    padding-left: 12px;
    padding-right: 12px;
}

.houzez-data-table {
    width: 100%;
    max-width: 100%;
    overflow: visible;
}


/* =========================================================
   PROPERTY DATABASE TABLE
========================================================= */

.neolif-property-database-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;

    margin: 0;
}


/* =========================================================
   HEADER
========================================================= */

.neolif-property-database-table > thead > tr > th {
    padding: 11px 5px;

    vertical-align: middle;

    font-size: 10px;
    font-weight: 600;
    line-height: 1.15;

    color: #1E293B;
    background: #FFFFFF;

    white-space: nowrap;

    border-left: 0 !important;
    border-right: 0 !important;
}


/* =========================================================
   ROWS
========================================================= */

.neolif-property-database-table > tbody > tr > td {
    padding: 11px 5px;

    vertical-align: middle;

    font-size: 12px;
    line-height: 1.3;

    background: #FFFFFF;

    border-left: 0 !important;
    border-right: 0 !important;
}

.neolif-property-database-table > tbody > tr:hover > td {
    background: #FAFCFE;
}


/* =========================================================
   COLUMN WIDTHS — 11 COLUMNS / TOTAL 100%
========================================================= */

.neolif-property-database-table .neolif-th-select,
.neolif-property-database-table .neolif-col-select {
    width: 2%;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
}

.neolif-property-database-table .neolif-th-image,
.neolif-property-database-table .neolif-col-image {
    width: 6%;
    text-align: center;
}

.neolif-property-database-table .neolif-th-title,
.neolif-property-database-table .neolif-col-title {
    width: 16%;
}

.neolif-property-database-table .neolif-th-private-status,
.neolif-property-database-table .neolif-col-property-status {
    width: 10%;
}

.neolif-property-database-table .neolif-th-publish-status,
.neolif-property-database-table .neolif-col-publish-status {
    width: 10%;
}

.neolif-property-database-table .neolif-th-rent,
.neolif-property-database-table .neolif-col-price {
    width: 8%;
}

.neolif-property-database-table .neolif-th-location,
.neolif-property-database-table .neolif-col-location {
    width: 10%;
}

.neolif-property-database-table .neolif-th-owner,
.neolif-property-database-table .neolif-col-owner {
    width: 10.5%;
}

.neolif-property-database-table .neolif-th-contract,
.neolif-property-database-table .neolif-col-contract {
    width: 9.5%;
}

.neolif-property-database-table .neolif-th-collaboration,
.neolif-property-database-table .neolif-col-collaboration {
    width: 12%;
}

.neolif-property-database-table .neolif-th-actions,
.neolif-property-database-table .neolif-col-actions {
    width: 6%;
    text-align: center;
}


/* =========================================================
   CHECKBOX
========================================================= */

.neolif-property-database-table .control {
    margin: 0;
}

.neolif-property-database-table .neolif-col-select input[type="checkbox"],
.neolif-property-database-table .neolif-th-select input[type="checkbox"] {
    width: 12px;
    height: 12px;
    margin: 0;
}


/* =========================================================
   IMAGE
========================================================= */

.neolif-property-database-table .neolif-property-image {
    width: 60px;
    max-width: 100%;
    margin: 0 auto;
}

.neolif-property-database-table .image-holder {
    position: relative;

    width: 60px !important;
    min-width: 60px !important;
    height: 48px !important;

    margin: 0 auto;

    overflow: hidden;
    border-radius: 6px;
}

.neolif-property-database-table .image-holder a {
    display: block;
    width: 100%;
    height: 100%;
}

.neolif-property-database-table .image-holder img {
    display: block;

    width: 60px !important;
    height: 48px !important;
    max-width: none !important;

    object-fit: cover;
}


/* =========================================================
   TITLE + PROPERTY TYPE
========================================================= */

.neolif-property-database-table .neolif-col-title {
    min-width: 0;

    padding-left: 16px;
    padding-right: 8px;

    overflow: hidden;
}

.neolif-property-database-table .neolif-th-title {
    padding-left: 16px;
}

.neolif-property-database-table .neolif-property-title {
    display: block;

    width: 100%;
    max-width: 100%;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
}

.neolif-property-database-table .neolif-property-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 3px 7px;

    width: 100%;
    margin-top: 3px;

    color: #64748B;

    font-size: 10px;
    font-weight: 500;
    line-height: 1.2;
}

.neolif-property-database-table .neolif-property-id {
    color: #94A3B8;

    font-size: 10px;
    font-weight: 400;
    line-height: 1.2;
}

.neolif-property-database-table
.neolif-property-meta
.neolif-property-id {
    display: inline;
    width: auto;
    margin-top: 0;
}


/* =========================================================
   STATUS / PUBLICATION COLUMNS
========================================================= */

.neolif-property-database-table .neolif-col-property-status,
.neolif-property-database-table .neolif-col-publish-status {
    min-width: 0;
    overflow: visible;
}


/* =========================================================
   QUICK SELECT — STATUS / PUBLICATION
========================================================= */

.neolif-property-database-table .neolif-quick-select {
    display: inline-block;

    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 30px;

    margin: 0;
    padding: 3px 15px 3px 6px;

    border: 1px solid transparent !important;
    border-radius: 5px !important;

    outline: none !important;

    appearance: auto;
    -webkit-appearance: auto;

    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;

    cursor: pointer;

    box-shadow: none !important;

    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        opacity 0.15s ease;
}


/* =========================================================
   PRIVATE PROPERTY STATUS
========================================================= */

/* ว่าง */
.neolif-property-database-table
.neolif-property-status-edit.status-available {
    background: #22A447;
    color: #FFFFFF;
}

/* มีผู้เช่า */
.neolif-property-database-table
.neolif-property-status-edit.status-rented {
    background: #E53935;
    color: #FFFFFF;
}

/* ปิดชั่วคราว */
.neolif-property-database-table
.neolif-property-status-edit.status-temporarily_inactive {
    background: #64748B;
    color: #FFFFFF;
}


/* =========================================================
   PUBLICATION STATUS
========================================================= */

/* เผยแพร่ */
.neolif-property-database-table
.neolif-publish-status-edit.publish-publish {
    background: #0EA5E9;
    color: #FFFFFF;
}

/* พักประกาศ */
.neolif-property-database-table
.neolif-publish-status-edit.publish-on_hold {
    background: #F59E0B;
    color: #FFFFFF;
}

/* ฉบับร่าง */
.neolif-property-database-table
.neolif-publish-status-edit.publish-draft {
    background: #64748B;
    color: #FFFFFF;
}

/* รอตรวจสอบ */
.neolif-property-database-table
.neolif-publish-status-edit.publish-pending {
    background: #6366F1;
    color: #FFFFFF;
}


/* =========================================================
   WORKFLOW PUBLICATION STATE
========================================================= */

.neolif-property-database-table .neolif-publish-workflow-state {
    display: inline-flex;

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

    min-height: 30px;
    max-width: 100%;

    padding: 4px 8px;

    border-radius: 5px;

    color: #FFFFFF;

    font-size: 12px;
    font-weight: 600;
    line-height: 1;

    white-space: nowrap;
}

.neolif-property-database-table
.neolif-publish-workflow-state.publish-draft {
    background: #64748B;
}

.neolif-property-database-table
.neolif-publish-workflow-state.publish-pending {
    background: #6366F1;
}

.neolif-property-database-table
.neolif-publish-workflow-state.publish-expired,
.neolif-property-database-table
.neolif-publish-workflow-state.publish-disapproved {
    background: #E53935;
}

.neolif-property-database-table
.neolif-publish-workflow-state.publish-houzez_sold,
.neolif-property-database-table
.neolif-publish-workflow-state.publish-private,
.neolif-property-database-table
.neolif-publish-workflow-state.publish-future {
    background: #64748B;
}


/* =========================================================
   SELECT INTERACTION
========================================================= */

.neolif-property-database-table .neolif-quick-select:hover,
.neolif-property-database-table .neolif-quick-select:focus {
    border-color: rgba(255, 255, 255, 0.65) !important;

    box-shadow:
        0 0 0 2px rgba(59, 130, 246, 0.10) !important;
}


/* =========================================================
   RENT — DISPLAY ONLY
========================================================= */

.neolif-property-database-table .neolif-col-price {
    min-width: 0;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #111827;

    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}


/* =========================================================
   LOCATION
========================================================= */

.neolif-property-database-table .neolif-col-location {
    min-width: 0;
    overflow: hidden;
}

.neolif-property-database-table .neolif-location-text {
    display: block;

    width: 100%;
    max-width: 100%;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #475569;
}


/* =========================================================
   OWNER
========================================================= */

.neolif-property-database-table .neolif-col-owner {
    min-width: 0;
    overflow: hidden;
}

.neolif-property-database-table .neolif-owner-name {
    display: block;

    width: 100%;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    font-weight: 600;
    line-height: 1.15;
}

.neolif-property-database-table .neolif-owner-phone {
    display: block;

    width: 100%;

    margin-top: 2px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #64748B;

    font-size: 10px;
    line-height: 1.15;
}

.neolif-property-database-table .neolif-owner-line {
    display: block;

    width: 100%;

    margin-top: 2px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color: #64748B;

    font-size: 10px;
    line-height: 1.15;
}


/* =========================================================
   CONTRACT
========================================================= */

.neolif-property-database-table .neolif-col-contract {
    min-width: 0;
    overflow: hidden;
}

.neolif-property-database-table .neolif-contract-date {
    display: block;

    width: 100%;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    font-size: 11px;
    font-weight: 600;
}

.neolif-property-database-table .neolif-contract-note {
    display: block;

    width: 100%;

    margin-top: 2px;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    font-size: 10px;
}


/* =========================================================
   COLLABORATION
========================================================= */

.neolif-property-database-table .neolif-col-collaboration {
    min-width: 0;
    overflow: visible;
}

.neolif-property-database-table .neolif-collaboration-label {
    display: block;

    width: 100%;
    max-width: 100%;

    margin-bottom: 4px;

    overflow: visible;
    text-overflow: clip;
    white-space: normal;

    color: #111827;

    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
}


/* =========================================================
   COLLABORATION TOGGLE
========================================================= */

.neolif-property-database-table button.neolif-inline-toggle {
    display: inline-flex;
    align-items: center;

    gap: 6px;

    margin: 0;
    padding: 0 !important;

    border: 0 !important;
    outline: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

    cursor: pointer;
    user-select: none;
}

.neolif-property-database-table .neolif-inline-toggle-switch {
    position: relative;

    display: inline-block;

    width: 34px;
    min-width: 34px;
    height: 19px;

    flex: 0 0 34px;

    border-radius: 999px;

    background: #CBD5E1;

    transition: background 0.18s ease;
}

.neolif-property-database-table
.neolif-inline-toggle-switch::after {
    content: "";

    position: absolute;

    top: 2px;
    left: 2px;

    width: 15px;
    height: 15px;

    border-radius: 50%;

    background: #FFFFFF;

    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.18);

    transition: transform 0.18s ease;
}

.neolif-property-database-table
.neolif-inline-toggle.is-on
.neolif-inline-toggle-switch {
    background: #0B8FFB;
}

.neolif-property-database-table
.neolif-inline-toggle.is-on
.neolif-inline-toggle-switch::after {
    transform: translateX(15px);
}

.neolif-property-database-table .neolif-inline-toggle-label {
    color: #64748B;

    font-size: 10px;
    font-weight: 500;
    line-height: 1;
}

.neolif-property-database-table
.neolif-inline-toggle.is-on
.neolif-inline-toggle-label {
    color: #0B4F9F;
    font-weight: 600;
}


/* =========================================================
   ACTIONS
========================================================= */

.neolif-property-database-table .neolif-th-actions {
    width: 6%;

    padding-left: 6px !important;
    padding-right: 6px !important;

    overflow: visible !important;

    text-align: center !important;
    white-space: nowrap;
}

.neolif-property-database-table .neolif-col-actions {
    width: 6%;

    overflow: visible !important;

    padding-left: 6px !important;
    padding-right: 6px !important;

    text-align: center !important;
}

.neolif-property-database-table .neolif-col-actions .dropdown {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
}

.neolif-property-database-table .neolif-col-actions .action-btn {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 6px !important;
}


/* =========================================================
   SAVING STATES — FOR NEXT QUICK EDIT STEP
========================================================= */

.neolif-property-database-table .is-saving {
    opacity: 0.45 !important;
    pointer-events: none;
}

.neolif-property-database-table .is-saved {
    box-shadow:
        0 0 0 2px rgba(34, 197, 94, 0.15) !important;
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 992px) {

    .neolif-property-database-table {
        table-layout: fixed;
    }

    .neolif-property-database-table > tbody > tr > td {
        white-space: normal;
    }
}


/* =========================================================
   SMALL DESKTOP
========================================================= */

@media (min-width: 992px) and (max-width: 1280px) {

    .houzez-data-content {
        padding-left: 8px;
        padding-right: 8px;
    }

    .neolif-property-database-table > thead > tr > th {
        padding-left: 3px;
        padding-right: 3px;

        font-size: 9.5px;
    }

    .neolif-property-database-table > tbody > tr > td {
        padding-left: 3px;
        padding-right: 3px;
    }

    .neolif-property-database-table .neolif-col-title {
        padding-left: 14px;
        padding-right: 6px;
    }

    .neolif-property-database-table .neolif-property-image {
        width: 54px;
    }

    .neolif-property-database-table .image-holder,
    .neolif-property-database-table .image-holder img {
        width: 54px !important;
        min-width: 54px !important;
        height: 44px !important;
    }

    .neolif-property-database-table .neolif-quick-select {
        padding-left: 5px;
        padding-right: 16px;
    }

    .neolif-property-database-table .neolif-collaboration-label {
        font-size: 9.5px;
    }

    .neolif-property-database-table .neolif-inline-toggle-switch {
        width: 30px;
        min-width: 30px;
        height: 18px;

        flex-basis: 30px;
    }

    .neolif-property-database-table
    .neolif-inline-toggle-switch::after {
        width: 13px;
        height: 13px;

        top: 2.5px;
    }

    .neolif-property-database-table
    .neolif-inline-toggle.is-on
    .neolif-inline-toggle-switch::after {
        transform: translateX(13px);
    }
}


/* =========================================================
   TABLET / MOBILE
   Desktop table is intentionally preserved for now.
   Mobile card redesign will be handled separately.
========================================================= */

@media (max-width: 991px) {

    .dashboard-right {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .dashboard-content,
    .houzez-data-content,
    .houzez-data-table {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .houzez-data-content {
        padding-left: 0;
        padding-right: 0;
    }

    .houzez-data-table .table-responsive {
        width: 100%;
        max-width: 100%;

        overflow-x: auto;

        -webkit-overflow-scrolling: touch;
    }

    .neolif-property-database-table {
        min-width: 1100px !important;
        table-layout: fixed;
    }
}


/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — FINAL SINGLE ROW TABS
 * Desktop: 9 tabs / one row / one source of truth
 * ============================================================
 */

.propertie-list.neolif-property-tabs {
    box-sizing: border-box !important;
    display: block !important;

    width: 100% !important;

    margin: 0 0 20px !important;
    padding: 0 10px !important;

    background: #ffffff !important;

    border: 1px solid #edf1f5 !important;
    border-radius: 8px !important;

    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.035) !important;

    overflow: hidden !important;
}

.propertie-list.neolif-property-tabs
> ul.neolif-property-tabs-single-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    align-items: stretch !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.propertie-list.neolif-property-tabs
> ul.neolif-property-tabs-single-row > li {
    position: relative !important;

    display: flex !important;
    float: none !important;

    align-items: stretch !important;

    flex: 1 1 0 !important;

    width: 0 !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

/* Divider */
.propertie-list.neolif-property-tabs
> ul.neolif-property-tabs-single-row > li:not(:last-child)::after {
    content: "" !important;

    position: absolute !important;

    right: 0 !important;
    top: 50% !important;

    width: 1px !important;
    height: 22px !important;

    background: #e5eaf0 !important;

    transform: translateY(-50%) !important;
}

/* Tab */
.propertie-list.neolif-property-tabs
> ul.neolif-property-tabs-single-row > li > a {
    position: relative !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;

    margin: 0 !important;
    padding: 0 4px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    color: #1f2937 !important;

    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;

    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;

    text-decoration: none !important;
}

/* Count */
.propertie-list.neolif-property-tabs
> ul.neolif-property-tabs-single-row > li > a > span {
    display: inline !important;
    flex: 0 0 auto !important;

    margin-left: 3px !important;

    font-size: inherit !important;
    font-weight: inherit !important;

    color: inherit !important;

    white-space: nowrap !important;
}

/* Hover */
.propertie-list.neolif-property-tabs
> ul.neolif-property-tabs-single-row > li > a:hover {
    color: #0B4F9F !important;
    background: #f7fbff !important;
}

/* Active */
.propertie-list.neolif-property-tabs
> ul.neolif-property-tabs-single-row > li > a.active {
    color: #0797e8 !important;
    background: #eef8ff !important;
}

/* Active underline */
.propertie-list.neolif-property-tabs
> ul.neolif-property-tabs-single-row > li > a.active::after {
    content: "" !important;

    position: absolute !important;

    left: 8px !important;
    right: 8px !important;
    bottom: 0 !important;

    height: 2px !important;

    background: #0797e8 !important;

    border-radius: 2px 2px 0 0 !important;
}


/*
 * ============================================================
 * DESKTOP
 * ============================================================
 */

@media (min-width: 992px) {

    .propertie-list.neolif-property-tabs {
        overflow: hidden !important;
    }

    .propertie-list.neolif-property-tabs
    > ul.neolif-property-tabs-single-row {
        width: 100% !important;
        overflow: visible !important;
    }
}


/*
 * ============================================================
 * TABLET / MOBILE
 * Keep horizontal swipe until dedicated Property Card redesign.
 * ============================================================
 */

@media (max-width: 991px) {

    .propertie-list.neolif-property-tabs {
        padding-left: 8px !important;
        padding-right: 8px !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .propertie-list.neolif-property-tabs::-webkit-scrollbar {
        display: none;
    }

    .propertie-list.neolif-property-tabs
    > ul.neolif-property-tabs-single-row {
        width: max-content !important;
        min-width: 100% !important;
    }

    .propertie-list.neolif-property-tabs
    > ul.neolif-property-tabs-single-row > li {
        flex: 0 0 auto !important;

        width: auto !important;
    }

    .propertie-list.neolif-property-tabs
    > ul.neolif-property-tabs-single-row > li > a {
        width: auto !important;

        min-height: 46px !important;

        padding: 0 12px !important;

        font-size: 12px !important;
    }
}


/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE TOOLBAR
 * Desktop presentation only.
 * Does not change search / filters / bulk-action logic.
 * ============================================================
 */

@media (min-width: 992px) {

    /* Main toolbar card */
    .houzez-data-content > .houzez-table-filters {
        box-sizing: border-box;
        width: 100%;
        min-height: 52px;

        margin: 0 0 8px;
        padding: 5px 10px !important;

        background: #ffffff;
        border: 1px solid #e7edf3;
        border-radius: 10px;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.035);
    }

    /* Full toolbar row */
    .houzez-data-content > .houzez-table-filters > form {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px;
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    /* Left: Bulk Actions */
    .houzez-table-filters .dashboard-filter-right {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto;
        gap: 8px !important;
        min-width: 0;
    }

    .houzez-table-filters #bulk-action-select {
        width: 150px;
        min-width: 150px;
        height: 38px;

        padding-left: 12px;
        padding-right: 34px;

        background-color: #ffffff;
        border: 1px solid #dbe3ec;
        border-radius: 7px;

        font-size: 13px;
        font-weight: 500;
        color: #243247;

        box-shadow: none;
    }

    .houzez-table-filters #bulk-action-apply {
        min-width: 72px;
        height: 38px;

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

        padding: 0 16px;
        border-radius: 7px;

        font-size: 13px;
        font-weight: 600;
    }

    /* Right: Search + Filters */
    .houzez-table-filters .dashboard-search-filter {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 1 1 auto;

        gap: 8px !important;
        min-width: 0;
    }

    /* Search input wrapper */
    .houzez-table-filters .dashboard-search-filter > .relative {
        position: relative;
        flex: 1 1 280px;

        width: 100%;
        min-width: 180px;
        max-width: 340px;
    }

    .houzez-table-filters .dashboard-search {
        box-sizing: border-box;
        width: 100%;
        height: 38px;

        padding-left: 38px;
        padding-right: 12px;

        background: #ffffff;
        border: 1px solid #dbe3ec;
        border-radius: 7px;

        font-size: 13px;
        color: #243247;

        box-shadow: none;
    }

    .houzez-table-filters .dashboard-search::placeholder {
        color: #94a3b8;
        opacity: 1;
    }

    /* Search icon */
    .houzez-table-filters .dashboard-search-filter > .relative > span {
        position: absolute;
        top: 50%;
        left: 13px;

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

        transform: translateY(-50%);
        color: #64748b;

        pointer-events: none;
    }

    /* Search button */
    .houzez-table-filters .dashboard-search-filter .btn-secondary {
        min-width: 82px;
        height: 38px;

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

        padding: 0 16px;

        background: #0EA5E9;
        border: 1px solid #0B4F9F;
        border-radius: 7px;

        font-size: 13px;
        font-weight: 600;
        color: #ffffff;
    }

    .houzez-table-filters .dashboard-search-filter .btn-secondary:hover {
        background: #083F80;
        border-color: #083F80;
        color: #ffffff;
    }

    /* Filters button */
    .houzez-table-filters
    .dashboard-search-filter
    .btn-secondary-outlined {
        min-width: 94px;
        height: 38px;

        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;

        padding: 0 14px;

        background: #ffffff;
        border: 1px solid #0B4F9F;
        border-radius: 7px;

        font-size: 13px;
        font-weight: 600;
        color: #0B4F9F;
    }

    .houzez-table-filters
    .dashboard-search-filter
    .btn-secondary-outlined:hover {
        background: #eff6ff;
        border-color: #0B4F9F;
        color: #0B4F9F;
    }

    /* Keep dropdown menus above the table */
    .houzez-table-filters .dropdown-menu {
        z-index: 1050;
    }
}





/*
 * ============================================================
 * NEOLIF DATABASE PRIMARY BRAND ACTIONS
 * ============================================================
 */
@media (min-width: 992px) {

    .houzez-table-filters #bulk-action-apply,
    .neolif-add-property-btn {
        background: #0EA5E9 !important;
        border-color: #0EA5E9 !important;
        color: #ffffff !important;
    }

    .houzez-table-filters #bulk-action-apply:hover,
    .houzez-table-filters #bulk-action-apply:focus,
    .neolif-add-property-btn:hover,
    .neolif-add-property-btn:focus {
        background: #083F80 !important;
        border-color: #083F80 !important;
        color: #ffffff !important;
    }
}


/*
 * ============================================================
 * NEOLIF THAI BULK ACTION WIDTH
 * ============================================================
 */
@media (min-width: 992px) {
    .houzez-table-filters select[name="bulk_action"] {
        min-width: 190px !important;
        width: 190px !important;
    }
}

/*
 * ============================================================
 * NEOLIF DESKTOP DATABASE — 4 POINT FINAL FIX
 * 1. Bulk select width
 * 2. Toolbar color sync
 * 3. Search / Filter border color sync
 * 4. Workflow typography sync
 * ============================================================
 */
@media (min-width: 992px) {

    /* 1. Thai Bulk Action — actual HTML selector */
    .houzez-table-filters #bulk-action-select {
        width: 190px !important;
        min-width: 190px !important;
        flex: 0 0 190px !important;
    }

    /*
     * 2. Primary toolbar actions
     * Same visible blue family as Add Property.
     */
    .houzez-table-filters #bulk-action-apply,
    .houzez-table-filters .dashboard-search-filter .btn-secondary,
    .neolif-add-property-btn {
        background: #0EA5E9 !important;
        border-color: #0EA5E9 !important;
        color: #ffffff !important;
    }

    /* 3. Filter outline — use the same bright blue */
    .houzez-table-filters
    .dashboard-search-filter
    .btn-secondary-outlined {
        background: #ffffff !important;
        border-color: #0EA5E9 !important;
        color: #0EA5E9 !important;
    }

    /*
     * 4. Draft / Pending workflow typography
     * Match Quick Select typography exactly.
     */
    .neolif-property-database-table
    .neolif-publish-workflow-state {
        font-family: inherit !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
    }
}


/*
 * ============================================================
 * NEOLIF TOOLBAR — FINAL VISUAL SYNC
 * - Bulk select: 180px
 * - Apply/Search: same normal + hover treatment as Add Property
 * ============================================================
 */
@media (min-width: 992px) {

    /* Slightly tighter bulk selector */
    .houzez-table-filters #bulk-action-select {
        width: 180px !important;
        min-width: 180px !important;
        flex: 0 0 180px !important;
    }

    /*
     * Primary actions:
     * visually match the Add Property button.
     */
    .houzez-table-filters #bulk-action-apply,
    .houzez-table-filters .dashboard-search-filter .btn-secondary,
    .neolif-add-property-btn {
        background-color: #03A9F4 !important;
        background-image: none !important;
        border-color: #03A9F4 !important;
        color: #ffffff !important;
        opacity: 1 !important;
        box-shadow: none !important;
    }

    /*
     * Hover / Focus:
     * same behavior for all three primary buttons.
     */
    .houzez-table-filters #bulk-action-apply:hover,
    .houzez-table-filters #bulk-action-apply:focus,
    .houzez-table-filters .dashboard-search-filter .btn-secondary:hover,
    .houzez-table-filters .dashboard-search-filter .btn-secondary:focus,
    .neolif-add-property-btn:hover,
    .neolif-add-property-btn:focus {
        background-color: #0B4F9F !important;
        background-image: none !important;
        border-color: #0B4F9F !important;
        color: #ffffff !important;
        opacity: 1 !important;
        box-shadow: none !important;
    }
}


/*
 * NEOLIF TOOLBAR — HOVER MATCH ADD PROPERTY
 * Only Apply + Search.
 */
@media (min-width: 992px) {

    .houzez-table-filters #bulk-action-apply:hover,
    .houzez-table-filters #bulk-action-apply:focus,
    .houzez-table-filters .dashboard-search-filter .btn-secondary:hover,
    .houzez-table-filters .dashboard-search-filter .btn-secondary:focus {
        background-color: #38BDF8 !important;
        background-image: none !important;
        border-color: #38BDF8 !important;
        color: #ffffff !important;
        opacity: 1 !important;
        box-shadow: none !important;
    }

}


/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — SOFT STATUS COLORS
 * 7 VALUES ONLY
 * ============================================================
 */

@media (min-width: 992px) {

    /* =========================
       PROPERTY STATUS
       ========================= */

    /* ว่าง */
    .neolif-property-database-table
    .neolif-property-status-edit.status-available {
        background: #E8F8EE !important;
        color: #16803A !important;
        border-color: #C7EED4 !important;
    }

    /* มีผู้เช่า */
    .neolif-property-database-table
    .neolif-property-status-edit.status-rented {
        background: #E8F3FF !important;
        color: #1671C5 !important;
        border-color: #C9E3FA !important;
    }

    /* ปิดชั่วคราว */
    .neolif-property-database-table
    .neolif-property-status-edit.status-temporarily_inactive {
        background: #F1F5F9 !important;
        color: #526174 !important;
        border-color: #DDE5ED !important;
    }


    /* =========================
       PUBLICATION STATUS
       ========================= */

    /* เผยแพร่ */
    .neolif-property-database-table
    .neolif-publish-status-edit.publish-publish {
        background: #E8F8EE !important;
        color: #16803A !important;
        border-color: #C7EED4 !important;
    }

    /* พักประกาศ */
    .neolif-property-database-table
    .neolif-publish-status-edit.publish-on_hold {
        background: #FFF4E5 !important;
        color: #C66A00 !important;
        border-color: #FFE0B2 !important;
    }

    /* ฉบับร่าง */
    .neolif-property-database-table
    .neolif-publish-status-edit.publish-draft,
    .neolif-property-database-table
    .neolif-publish-workflow-state.publish-draft {
        background: #F1F5F9 !important;
        color: #526174 !important;
        border-color: #DDE5ED !important;
    }

    /* รอตรวจสอบ */
    .neolif-property-database-table
    .neolif-publish-workflow-state.publish-pending {
        background: #F0EEFF !important;
        color: #6254C7 !important;
        border-color: #DDD8FF !important;
    }
}


/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — CORRECT SOFT STATUS COLORS
 * Keep original semantic colors, soften presentation only.
 * Desktop only.
 * ============================================================
 */
@media (min-width: 992px) {

    /* ว่าง — GREEN */
    .neolif-property-database-table
    .neolif-property-status-edit.status-available {
        background: #E8F8EE !important;
        color: #16803A !important;
        border-color: #C7EED4 !important;
    }

    /* มีผู้เช่า — RED */
    .neolif-property-database-table
    .neolif-property-status-edit.status-rented {
        background: #FDECEC !important;
        color: #D9363E !important;
        border-color: #F7CACA !important;
    }

    /* ปิดชั่วคราว — SLATE */
    .neolif-property-database-table
    .neolif-property-status-edit.status-temporarily_inactive {
        background: #F1F5F9 !important;
        color: #526174 !important;
        border-color: #DDE5ED !important;
    }

    /* เผยแพร่ — BLUE */
    .neolif-property-database-table
    .neolif-publish-status-edit.publish-publish {
        background: #EAF6FE !important;
        color: #0787CC !important;
        border-color: #C6E8FA !important;
    }

    /* พักประกาศ — ORANGE */
    .neolif-property-database-table
    .neolif-publish-status-edit.publish-on_hold {
        background: #FFF4E5 !important;
        color: #C66A00 !important;
        border-color: #FFE0B2 !important;
    }

    /* รอตรวจสอบ — PURPLE */
    .neolif-property-database-table
    .neolif-publish-workflow-state.publish-pending {
        background: #F0EEFF !important;
        color: #6254C7 !important;
        border-color: #DDD8FF !important;
    }

    /* ฉบับร่าง — SLATE */
    .neolif-property-database-table
    .neolif-publish-status-edit.publish-draft,
    .neolif-property-database-table
    .neolif-publish-workflow-state.publish-draft {
        background: #F1F5F9 !important;
        color: #526174 !important;
        border-color: #DDE5ED !important;
    }
}

/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — FINAL SOFT STATUS COLORS
 * 7 values only
 * Publication dots: publish + on_hold only
 * Desktop only
 * ============================================================
 */
@media (min-width: 992px) {

    /* ---------------------------------------------------------
       1. ว่าง — GREEN
       --------------------------------------------------------- */
    .neolif-property-database-table
    .neolif-property-status-edit.status-available {
        background-color: #DDF7E7 !important;
        color: #14823B !important;
        border-color: transparent !important;
        box-shadow: none !important;
    }

    /* ---------------------------------------------------------
       2. มีผู้เช่า — RED
       --------------------------------------------------------- */
    .neolif-property-database-table
    .neolif-property-status-edit.status-rented {
        background-color: #FDE3E3 !important;
        color: #D8323A !important;
        border-color: transparent !important;
        box-shadow: none !important;
    }

    /* ---------------------------------------------------------
       3. ปิดชั่วคราว — SLATE
       --------------------------------------------------------- */
    .neolif-property-database-table
    .neolif-property-status-edit.status-temporarily_inactive {
        background-color: #E9EEF4 !important;
        color: #526174 !important;
        border-color: transparent !important;
        box-shadow: none !important;
    }

    /* ---------------------------------------------------------
       4. เผยแพร่ — BLUE + BLUE DOT
       --------------------------------------------------------- */
    .neolif-property-database-table
    .neolif-publish-status-edit.publish-publish {
        background-color: #DDF2FD !important;
        color: #087FBE !important;
        border-color: transparent !important;
        box-shadow: none !important;

        background-image:
            radial-gradient(circle, #0EA5E9 0 3px, transparent 3.5px) !important;
        background-repeat: no-repeat !important;
        background-position: 8px 50% !important;
        padding-left: 19px !important;
    }

    /* ---------------------------------------------------------
       5. พักประกาศ — ORANGE + ORANGE DOT
       --------------------------------------------------------- */
    .neolif-property-database-table
    .neolif-publish-status-edit.publish-on_hold {
        background-color: #FFEDD5 !important;
        color: #C86400 !important;
        border-color: transparent !important;
        box-shadow: none !important;

        background-image:
            radial-gradient(circle, #F59E0B 0 3px, transparent 3.5px) !important;
        background-repeat: no-repeat !important;
        background-position: 8px 50% !important;
        padding-left: 19px !important;
    }

    /* ---------------------------------------------------------
       6. รอตรวจสอบ — PURPLE
       --------------------------------------------------------- */
    .neolif-property-database-table
    .neolif-publish-workflow-state.publish-pending {
        background-color: #E9E7FF !important;
        color: #5B50C7 !important;
        border-color: transparent !important;
        box-shadow: none !important;
    }

    /* ---------------------------------------------------------
       7. ฉบับร่าง — SLATE
       --------------------------------------------------------- */
    .neolif-property-database-table
    .neolif-publish-status-edit.publish-draft,
    .neolif-property-database-table
    .neolif-publish-workflow-state.publish-draft {
        background-color: #E9EEF4 !important;
        color: #526174 !important;
        border-color: transparent !important;
        box-shadow: none !important;
    }
}

/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — PUBLICATION ICON FINAL
 * Replaces old status dots with the same visual language
 * used by the Property Database tabs.
 * Desktop only.
 * ============================================================
 */
@media (min-width: 992px) {

    .neolif-property-database-table
    .neolif-publication-control {
        position: relative;
        display: inline-flex;
        align-items: center;
        max-width: 100%;
    }

    .neolif-property-database-table
    .neolif-publication-control
    .neolif-publication-icon {
        position: absolute;
        left: 6px;
        top: 50%;
        width: 12px;
        height: 12px;
        transform: translateY(-50%);
        z-index: 2;
        pointer-events: none;

        background-color: currentColor;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-size: contain;
        mask-size: contain;
    }

    /*
     * เผยแพร่ — BLUE
     * Circle + check, matching the Publish tab.
     */
    .neolif-property-database-table
    .neolif-publication-control.publish-publish {
        color: #087FBE;
    }

    .neolif-property-database-table
    .neolif-publication-control.publish-publish
    .neolif-publication-icon {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5'/%3E%3C/svg%3E");
    }

    /*
     * พักประกาศ — ORANGE
     * Circle + pause, matching the Hold tab.
     */
    .neolif-property-database-table
    .neolif-publication-control.publish-on_hold {
        color: #C86400;
    }

    .neolif-property-database-table
    .neolif-publication-control.publish-on_hold
    .neolif-publication-icon {
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M10 9v6M14 9v6'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M10 9v6M14 9v6'/%3E%3C/svg%3E");
    }

    /*
     * Give the icon its own space.
     * No dot/background-image remains on the select.
     */
    .neolif-property-database-table
    .neolif-publication-control
    .neolif-publish-status-edit {
        padding-left: 19px !important;
        padding-right: 16px !important;
        font-size: 12px !important;
        background-image: none !important;
    }
}








/*
 * ============================================================
 * NEOLIF BULK SELECT TYPOGRAPHY MATCH
 * Match "จัดการหลายรายการ" typography with search input.
 * Presentation only.
 * ============================================================
 */
@media (min-width: 992px) {
    .houzez-table-filters #neolif-bulk-action-select {
        font-size: 13px !important;
        font-weight: 400 !important;
        color: #6c757d !important;
    }
}

/*
 * ============================================================
 * NEOLIF TOOLBAR SIZE FINAL
 * Desktop presentation only.
 * Bulk selector = compact like original.
 * Bulk Apply = same size as Search button.
 * ============================================================
 */
@media (min-width: 992px) {

    /* Bulk selector — restore compact proportion */
    .houzez-table-filters #neolif-bulk-action-select {
        width: 160px !important;
        min-width: 160px !important;
        flex: 0 0 160px !important;
        height: 38px !important;

        padding-left: 12px !important;
        padding-right: 34px !important;

        font-size: 13px !important;
        font-weight: 400 !important;
        color: #6c757d !important;

        background-color: #ffffff !important;
        border: 1px solid #dbe3ec !important;
        border-radius: 7px !important;
        box-shadow: none !important;
    }

    /* Bulk Apply + Search — identical button dimensions */
    .houzez-table-filters #neolif-bulk-action-apply,
    .houzez-table-filters .dashboard-search-filter button[type="submit"] {
        box-sizing: border-box !important;
        width: 98px !important;
        min-width: 98px !important;
        height: 38px !important;

        padding: 0 14px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        border-radius: 7px !important;

        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1 !important;

        background: #03A9F4 !important;
        border-color: #03A9F4 !important;
        color: #ffffff !important;
    }
}



/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — SMALL ROW CHECKBOX
 * Desktop row checkboxes only.
 * Header select-all checkbox is intentionally untouched.
 * ============================================================
 */
@media (min-width: 992px) {
    .neolif-property-database-table tbody input.listing-bulk-delete[type="checkbox"] {
        width: 14px !important;
        height: 14px !important;
        min-width: 14px !important;
        margin: 0 !important;
        vertical-align: middle !important;
    }
}

/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — ROW CHECKBOX INDICATOR
 * Visual box only — tbody rows.
 * Header select-all checkbox is untouched.
 * ============================================================
 */
@media (min-width: 992px) {
    .neolif-property-database-table tbody .neolif-col-select .control--checkbox {
        width: 18px !important;
        height: 18px !important;
        min-height: 18px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .neolif-property-database-table tbody .neolif-col-select .control__indicator {
        width: 18px !important;
        height: 18px !important;
        top: 0 !important;
        left: 0 !important;
    }
}


/*
 * ============================================================
 * NEOLIF PROPERTY FILTER — VISUAL FINAL
 * Desktop presentation only.
 *
 * Labels = Search button typography.
 * Controls = Bulk selector typography.
 * Action buttons = Search button size/typography.
 * ============================================================
 */
@media (min-width: 992px) {

    /* ช่วงราคา / รหัสทรัพย์ / ประเภททรัพย์ */
    .houzez-table-filters .filter-inner .neolif-filter-label {
        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }

    /* ต่ำสุด / สูงสุด / กรอกรหัสทรัพย์ / ทุกประเภท */
    .houzez-table-filters .filter-inner .neolif-filter-control {
        font-size: 13px !important;
        font-weight: 400 !important;
    }

    .houzez-table-filters .filter-inner
    .neolif-filter-control::placeholder {
        font-size: 13px !important;
        font-weight: 400 !important;
    }

    /* ใช้ตัวกรอง + ล้างตัวกรอง */
    .houzez-table-filters .filter-inner
    .neolif-filter-actions {
        display: flex !important;
        gap: 8px !important;
    }

    .houzez-table-filters .filter-inner
    .neolif-filter-action-btn {
        box-sizing: border-box !important;

        width: 98px !important;
        min-width: 98px !important;
        height: 38px !important;

        padding: 0 10px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        flex: 0 0 98px !important;

        font-size: 13px !important;
        font-weight: 600 !important;
        line-height: 1 !important;

        border-radius: 7px !important;
        white-space: nowrap !important;
    }
}


/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — ACTIVE TAB COLOR FINAL
 * Match primary action blue.
 * Presentation only — no tab structure / icon semantics changed.
 * ============================================================
 */
@media (min-width: 992px) {
    .propertie-list.neolif-property-tabs
    > ul.neolif-property-tabs-single-row > li > a.active {
        color: #03A9F4 !important;
    }

    .propertie-list.neolif-property-tabs
    > ul.neolif-property-tabs-single-row > li > a.active::after {
        background: #03A9F4 !important;
    }
}

/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — COUNT + PAGINATION TYPOGRAPHY
 * Desktop typography only.
 * No pagination logic / control sizing changes.
 * ============================================================
 */
@media (min-width: 992px) {

    /* Results found */
    .houzez-table-filters p.small {
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        color: #64748b !important;
    }

    /* Showing X-Y from Z */
    .houzez-sorting p.small {
        font-size: 13px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        color: #64748b !important;
    }

    /* X items per page */
    .houzez-sorting .relative > select.form-control {
        font-size: 13px !important;
        font-weight: 400 !important;
        color: #64748b !important;
    }
}

/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — CONFIRM MODAL
 * ============================================================
 */

.neolif-confirm-content {
    padding: 8px 2px 2px;
    text-align: center;
}

.neolif-confirm-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin: 0 auto 14px;
    border: 2px solid #0B4F9F;
    border-radius: 50%;
    color: #0B4F9F;
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
}

.neolif-confirm-message {
    color: #1f2937;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
}

.bootbox .modal-content {
    border: 0;
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
}

.bootbox .modal-body {
    padding: 24px 24px 12px;
}

.bootbox .modal-footer {
    justify-content: center;
    gap: 8px;
    padding: 12px 24px 22px;
    border-top: 0;
}

.bootbox .neolif-confirm-btn,
.bootbox .neolif-cancel-btn {
    min-width: 92px;
    min-height: 38px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 500;
}

.bootbox .neolif-confirm-btn {
    background: #0B4F9F;
    border-color: #0B4F9F;
}

.bootbox .neolif-cancel-btn {
    background: #ffffff;
    border: 1px solid #d7e0e9;
    color: #475569;
}


/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — FEATURED STAR
 * Featured presentation only.
 * Keep Houzez Featured logic and full-star.svg unchanged.
 * ============================================================
 */

.neolif-property-database-table
.image-holder
.dashboard-label.dashboard-label-featured {
    position: absolute !important;
    top: 5px !important;
    right: 5px !important;
    left: auto !important;

    width: 16px !important;
    height: 16px !important;

    padding: 0 !important;
    margin: 0 !important;

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

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    z-index: 3 !important;
}

.neolif-property-database-table
.image-holder
.dashboard-label.dashboard-label-featured img {
    display: block !important;

    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;

    object-fit: contain !important;
}


/*
 * ============================================================
 * NEOLIF PROPERTY DATABASE — PRIVATE NOTE
 * Private note inside title column.
 * No table-width changes.
 * ============================================================
 */

.neolif-property-database-table .neolif-private-note {
    position: relative;
    width: 100%;
    min-width: 0;
    margin-top: 5px;
}

.neolif-property-database-table .neolif-private-note-trigger {
    display: flex;
    align-items: center;
    gap: 4px;

    width: 100%;
    min-width: 0;

    margin: 0;
    padding: 0;

    border: 0;
    background: transparent;

    color: #64748b;

    font-family: inherit;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.3;

    text-align: left;
    cursor: pointer;
}

.neolif-property-database-table .neolif-private-note-trigger:hover {
    color: #0B4F9F;
}

.neolif-property-database-table .neolif-private-note-icon {
    flex: 0 0 auto;
    font-size: 11px;
    line-height: 1;
}

.neolif-property-database-table .neolif-private-note-text {
    display: block;
    min-width: 0;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.neolif-property-database-table .neolif-private-note-editor {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;

    width: 260px;
    max-width: min(260px, 80vw);

    padding: 9px;

    background: #fff;
    border: 1px solid #dce4ec;
    border-radius: 8px;

    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    z-index: 50;
}

.neolif-property-database-table .neolif-private-note-editor[hidden] {
    display: none !important;
}

.neolif-property-database-table .neolif-private-note-input {
    display: block;

    width: 100%;
    min-height: 76px;

    padding: 8px 9px;
    resize: vertical;

    border: 1px solid #dce4ec;
    border-radius: 6px;
    outline: none;

    background: #fff;
    color: #1e293b;

    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
}

.neolif-property-database-table .neolif-private-note-input:focus {
    border-color: #0ea5e9;
    box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.10);
}

.neolif-property-database-table .neolif-private-note-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;

    margin-top: 8px;
}

.neolif-property-database-table .neolif-private-note-cancel,
.neolif-property-database-table .neolif-private-note-save {
    min-height: 28px;
    padding: 4px 10px;

    border-radius: 5px;

    font-family: inherit;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;

    cursor: pointer;
}

.neolif-property-database-table .neolif-private-note-cancel {
    border: 1px solid #dce4ec;
    background: #fff;
    color: #475569;
}

.neolif-property-database-table .neolif-private-note-save {
    border: 1px solid #0ea5e9;
    background: #0ea5e9;
    color: #fff;
}

/*
 * ============================================================
 * NEOLIF PRIVATE NOTE MODAL POLISH
 * Presentation only.
 * Keeps existing PHP + AJAX save system unchanged.
 * ============================================================
 */

body.neolif-private-note-modal-open {
    overflow: hidden !important;
}

.neolif-private-note-modal-backdrop {
    position: fixed;
    inset: 0;

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

    padding: 24px;

    background: rgba(15, 23, 42, 0.42);

    z-index: 999999;
}

.neolif-private-note-modal-backdrop[hidden] {
    display: none !important;
}

.neolif-private-note-modal {
    width: 100%;
    max-width: 520px;

    overflow: hidden;

    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;

    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.18),
        0 4px 14px rgba(15, 23, 42, 0.08);
}

.neolif-private-note-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;

    padding: 20px 22px 14px;
}

.neolif-private-note-modal-heading {
    min-width: 0;
}

.neolif-private-note-modal-title {
    margin: 0;

    color: #172033;

    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
}

.neolif-private-note-modal-description {
    margin: 4px 0 0;

    color: #64748b;

    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
}

.neolif-private-note-modal-close {
    flex: 0 0 32px;

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

    width: 32px;
    height: 32px;

    margin: -4px -4px 0 0;
    padding: 0;

    border: 0;
    border-radius: 7px;

    background: transparent;
    color: #64748b;

    font-family: Arial, sans-serif;
    font-size: 22px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;
}

.neolif-private-note-modal-close:hover {
    background: #f1f5f9;
    color: #172033;
}

.neolif-private-note-modal-body {
    padding: 4px 22px 20px;
}

/*
 * The original editor is temporarily moved into the modal by JS.
 */
.neolif-private-note-modal-body .neolif-private-note-editor {
    position: static !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}

.neolif-private-note-modal-body .neolif-private-note-input {
    display: block;

    width: 100% !important;
    min-height: 150px !important;
    max-height: 320px;

    padding: 12px 14px !important;
    resize: vertical;

    border: 1px solid #d8e1ea !important;
    border-radius: 9px !important;
    outline: none !important;

    background: #ffffff !important;
    color: #172033 !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

.neolif-private-note-modal-body .neolif-private-note-input::placeholder {
    color: #94a3b8;
}

.neolif-private-note-modal-body .neolif-private-note-input:focus {
    border-color: #0ea5e9 !important;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.10) !important;
}

.neolif-private-note-modal-body .neolif-private-note-actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;

    margin-top: 16px !important;
}

.neolif-private-note-modal-body .neolif-private-note-cancel,
.neolif-private-note-modal-body .neolif-private-note-save {
    min-width: 92px;
    min-height: 38px;

    padding: 8px 16px !important;

    border-radius: 7px !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1 !important;

    cursor: pointer;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        opacity 0.15s ease;
}

.neolif-private-note-modal-body .neolif-private-note-cancel {
    border: 1px solid #d8e1ea !important;
    background: #ffffff !important;
    color: #475569 !important;
}

.neolif-private-note-modal-body .neolif-private-note-cancel:hover {
    background: #f8fafc !important;
}

.neolif-private-note-modal-body .neolif-private-note-save {
    min-width: 132px;

    border: 1px solid #0ea5e9 !important;
    background: #0ea5e9 !important;
    color: #ffffff !important;
}

.neolif-private-note-modal-body .neolif-private-note-save:hover {
    background: #0284c7 !important;
    border-color: #0284c7 !important;
}

.neolif-private-note-modal-body .neolif-private-note-save:disabled {
    opacity: 0.65;
    cursor: wait;
}

@media (max-width: 767px) {
    .neolif-private-note-modal-backdrop {
        align-items: flex-end;
        padding: 12px;
    }

    .neolif-private-note-modal {
        max-width: none;
        border-radius: 14px;
    }

    .neolif-private-note-modal-header {
        padding: 18px 18px 12px;
    }

    .neolif-private-note-modal-body {
        padding: 4px 18px 18px;
    }

    .neolif-private-note-modal-body .neolif-private-note-input {
        min-height: 130px !important;
    }

    .neolif-private-note-modal-body .neolif-private-note-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .neolif-private-note-modal-body .neolif-private-note-cancel,
    .neolif-private-note-modal-body .neolif-private-note-save {
        width: 100%;
        min-width: 0;
    }
}

/*
 * ============================================================
 * NEOLIF PRIVATE NOTE — HOUZEZ STYLE SUCCESS MESSAGE
 * ============================================================
 */

#neolif-private-note-success-modal .modal-dialog {
    max-width: 420px;
}

#neolif-private-note-success-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 10px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.18);
}

#neolif-private-note-success-modal .neolif-private-note-success-message {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-height: 74px;
    padding: 20px 24px;

    color: #172033;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
}

#neolif-private-note-success-modal .neolif-private-note-success-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 22px;
    width: 22px;
    height: 22px;

    border-radius: 50%;
    background: #dcfce7;
    color: #15803d;

    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 767px) {
    #neolif-private-note-success-modal .modal-dialog {
        width: calc(100% - 32px);
        margin-left: auto;
        margin-right: auto;
    }
}
/*
 * ============================================================
 * NEOLIF MOBILE PROPERTY DATABASE — CARD PHASE 1
 * ============================================================
 * Mobile presentation only.
 * Desktop >= 992px remains untouched.
 *
 * Reuses the existing table row / Quick Edit / AJAX controls.
 * ============================================================
 */

@media (max-width: 991px) {

    /*
     * --------------------------------------------------------
     * PAGE
     * --------------------------------------------------------
     */

    .dashboard-right .dashboard-content {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .dashboard-right .dashboard-content .heading {
        align-items: flex-start !important;
        gap: 14px;
        margin-bottom: 16px;
    }

    .dashboard-right .dashboard-content .heading-text {
        min-width: 0;
        flex: 1 1 auto;
    }

    .dashboard-right .dashboard-content .heading-text h2 {
        margin-bottom: 5px;
        font-size: 24px;
        line-height: 1.3;
    }

    .dashboard-right .dashboard-content .heading-text p {
        font-size: 14px;
        line-height: 1.65;
    }

    .dashboard-right .dashboard-content .add-export-btn {
        flex: 0 0 auto;
    }

    .dashboard-right .dashboard-content .add-export-btn ul {
        margin: 0;
        padding: 0;
    }

    .dashboard-right .dashboard-content .add-export-btn .btn {
        min-height: 44px;
        padding: 10px 14px;
        border-radius: 10px;
        white-space: nowrap;
    }


    /*
     * --------------------------------------------------------
     * DATABASE CONTENT
     * --------------------------------------------------------
     */

    .houzez-data-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
        background: transparent !important;
    }

    .houzez-data-table {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        background: transparent !important;
    }

    .houzez-data-table .table-responsive {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }


    /*
     * --------------------------------------------------------
     * TURN DESKTOP TABLE INTO MOBILE CARD LIST
     * --------------------------------------------------------
     */

    .neolif-property-database-table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .neolif-property-database-table thead {
        display: none !important;
    }

    .neolif-property-database-table tbody {
        display: flex !important;
        flex-direction: column;
        gap: 12px;
        width: 100% !important;
    }

    .neolif-property-database-table
    tbody
    > tr.neolif-property-row {
        position: relative;

        display: grid !important;

        grid-template-columns:
            32px
            92px
            minmax(0, 1fr);

        grid-template-areas:
            "select image title"
            "price price price"
            "status status status"
            "publish publish publish"
            "location location location"
            "owner owner owner"
            "contract contract contract"
            "collab collab collab"
            "actions actions actions";

        width: 100% !important;
        min-width: 0 !important;

        padding: 14px !important;

        border: 1px solid #E2E8F0 !important;
        border-radius: 14px !important;

        background: #FFFFFF !important;

        box-shadow:
            0 2px 8px rgba(15, 23, 42, 0.05) !important;

        overflow: visible !important;
    }

    .neolif-property-database-table
    tbody
    > tr.neolif-property-row
    > td {
        display: block !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        height: auto !important;

        padding: 0 !important;

        border: 0 !important;
        background: transparent !important;

        vertical-align: top !important;
    }


    /*
     * --------------------------------------------------------
     * SELECT
     * --------------------------------------------------------
     */

    .neolif-property-row > .neolif-col-select {
        grid-area: select;

        display: flex !important;
        align-items: flex-start;
        justify-content: flex-start;

        padding-top: 2px !important;
    }

    .neolif-property-row
    > .neolif-col-select
    .control {
        margin: 0 !important;
    }


    /*
     * --------------------------------------------------------
     * IMAGE
     * --------------------------------------------------------
     */

    .neolif-property-row > .neolif-col-image {
        grid-area: image;
        padding-right: 10px !important;
    }

    .neolif-property-row .neolif-property-image,
    .neolif-property-row .image-holder {
        width: 82px !important;
        height: 82px !important;
        min-width: 82px !important;
    }

    .neolif-property-row .image-holder {
        overflow: hidden !important;
        border-radius: 10px !important;
    }

    .neolif-property-row .image-holder > a {
        display: block;
        width: 100%;
        height: 100%;
    }

    .neolif-property-row .image-holder img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }


    /*
     * --------------------------------------------------------
     * TITLE / TYPE / PROPERTY ID / PRIVATE NOTE
     * --------------------------------------------------------
     */

    .neolif-property-row > .neolif-col-title {
        grid-area: title;

        padding-left: 2px !important;
        padding-bottom: 12px !important;
    }

    .neolif-property-row .neolif-property-title {
        display: -webkit-box !important;

        margin: 0 0 5px !important;

        overflow: hidden;

        color: #172033 !important;

        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.45 !important;

        text-decoration: none !important;

        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .neolif-property-row .neolif-property-meta {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;

        gap: 3px 7px;

        margin-bottom: 5px !important;

        color: #64748B !important;

        font-size: 12px !important;
        line-height: 1.45 !important;
    }

    .neolif-property-row .neolif-private-note {
        margin-top: 4px !important;
    }

    .neolif-property-row .neolif-private-note-trigger {
        max-width: 100% !important;
        padding: 0 !important;

        color: #64748B !important;
        background: transparent !important;

        font-size: 12px !important;
        line-height: 1.4 !important;

        border: 0 !important;
    }

    .neolif-property-row .neolif-private-note-text {
        display: inline-block;
        max-width: 150px;

        overflow: hidden;

        text-overflow: ellipsis;
        white-space: nowrap;
    }


    /*
     * --------------------------------------------------------
     * RENT
     * --------------------------------------------------------
     */

    .neolif-property-row > .neolif-col-price {
        grid-area: price;

        padding: 12px 0 !important;

        border-top: 1px solid #F1F5F9 !important;

        color: #0F172A !important;

        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    .neolif-property-row
    > .neolif-col-price::after {
        content: " / เดือน";

        color: #64748B;

        font-size: 12px;
        font-weight: 500;
    }


    /*
     * --------------------------------------------------------
     * SHARED DETAIL ROWS
     * --------------------------------------------------------
     */

    .neolif-property-row > .neolif-col-property-status,
    .neolif-property-row > .neolif-col-publish-status,
    .neolif-property-row > .neolif-col-location,
    .neolif-property-row > .neolif-col-owner,
    .neolif-property-row > .neolif-col-contract,
    .neolif-property-row > .neolif-col-collaboration {
        position: relative;

        min-height: 48px !important;

        padding: 10px 0 10px 104px !important;

        border-top: 1px solid #F1F5F9 !important;

        color: #334155 !important;

        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .neolif-property-row
    > .neolif-col-property-status::before,
    .neolif-property-row
    > .neolif-col-publish-status::before,
    .neolif-property-row
    > .neolif-col-location::before,
    .neolif-property-row
    > .neolif-col-owner::before,
    .neolif-property-row
    > .neolif-col-contract::before,
    .neolif-property-row
    > .neolif-col-collaboration::before {
        content: attr(data-label);

        position: absolute;
        top: 50%;
        left: 0;

        width: 94px;

        transform: translateY(-50%);

        color: #64748B;

        font-size: 12px;
        font-weight: 500;
        line-height: 1.35;
    }

    .neolif-property-row > .neolif-col-property-status {
        grid-area: status;
    }

    .neolif-property-row > .neolif-col-publish-status {
        grid-area: publish;
    }

    .neolif-property-row > .neolif-col-location {
        grid-area: location;
    }

    .neolif-property-row > .neolif-col-owner {
        grid-area: owner;
    }

    .neolif-property-row > .neolif-col-contract {
        grid-area: contract;
    }

    .neolif-property-row > .neolif-col-collaboration {
        grid-area: collab;
    }


    /*
     * --------------------------------------------------------
     * QUICK EDIT CONTROLS
     * --------------------------------------------------------
     */

    .neolif-property-row .neolif-quick-select {
        width: 100% !important;
        max-width: 190px !important;
        min-height: 36px !important;

        margin-left: auto !important;

        padding-top: 6px !important;
        padding-bottom: 6px !important;

        border-radius: 8px !important;

        font-size: 13px !important;
    }

    .neolif-property-row .neolif-publication-control {
        display: flex !important;
        justify-content: flex-end;

        width: 100% !important;
    }

    .neolif-property-row .neolif-publish-workflow-state {
        display: inline-flex !important;
        align-items: center;

        min-height: 32px;

        padding: 5px 10px !important;

        border-radius: 999px !important;

        font-size: 12px !important;
        font-weight: 600 !important;
    }


    /*
     * --------------------------------------------------------
     * LOCATION
     * --------------------------------------------------------
     */

    .neolif-property-row .neolif-location-text {
        overflow: hidden;

        color: #334155 !important;

        text-overflow: ellipsis;
        white-space: nowrap;
    }


    /*
     * --------------------------------------------------------
     * ACTIONS
     * --------------------------------------------------------
     */

    .neolif-property-row > .neolif-col-actions {
        grid-area: actions;

        padding-top: 12px !important;

        border-top: 1px solid #F1F5F9 !important;
    }

    .neolif-property-row
    > .neolif-col-actions
    .dropdown {
        width: 100%;
    }

    .neolif-property-row
    > .neolif-col-actions
    .dropdown-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-height: 40px;

        border: 1px solid #CBD5E1 !important;
        border-radius: 9px !important;

        background: #FFFFFF !important;
    }


    /*
     * --------------------------------------------------------
     * EMPTY RESULT
     * --------------------------------------------------------
     */

    .neolif-property-database-table
    tbody
    > tr.neolif-empty-property-row {
        display: block !important;

        width: 100% !important;

        border: 1px solid #E2E8F0 !important;
        border-radius: 14px !important;

        background: #FFFFFF !important;
    }

    .neolif-property-database-table
    tbody
    > tr.neolif-empty-property-row
    > td {
        display: block !important;
        width: 100% !important;
    }
}


/*
 * ============================================================
 * NEOLIF MOBILE PROPERTY DATABASE — SMALL PHONE
 * ============================================================
 */

@media (max-width: 575px) {

    .dashboard-right .dashboard-content {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .dashboard-right .dashboard-content .heading {
        gap: 10px;
    }

    .dashboard-right .dashboard-content .heading-text h2 {
        font-size: 22px;
    }

    .dashboard-right .dashboard-content .heading-text p {
        font-size: 13px;
    }

    .dashboard-right .dashboard-content .add-export-btn .btn {
        min-height: 42px;
        padding-left: 11px;
        padding-right: 11px;
        font-size: 13px;
    }

    .neolif-property-database-table
    tbody
    > tr.neolif-property-row {
        grid-template-columns:
            28px
            82px
            minmax(0, 1fr);

        padding: 12px !important;
        border-radius: 12px !important;
    }

    .neolif-property-row .neolif-property-image,
    .neolif-property-row .image-holder {
        width: 72px !important;
        height: 72px !important;
        min-width: 72px !important;
    }

    .neolif-property-row .neolif-property-title {
        font-size: 14px !important;
    }

    .neolif-property-row > .neolif-col-price {
        font-size: 17px !important;
    }

    .neolif-property-row > .neolif-col-property-status,
    .neolif-property-row > .neolif-col-publish-status,
    .neolif-property-row > .neolif-col-location,
    .neolif-property-row > .neolif-col-owner,
    .neolif-property-row > .neolif-col-contract,
    .neolif-property-row > .neolif-col-collaboration {
        padding-left: 92px !important;
    }

    .neolif-property-row
    > .neolif-col-property-status::before,
    .neolif-property-row
    > .neolif-col-publish-status::before,
    .neolif-property-row
    > .neolif-col-location::before,
    .neolif-property-row
    > .neolif-col-owner::before,
    .neolif-property-row
    > .neolif-col-contract::before,
    .neolif-property-row
    > .neolif-col-collaboration::before {
        width: 82px;
    }
}

