/**
 * Diyarlist Listing Portal — professional dashboard UI layer.
 * Color system aligned with homepage search card (home-search.css).
 */

.diyarlist-listing-portal-context,
.dl-portal-shell {
    /* Homepage search card tokens (home-search.css) — portal design standard */
    --diyarlist-primary: #ff7900;
    --diyarlist-primary-hover: #e56a00;
    --diyarlist-primary-light: #fff0e3;
    --diyarlist-primary-ring: rgba(255, 121, 0, 0.18);
    --diyarlist-bg-warm: #fff7f0;
    --diyarlist-text: #1f2933;
    --diyarlist-muted: #64748b;
    --diyarlist-border-soft: #e8ddd4;
    --diyarlist-input-border: 1.5px;
    --diyarlist-control-h: 40px;
    --diyarlist-input-height: calc(var(--diyarlist-control-h) + (var(--diyarlist-input-border) * 2));
    --diyarlist-button-height: var(--diyarlist-input-height);
    --diyarlist-radius-card: 16px;
    --diyarlist-radius-button: 999px;
    --diyarlist-radius: 10px;
    --diyarlist-card-shadow: 0 6px 24px rgba(31, 41, 51, 0.07);
    --diyarlist-card-shadow-lg: 0 12px 40px rgba(31, 41, 51, 0.08);
    --diyarlist-card-bg: rgba(255, 255, 255, 0.84);
    --diyarlist-card-bg-solid: #ffffff;
    --diyarlist-card-blur: 8px;
    --diyarlist-glass-bg: rgba(255, 255, 255, 0.20);
    --diyarlist-glass-border: rgba(255, 255, 255, 0.48);
    --diyarlist-control-bg: rgba(255, 255, 255, 0.84);
    --diyarlist-control-bg-focus: rgba(255, 255, 255, 0.90);
    --diyarlist-btn-shadow: 0 4px 16px rgba(255, 121, 0, 0.35);
    --diyarlist-btn-shadow-hover: 0 6px 20px rgba(255, 121, 0, 0.4);
    --diyarlist-transition: 0.2s ease;
    /* Aliases for existing portal rules */
    --diyarlist-primary-dark: var(--diyarlist-primary-hover);
    --diyarlist-border: var(--diyarlist-border-soft);
    --diyarlist-radius-lg: var(--diyarlist-radius-card);
    --diyarlist-shadow: var(--diyarlist-card-shadow);
    --diyarlist-shadow-lg: var(--diyarlist-card-shadow-lg);
    --dl-orange: var(--diyarlist-primary);
    --dl-orange-dark: var(--diyarlist-primary-hover);
    --dl-orange-light: var(--diyarlist-primary-light);
    --dl-orange-ring: var(--diyarlist-primary-ring);
    --dl-bg: var(--diyarlist-bg-warm);
    --dl-text: var(--diyarlist-text);
    --dl-muted: var(--diyarlist-muted);
    --dl-border: var(--diyarlist-border-soft);
    --dl-white: var(--diyarlist-card-bg-solid);
    --dl-radius: var(--diyarlist-radius);
    --dl-radius-lg: var(--diyarlist-radius-card);
    --dl-shadow: var(--diyarlist-card-shadow);
    --dl-shadow-lg: var(--diyarlist-card-shadow-lg);
    --dl-portal-max-wide: 1240px;
    --dl-portal-max-form: 900px;
    --dl-portal-max-landing: 960px;
}

.diyarlist-listing-portal-context {
    background: linear-gradient(180deg, var(--dl-bg) 0%, #ffffff 320px);
}

.diyarlist-listing-portal-context .diyarlist-agency-application,
.diyarlist-listing-portal-context .diyarlist-agency-dashboard,
.diyarlist-listing-portal-context .diyarlist-agent-dashboard,
.diyarlist-listing-portal-context .diyarlist-portal-account,
.diyarlist-listing-portal-context .diyarlist-agency-profile,
.diyarlist-listing-portal-context .diyarlist-agent-profile,
.diyarlist-listing-portal-context .diyarlist-pending-registrations,
.diyarlist-listing-portal-context .dl-vc-wrap,
.dl-portal-shell {
    color: #0f172a;
    font-size: 0.9375rem;
    line-height: 1.5;
}

.dl-portal-card,
.diyarlist-portal-card {
    background: var(--diyarlist-card-bg-solid);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    margin-bottom: 1.25rem;
    padding: 1.35rem 1.5rem;
}

.dl-portal-card .block-title,
.diyarlist-portal-card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 0.75rem;
}

.dl-portal-muted,
.diyarlist-portal-account .description {
    color: #64748b;
    font-size: 0.875rem;
}

.dl-portal-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.dl-portal-select,
.diyarlist-agency-form input[type="text"],
.diyarlist-agency-form input[type="email"],
.diyarlist-agency-form input[type="date"],
.diyarlist-agency-form input[type="url"],
.diyarlist-agency-form input[type="tel"],
.diyarlist-agency-form input[type="number"],
.diyarlist-agency-form input.regular-text,
.diyarlist-agency-form textarea,
.diyarlist-agency-form select,
.diyarlist-profile-form input,
.diyarlist-profile-form textarea,
.diyarlist-op-filter-form select,
.diyarlist-op-filter-form input {
    background: var(--diyarlist-control-bg);
    border: var(--diyarlist-input-border) solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius);
    box-shadow: none;
    box-sizing: border-box;
    font-size: 0.9375rem;
    height: var(--diyarlist-input-height);
    line-height: 1.2;
    min-height: var(--diyarlist-input-height);
    padding: 0 0.85rem;
    transition: border-color var(--diyarlist-transition), background var(--diyarlist-transition), box-shadow var(--diyarlist-transition);
    width: 100%;
    max-width: 100%;
}

.diyarlist-agency-form textarea,
.diyarlist-profile-form textarea {
    height: auto;
    min-height: calc(var(--diyarlist-input-height) * 2);
    padding: 0.65rem 0.85rem;
}

.dl-portal-select:focus,
.diyarlist-agency-form input:focus,
.diyarlist-agency-form textarea:focus,
.diyarlist-agency-form select:focus,
.diyarlist-profile-form input:focus,
.diyarlist-profile-form textarea:focus,
.diyarlist-op-filter-form select:focus,
.diyarlist-op-filter-form input:focus {
    background: var(--diyarlist-control-bg-focus);
    border-color: var(--diyarlist-primary);
    box-shadow: 0 0 0 3px var(--diyarlist-primary-ring);
    outline: none;
}

.diyarlist-agency-form fieldset {
    border: 1px solid #e8ecf1;
    border-radius: 10px;
    margin: 0 0 1.25rem;
    padding: 1rem 1.15rem;
}

.diyarlist-agency-portal-nav {
    display: none !important;
}

.dl-portal-layout-active .dashboard-right,
.dl-portal-layout-active .dashboard-content {
    background: transparent;
}

.dl-portal-layout-active .dashboard-right .dashboard-content {
    padding-top: 0.5rem;
}

.diyarlist-agency-portal-nav__list a {
    border-radius: 8px;
    color: #334155;
    font-size: 0.875rem;
    padding: 0.35rem 0.65rem;
}

.diyarlist-agency-portal-nav__list li.is-active a,
.diyarlist-agency-portal-nav__list a:hover {
    background: #eff6ff;
    color: #1d4ed8;
}

.diyarlist-portal-account-options,
.diyarlist-portal-cards,
.diyarlist-agency-summary {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

/* Two-up form field row (e.g. First name + Surname). Kit primitive: wrap two
   .dl-portal-field blocks; collapses to a single column on narrow widths.
   The fields share label / control / message rows via subgrid, so a label
   that wraps to two lines can never push its input below its neighbour's —
   the input boxes always sit on the same line. (Engines without subgrid
   simply skip the shared rows and fall back to independent columns.) */
.dl-portal-field-row {
    display: grid;
    gap: 0 1rem;
    grid-template-columns: 1fr 1fr;
    align-items: start;
}

.dl-portal-field-row > .dl-portal-field {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3; /* label / control / inline error */
    align-content: start;
}

.dl-portal-field-row > .dl-portal-field > label {
    align-self: end;
}

@media (max-width: 640px) {
    .dl-portal-field-row {
        grid-template-columns: 1fr;
    }
}

.diyarlist-portal-account-card,
.diyarlist-portal-card {
    background: var(--diyarlist-card-bg-solid);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    padding: 1.15rem 1.25rem;
}

/* Primary buttons — match homepage search submit (.dl-search-submit) */
.diyarlist-listing-portal-context .button.btn-primary,
.diyarlist-listing-portal-context .button.dl-portal-btn-primary,
.diyarlist-listing-portal-context .btn.btn-primary,
.dl-portal-shell .button.btn-primary,
.dl-portal-shell .button.dl-portal-btn-primary,
.dl-portal-shell .btn.btn-primary,
.diyarlist-portal-account-card .button.btn-primary,
.diyarlist-portal-card .button.btn-primary,
.dl-portal-card .btn-primary,
.dl-portal-btn-primary,
.diyarlist-agency-form .btn-primary,
.dl-portal-hero__actions .button,
.dl-portal-landing-cta .button.btn-primary,
.dl-portal-page-header__actions .button.btn-primary {
    align-items: center;
    background: var(--diyarlist-primary);
    border: none;
    border-radius: var(--diyarlist-radius-button);
    box-shadow: var(--diyarlist-btn-shadow);
    box-sizing: border-box;
    color: #fff;
    display: inline-flex;
    font-size: 15px;
    font-weight: 700;
    height: var(--diyarlist-button-height);
    justify-content: center;
    letter-spacing: 0.01em;
    line-height: 1;
    min-height: var(--diyarlist-button-height);
    padding: 0 1rem;
    text-decoration: none;
    transition: background var(--diyarlist-transition), transform var(--diyarlist-transition), box-shadow var(--diyarlist-transition);
    white-space: nowrap;
}

.dl-portal-btn-primary:hover,
.diyarlist-agency-form .btn-primary:hover,
.diyarlist-portal-account-card .button.btn-primary:hover,
.diyarlist-listing-portal-context .button.btn-primary:hover,
.dl-portal-shell .button.btn-primary:hover,
.dl-portal-hero__actions .button:hover,
.dl-portal-landing-cta .button.btn-primary:hover {
    background: var(--diyarlist-primary-hover);
    border-color: transparent;
    box-shadow: var(--diyarlist-btn-shadow-hover);
    color: #fff;
    transform: translateY(-1px);
}

.dl-portal-btn-primary:active,
.diyarlist-agency-form .btn-primary:active,
.diyarlist-listing-portal-context .button.btn-primary:active {
    transform: translateY(0);
}

.dl-portal-btn-secondary,
.diyarlist-portal-account-card .button.btn-secondary,
.diyarlist-listing-portal-context .button.btn-secondary,
.dl-portal-shell .button.btn-secondary {
    align-items: center;
    background: var(--diyarlist-card-bg-solid);
    border: var(--diyarlist-input-border) solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-button);
    box-sizing: border-box;
    color: var(--diyarlist-text);
    display: inline-flex;
    font-size: 15px;
    font-weight: 700;
    height: var(--diyarlist-button-height);
    justify-content: center;
    line-height: 1;
    min-height: var(--diyarlist-button-height);
    padding: 0 1rem;
    text-decoration: none;
    transition: background var(--diyarlist-transition), border-color var(--diyarlist-transition), color var(--diyarlist-transition);
}

.dl-portal-btn-secondary:hover,
.diyarlist-portal-account-card .button.btn-secondary:hover {
    background: var(--diyarlist-primary-light);
    border-color: var(--diyarlist-primary);
    color: var(--diyarlist-primary-hover);
}

.diyarlist-notice {
    backdrop-filter: blur(var(--diyarlist-card-blur));
    -webkit-backdrop-filter: blur(var(--diyarlist-card-blur));
    border-radius: var(--diyarlist-radius-card);
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
}

.diyarlist-notice-success {
    background: #ecfdf3;
    border: 1px solid #86efac;
    color: #166534;
}

.diyarlist-notice-error {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    color: #991b1b;
}

.diyarlist-notice-warning {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #92400e;
}

.diyarlist-notice-info {
    background: #eff6ff;
    border: 1px solid #93c5fd;
    color: #1e3a8a;
}

.diyarlist-agency-portal-banner {
    background: linear-gradient(135deg, var(--diyarlist-primary-light) 0%, var(--diyarlist-card-bg-solid) 100%);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
}

.dl-responsible-broker-locked {
    background: var(--diyarlist-bg-warm);
    border: var(--diyarlist-input-border) dashed var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    padding: 0.85rem 1rem;
}

.dl-responsible-broker-locked__list {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
}

.dl-responsible-broker-locked__list li {
    margin: 0.2rem 0;
}

.diyarlist-stat-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.diyarlist-stat-list li {
    border-bottom: 1px solid #f1f5f9;
    padding: 0.45rem 0;
}

.diyarlist-dl-grid {
    display: grid;
    gap: 0.35rem 1rem;
    grid-template-columns: minmax(120px, 34%) 1fr;
}

.diyarlist-dl-grid dt {
    color: #64748b;
    font-weight: 600;
    margin: 0;
}

.diyarlist-dl-grid dd {
    margin: 0;
}

.diyarlist-op-filter-form {
    backdrop-filter: blur(var(--diyarlist-card-blur));
    -webkit-backdrop-filter: blur(var(--diyarlist-card-blur));
    background: var(--diyarlist-card-bg-solid);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    margin-bottom: 1.25rem;
    padding: 1rem 1.15rem;
}

.table.dl-op-listings-table {
    background: var(--diyarlist-card-bg-solid);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    overflow: hidden;
}

.table.dl-op-listings-table thead th {
    background: rgba(15, 23, 42, 0.04);
    border-bottom: 1px solid var(--diyarlist-border-soft, #e2e8f0);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.dl-op-listing-row td {
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.8125rem;
    vertical-align: top;
}

.dlv-badge,
.dl-public-badge {
    border-radius: 999px;
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.3;
    margin: 0.1rem 0.15rem 0.1rem 0;
    padding: 0.15rem 0.5rem;
    white-space: nowrap;
}

.dlv-badge--ok {
    background: #ecfdf3;
    color: #166534;
}

.dlv-badge--warn {
    background: #fffbeb;
    color: #92400e;
}

.dlv-badge--err {
    background: #fef2f2;
    color: #991b1b;
}

.dlv-badge--muted {
    background: #f1f5f9;
    color: #475569;
}

.dl-op-actions .houzez-link {
    display: inline-block;
    font-size: 0.8125rem;
    margin-right: 0.5rem;
}

/* Legacy houzez-link fallback — listings actions use .dl-vc-btn in operational dashboard */
.dl-portal-listings-panel .dl-op-actions a.dl-vc-btn {
    margin-right: 0;
}

.diyarlist-pending-registrations .widefat {
    border: 1px solid #e8ecf1;
    border-radius: 10px;
    overflow: hidden;
}

@media (max-width: 991px) {
    .table.dl-op-listings-table thead {
        display: none;
    }

    .dl-op-listing-row {
        display: block;
        margin-bottom: 1rem;
        border: 1px solid #e8ecf1;
        border-radius: 12px;
        padding: 0.5rem;
    }

    .dl-op-listing-row td {
        display: block;
        border: 0;
        padding: 0.45rem 0.65rem;
    }

    .dl-op-listing-row td::before {
        color: #64748b;
        content: attr(data-label);
        display: block;
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        margin-bottom: 0.2rem;
        text-transform: uppercase;
    }

    .dl-op-col-select::before {
        display: none !important;
    }
}

/* ==========================================================================
   Landing page
   ========================================================================== */

.diyarlist-portal-landing {
    max-width: 960px;
}

.dl-portal-hero {
    backdrop-filter: blur(var(--diyarlist-card-blur));
    -webkit-backdrop-filter: blur(var(--diyarlist-card-blur));
    background: linear-gradient(135deg, var(--diyarlist-glass-bg) 0%, var(--diyarlist-card-bg) 55%, var(--diyarlist-card-bg-solid) 100%);
    border: 1px solid var(--diyarlist-glass-border);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow-lg);
    margin-bottom: 2rem;
    padding: 2rem 1.75rem;
    text-align: center;
}

.dl-portal-hero__eyebrow {
    color: var(--dl-orange-dark);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin: 0 0 0.5rem;
    text-transform: uppercase;
}

.dl-portal-hero__title {
    color: var(--dl-text);
    font-size: clamp(1.75rem, 4vw, 2.35rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 0.75rem;
}

.dl-portal-hero__subtitle {
    color: var(--dl-muted);
    font-size: 1.05rem;
    margin: 0 auto 1.5rem;
    max-width: 640px;
}

.dl-portal-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
}

.dl-portal-section {
    margin-bottom: 2rem;
}

.dl-portal-section__title {
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0 0 1rem;
}

.dl-portal-section--muted {
    backdrop-filter: blur(var(--diyarlist-card-blur));
    -webkit-backdrop-filter: blur(var(--diyarlist-card-blur));
    background: var(--diyarlist-card-bg-solid);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    padding: 1.25rem 1.5rem;
}

.dl-portal-features {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.dl-portal-feature-card {
    background: var(--diyarlist-card-bg-solid);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    padding: 1.1rem 1.2rem;
}

.dl-portal-feature-card h3 {
    color: var(--dl-text);
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0 0 0.45rem;
}

.dl-portal-feature-card p {
    color: var(--dl-muted);
    font-size: 0.875rem;
    margin: 0;
}

.dl-portal-steps {
    background: var(--diyarlist-card-bg-solid);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    counter-reset: portal-step;
    list-style: none;
    margin: 0;
    padding: 0;
}

.dl-portal-steps li {
    border-bottom: 1px solid #f1ebe4;
    color: var(--dl-muted);
    font-size: 0.9375rem;
    padding: 0.95rem 1.15rem 0.95rem 3rem;
    position: relative;
}

.dl-portal-steps li:last-child {
    border-bottom: 0;
}

.dl-portal-steps li::before {
    background: var(--dl-orange-light);
    border: 1px solid var(--dl-orange);
    border-radius: 999px;
    color: var(--dl-orange-dark);
    content: counter(portal-step);
    counter-increment: portal-step;
    font-size: 0.75rem;
    font-weight: 700;
    height: 1.5rem;
    left: 1rem;
    line-height: 1.5rem;
    position: absolute;
    text-align: center;
    top: 0.85rem;
    width: 1.5rem;
}

.dl-portal-steps li strong {
    color: var(--dl-text);
}

.dl-portal-landing-cta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.dl-portal-link-muted {
    color: var(--dl-muted);
    font-size: 0.875rem;
    margin-left: 0.25rem;
}

.dl-portal-form-card {
    backdrop-filter: blur(var(--diyarlist-card-blur));
    -webkit-backdrop-filter: blur(var(--diyarlist-card-blur));
    background: var(--diyarlist-card-bg-solid);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow-lg);
    padding: 1.5rem;
}

.dl-portal-form-header h2 {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0 0 0.35rem;
}

.dl-portal-back-link {
    margin: 0 0 1rem;
}

.dl-portal-back-link a {
    color: var(--dl-orange-dark);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
}

.dl-portal-form-submit {
    margin-top: 0.5rem;
}

.diyarlist-agency-form fieldset legend {
    color: var(--dl-text);
    font-size: 1rem;
    font-weight: 700;
    padding: 0 0.25rem;
}

.diyarlist-agency-portal-nav__list li.is-active a {
    background: var(--dl-orange-light);
    color: var(--dl-orange-dark);
}

.diyarlist-portal-admin-verifications {
    background: var(--dl-white) !important;
    border: 1px solid var(--dl-border) !important;
    border-radius: var(--dl-radius) !important;
    box-shadow: var(--dl-shadow) !important;
}

@media (max-width: 640px) {
    .dl-portal-hero {
        padding: 1.5rem 1.15rem;
    }

    .dl-portal-hero__actions,
    .dl-portal-landing-cta {
        flex-direction: column;
        width: 100%;
    }

    .dl-portal-hero__actions .button,
    .dl-portal-landing-cta .button {
        text-align: center;
        width: 100%;
    }
}

/* ==========================================================================
   Layout shell — full-width background + centered containers
   ========================================================================== */

.dl-portal-layout-active .page-title,
.dl-portal-layout-active .entry-title,
.dl-portal-layout-active .breadcrumb-wrap,
.dl-portal-template-main > .page-title {
    display: none !important;
}

.dl-portal-layout-active #main-wrap,
.dl-portal-layout-active .houzez-dashboard-body,
.dl-portal-template-main {
    background: linear-gradient(180deg, var(--diyarlist-bg-warm) 0%, #ffffff 420px);
}

.dl-portal-layout-active .container,
.dl-portal-layout-active .houzez-container,
.dl-portal-layout-active .elementor-section .elementor-container {
    max-width: 100% !important;
    width: 100% !important;
}

.dl-portal-layout-active .content-wrap,
.dl-portal-layout-active .page-content-wrap,
.dl-portal-layout-active article.page {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.dl-portal-page {
    margin: 0 auto;
    padding: 0 1rem 2.5rem;
    width: 100%;
}

.dl-portal-page__container {
    margin: 0 auto;
    width: 100%;
}

.dl-portal-page__container--wide {
    max-width: var(--dl-portal-max-wide);
}

.dl-portal-page__container--form {
    max-width: var(--dl-portal-max-form);
}

.dl-portal-page__container--landing {
    max-width: var(--dl-portal-max-landing);
}

.dl-portal-page__inner {
    padding-top: 0.5rem;
}

/* ==========================================================================
   Portal header / navigation
   ========================================================================== */

.dl-portal-header {
    backdrop-filter: blur(var(--diyarlist-card-blur));
    -webkit-backdrop-filter: blur(var(--diyarlist-card-blur));
    background: var(--diyarlist-card-bg);
    border-bottom: 1px solid var(--diyarlist-border-soft);
    box-shadow: var(--diyarlist-card-shadow);
    margin: 0 0 1.5rem;
    position: sticky;
    top: 0;
    z-index: 120;
}

.dl-portal-header__bar {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: 0 auto;
    max-width: var(--dl-portal-max-wide);
    padding: 0.85rem 1rem;
}

.dl-portal-header__brand {
    flex-shrink: 0;
}

.dl-portal-header__logo {
    align-items: center;
    color: var(--dl-text);
    display: inline-flex;
    gap: 0.65rem;
    text-decoration: none;
}

.dl-portal-logo-text {
    display: inline-block;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.15;
}

.dl-portal-header__logo-img {
    display: block;
    height: 2.15rem;
    width: auto;
    max-width: 160px;
}

.dl-portal-header__logo-mark {
    align-items: center;
    background: linear-gradient(135deg, var(--diyarlist-primary) 0%, var(--diyarlist-primary-dark) 100%);
    border-radius: 10px;
    color: #fff;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 800;
    height: 2.25rem;
    justify-content: center;
    width: 2.25rem;
}

.dl-portal-header__logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}

.dl-portal-header__logo-text strong {
    font-size: 1rem;
    font-weight: 800;
}

.dl-portal-header__logo-text em {
    color: var(--dl-muted);
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 600;
}

.dl-portal-header__toggle {
    background: transparent;
    border: 1px solid var(--diyarlist-border);
    border-radius: 10px;
    cursor: pointer;
    display: none;
    flex-direction: column;
    gap: 4px;
    padding: 0.45rem 0.55rem;
}

.dl-portal-header__toggle-bar {
    background: var(--dl-text);
    border-radius: 999px;
    display: block;
    height: 2px;
    width: 18px;
}

.dl-portal-header__nav-wrap {
    align-items: center;
    display: flex;
    flex: 1;
    gap: 1rem;
    justify-content: space-between;
}

.dl-portal-header__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
}

.dl-portal-header__nav-group-label {
    color: var(--dl-muted);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin: 0 0 0.15rem;
    text-transform: uppercase;
    width: 100%;
}

.dl-portal-header__nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.dl-portal-header__nav-list a {
    border-radius: 999px;
    color: var(--dl-text);
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.4rem 0.75rem;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.dl-portal-header__nav-list li.is-active a,
.dl-portal-header__nav-list a:hover {
    background: var(--diyarlist-primary-light);
    color: var(--diyarlist-primary-dark);
}

/* Listing Portal entry (/listing-portal/) — compact logged-out nav */
.dl-portal-header--listing-guest .dl-portal-header__nav,
.dl-portal-header--listing-guest .dl-portal-header__nav-list {
    flex-wrap: nowrap;
}

.dl-portal-header--listing-guest .dl-portal-header__nav-list {
    gap: 0.15rem 0.35rem;
}

.dl-portal-header--listing-guest .dl-portal-header__nav-list a {
    font-size: 0.8125rem;
    padding: 0.35rem 0.6rem;
    white-space: nowrap;
}

.dl-portal-header--listing-guest .dl-portal-header__user .dl-portal-header__cta {
    display: none;
}

.dl-portal-header__user {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 0.65rem;
}

.dl-portal-header__account-menu {
    position: relative;
}

.dl-portal-header__account-toggle {
    align-items: center;
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    gap: 0.45rem;
    list-style: none;
    padding: 0.35rem 0.7rem;
    user-select: none;
}

.dl-portal-header__account-toggle::-webkit-details-marker {
    display: none;
}

.dl-portal-header__account-avatar {
    background: var(--diyarlist-primary-light);
    border-radius: 50%;
    display: inline-flex;
    height: 1.35rem;
    justify-content: center;
    line-height: 1.35rem;
    width: 1.35rem;
}

.dl-portal-header__account-dropdown {
    background: #fff;
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: 10px;
    box-shadow: var(--diyarlist-card-shadow);
    min-width: 160px;
    padding: 0.4rem;
    position: absolute;
    right: 0;
    top: calc(100% + 0.3rem);
    z-index: 130;
}

.dl-portal-header__account-dropdown a {
    border-radius: 8px;
    color: var(--diyarlist-text);
    display: block;
    font-size: 0.85rem;
    padding: 0.45rem 0.55rem;
    text-decoration: none;
}

.dl-portal-header__account-dropdown a:hover {
    background: var(--diyarlist-primary-light);
    color: var(--diyarlist-primary-dark);
}

.dl-portal-header__user-meta {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.dl-portal-header__user-name {
    font-size: 0.875rem;
    font-weight: 700;
}

.dl-portal-header__logout,
.dl-portal-header__cta {
    font-size: 0.875rem;
    text-decoration: none;
    white-space: nowrap;
}

.dl-portal-header__logout {
    color: var(--dl-muted);
    font-weight: 600;
}

.dl-portal-header__logout:hover {
    color: var(--diyarlist-primary-dark);
}

/* ==========================================================================
   Page header + badges + stat cards
   ========================================================================== */

.dl-portal-page-header {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin: 0 0 1.5rem;
}

.dl-portal-page-header__title {
    color: var(--dl-text);
    font-size: clamp(1.65rem, 3vw, 2.1rem);
    font-weight: 800;
    line-height: 1.15;
    margin: 0.35rem 0 0.5rem;
}

.dl-portal-page-header__subtitle {
    color: var(--dl-muted);
    font-size: 1rem;
    margin: 0;
    max-width: 720px;
}

.dl-portal-page-header__actions {
    padding-top: 0.35rem;
}

.dl-portal-badge,
.dlv-badge,
.dl-public-badge {
    border-radius: 999px;
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.3;
    padding: 0.2rem 0.6rem;
    white-space: nowrap;
}

.dl-portal-badge--ok,
.dlv-badge--ok {
    background: #ecfdf3;
    color: #166534;
}

.dl-portal-badge--warn,
.dlv-badge--warn {
    background: var(--diyarlist-primary-light);
    color: var(--diyarlist-primary-dark);
}

.dl-portal-badge--muted,
.dlv-badge--muted {
    background: #f1f5f9;
    color: #475569;
}

.dl-portal-stat-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin-bottom: 1.25rem;
}

.dl-portal-dashboard-agency .diyarlist-agency-dashboard,
.dl-portal-dashboard-agent .diyarlist-agent-dashboard {
    width: 100%;
    max-width: var(--dl-portal-max-wide);
}

body.dl-portal-dash-shell-page .diyarlist-agency-dashboard,
body.dl-portal-dash-shell-page .diyarlist-agent-dashboard {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.dl-portal-dashboard-agency .diyarlist-agency-listings,
.dl-portal-dashboard-agency .diyarlist-agency-listings .table-responsive,
.dl-portal-dashboard-agent .diyarlist-agent-listings,
.dl-portal-dashboard-agent .diyarlist-agent-listings .table-responsive {
    width: 100%;
    max-width: 100%;
}

/* Redesigned to the kit stat-card (VC overview) look: flat (no frosted blur),
   big orange value. Scoped to .dl-portal-stat-card (operator portal only). */
.dl-portal-stat-card {
    background: var(--diyarlist-card-bg-solid);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    padding: 1.25rem 1.35rem;
}

.dl-portal-stat-card__label {
    color: var(--dl-muted);
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0 0 0.35rem;
}

.dl-portal-stat-card__value {
    color: var(--diyarlist-primary, #ff7900);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    margin: 0;
}

.dl-portal-stat-card__hint {
    color: var(--dl-muted);
    font-size: 0.8125rem;
    line-height: 1.35;
    margin: 0.35rem 0 0;
}

.dl-portal-stat-card--slots .dl-portal-stat-card__value {
    margin-bottom: 0.15rem;
}

.dl-portal-stat-card__badge-wrap {
    margin: 0.4rem 0 0;
}

.dl-portal-stat-grid--agent-slots {
    margin-bottom: 1rem;
}

.dl-agent-limit-cell {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.875rem;
}

.dl-agent-limit-cell .dl-agent-limit-count {
    font-weight: 600;
}

.dl-agent-limit-cell .dl-agent-limit-active {
    font-size: 0.8125rem;
}

.dl-agent-unlink-workflow {
    margin-bottom: 1.5rem;
}

.dl-agent-unlink-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 0.75rem 1.25rem;
    margin: 1rem 0 1.25rem;
}

.dl-agent-unlink-summary dt {
    color: var(--dl-muted);
    font-size: 0.75rem;
    font-weight: 600;
    margin: 0 0 0.2rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.dl-agent-unlink-summary dd {
    margin: 0;
    font-weight: 600;
}

.dl-agent-unlink-choice {
    border: 0;
    margin: 1rem 0;
    padding: 0;
}

.dl-agent-unlink-option {
    display: block;
    margin-bottom: 0.85rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--dl-border, #e2e8f0);
    border-radius: 8px;
    cursor: pointer;
}

.dl-agent-unlink-option__title {
    display: block;
    font-weight: 600;
}

.dl-agent-unlink-option__desc {
    display: block;
    color: var(--dl-muted);
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.dl-agent-unlink-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.dl-portal-next-action {
    backdrop-filter: blur(var(--diyarlist-card-blur));
    -webkit-backdrop-filter: blur(var(--diyarlist-card-blur));
    background: linear-gradient(135deg, var(--diyarlist-primary-light) 0%, var(--diyarlist-card-bg) 100%);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    margin-bottom: 1.25rem;
    padding: 1.1rem 1.25rem;
}

.dl-portal-next-action h3 {
    font-size: 1rem;
    font-weight: 800;
    margin: 0 0 0.35rem;
}

.dl-portal-next-action p {
    color: var(--dl-muted);
    margin: 0 0 0.75rem;
}

/* ==========================================================================
   Forms + sections + tables polish
   ========================================================================== */

.diyarlist-agency-form fieldset,
.dl-portal-form-section {
    background: var(--diyarlist-card-bg-solid);
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    margin: 0 0 1.25rem;
    padding: 1.15rem 1.25rem;
}

.diyarlist-agency-form fieldset legend,
.dl-portal-form-section__title {
    color: var(--dl-text);
    font-size: 1rem;
    font-weight: 800;
    padding: 0 0.25rem;
}

.diyarlist-agency-form .required,
.dl-portal-required {
    color: var(--diyarlist-primary-dark);
}

.diyarlist-frontend-doc-upload {
    background: var(--diyarlist-bg-warm);
    border: var(--diyarlist-input-border) dashed var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    padding: 0.85rem;
}

.dl-agency-team__table-wrap {
    overflow-x: auto;
}

.diyarlist-portal-table,
.diyarlist-agents-table {
    background: var(--diyarlist-card-bg);
    border: 1px solid var(--diyarlist-border);
    border-radius: var(--diyarlist-radius-lg);
    box-shadow: var(--diyarlist-shadow);
    overflow: hidden;
    width: 100%;
}

.diyarlist-portal-table thead th {
    background: rgba(15, 23, 42, 0.04);
    border-bottom: 1px solid var(--diyarlist-border-soft, #e2e8f0);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.diyarlist-agency-dashboard section,
.diyarlist-agent-dashboard section,
.diyarlist-add-agent {
    margin-bottom: 1.5rem;
}

.diyarlist-agency-dashboard section > h3,
.diyarlist-agent-dashboard section > h3,
.diyarlist-add-agent > h3 {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0 0 0.75rem;
}

.diyarlist-hide-houzez-native-broker-ui .header-nav .nav-link[href*="user_dashboard"] {
    display: none !important;
}

.dl-listing-entry-help {
    margin-top: 0.75rem;
}

/* Houzez page.php title/sidebar fixes: assets/css/listing-entry-houzez-fix.css (listing only) */

/* ==========================================================================
   /listing entry — inner content only (portal shell is shared)
   ========================================================================== */

.dl-listing-entry {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: 1120px;
    padding: 0;
    width: 100%;
}

.dl-listing-entry > * + * {
    margin-top: 1.25rem;
}

.dl-listing-entry-hero {
    padding: 1.5rem 1.75rem;
}

.dl-listing-entry-hero__title {
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 0.5rem;
}

.dl-listing-entry-hero__lead {
    color: var(--diyarlist-muted, #64748b);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
    max-width: 42rem;
}

.dl-listing-entry-actions__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dl-listing-entry-action-card {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    height: 100%;
    margin-bottom: 0;
}

.dl-listing-entry-action-card__title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
}

.dl-listing-entry-action-card .dl-portal-muted {
    flex: 1 1 auto;
    margin: 0;
}

.dl-listing-entry-action-card .dl-vc-btn {
    align-self: flex-start;
    margin-top: auto;
}

.dl-listing-entry-section {
    margin-bottom: 0;
    padding: 1.35rem 1.5rem;
}

.dl-listing-entry-section__title {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 1rem;
}

.dl-listing-entry-faq {
    margin: 0;
}

.dl-listing-entry-faq dt {
    font-size: 0.9375rem;
    font-weight: 700;
    margin: 1rem 0 0;
}

.dl-listing-entry-faq dt:first-child {
    margin-top: 0;
}

.dl-listing-entry-faq dd {
    color: var(--diyarlist-muted, #64748b);
    font-size: 0.9375rem;
    line-height: 1.5;
    margin: 0.35rem 0 0;
}

.dl-listing-entry-back {
    margin: 0;
}

.dl-listing-entry--login .dl-listing-entry-login-panel {
    margin: 0;
}

.dl-listing-entry--login .dl-portal-login-layout {
    margin: 0;
    max-width: none;
}

.dl-listing-entry--login .dl-listing-entry-login-form,
.dl-listing-entry--login .dl-portal-entry-login {
    margin-top: 0;
    max-width: none;
}

@media (max-width: 991px) {
    .dl-listing-entry-actions__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .dl-listing-entry-hero {
        padding: 1.25rem 1.15rem;
    }

    .dl-listing-entry-hero__title {
        font-size: 1.45rem;
    }

    .dl-listing-entry-section {
        padding: 1.15rem 1.15rem;
    }
}

.dl-temp-password-once {
    background: #fff8f0;
    border: 1px dashed var(--diyarlist-primary, #e67e22);
    font-size: 1rem;
    padding: 0.35rem 0.5rem;
}

.dl-vc-entity-filters {
    margin-bottom: 1rem;
}

.dl-portal-entry-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    margin-top: 1.25rem;
}

.dl-portal-entry-card h2 {
    font-size: 1.15rem;
    margin: 0 0 0.5rem;
}

.dl-portal-entry-login:not(.dl-listing-entry-login-form) {
    margin-top: 1rem;
    max-width: 420px;
}

.dl-portal-dash-tabs,
.dl-portal-dash-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1.25rem;
}

.dl-portal-dash-tab,
.dl-portal-dash-subtab {
    border: 1px solid var(--diyarlist-border);
    border-radius: 999px;
    color: var(--diyarlist-text);
    display: inline-flex;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.4rem 0.9rem;
    text-decoration: none;
}

.dl-portal-dash-tab.is-active,
.dl-portal-dash-subtab.is-active {
    background: var(--diyarlist-primary);
    border-color: var(--diyarlist-primary);
    color: #fff;
}

/* Diyarlist portal search/filter style system.
   Use these classes for all new dashboard, portal, verification, statistics, and promotion search interfaces. */
.diyarlist-listing-portal-context .dl-search-card,
.dl-vc-wrap .dl-search-card,
.dl-portal-shell .dl-search-card {
    background: #fff;
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-card);
    box-shadow: var(--diyarlist-card-shadow);
    margin: 0 0 1rem;
    padding: 1rem;
}

.dl-search-card__header {
    margin-bottom: 0.65rem;
}

.dl-search-card__title {
    color: var(--diyarlist-text);
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 0.2rem;
}

.dl-search-card__helper {
    color: var(--diyarlist-muted);
    font-size: 0.86rem;
    margin: 0;
}

.dl-search-card__form,
.dl-portal-search-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: 0;
}

.dl-search-card__field {
    flex: 1 1 320px;
    min-width: 320px;
}

.dl-search-card__input,
.dl-search-card__select,
.dl-portal-search-form input[type="search"],
.diyarlist-listing-filter-form select {
    background: var(--diyarlist-control-bg);
    border: var(--diyarlist-input-border) solid var(--diyarlist-border-soft);
    border-radius: var(--diyarlist-radius-button);
    box-sizing: border-box;
    min-height: var(--diyarlist-input-height);
    padding: 0 0.9rem;
    width: 100%;
}

.dl-search-card__button {
    flex: 0 0 auto;
}

.dl-search-card__clear {
    flex: 0 0 auto;
}

.dl-search-card--filters .dl-search-card__form {
    align-items: flex-end;
}

.dl-search-card__filters {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    width: 100%;
}

.dl-search-card__filters--single {
    grid-template-columns: minmax(240px, 420px);
}

.dl-search-card__filters label {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.dl-search-card__label {
    color: var(--diyarlist-muted);
    font-size: 0.82rem;
    font-weight: 600;
}

.dl-search-card__divider-helper {
    color: var(--diyarlist-muted);
    font-size: 0.86rem;
    margin: 0.15rem 0 0.4rem;
}

.dl-filter-pills,
.dl-stats-filters,
.dl-vc-filter-pills,
.dl-vc-subtabs,
.dl-portal-dash-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.dl-filter-pill,
.dl-stats-pill,
.dl-vc-pill,
.dl-vc-subtab,
.dl-portal-dash-subtab {
    align-items: center;
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: 999px;
    color: var(--diyarlist-muted);
    display: inline-flex;
    font-size: 0.85rem;
    font-weight: 600;
    min-height: 36px;
    padding: 0 0.85rem;
    text-decoration: none;
}

.dl-filter-pill.is-active,
.dl-stats-pill.is-active,
.dl-vc-pill.is-active,
.dl-vc-subtab.is-active,
.dl-portal-dash-subtab.is-active {
    background: var(--diyarlist-primary-light);
    border-color: var(--diyarlist-primary);
    color: var(--diyarlist-primary-dark);
}

.diyarlist-listing-filter-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
}

.dl-portal-search-hint {
    color: var(--diyarlist-muted);
    font-size: 0.875rem;
    margin: 0 0 1rem;
    width: 100%;
}

.dl-vc-search-form {
    margin-bottom: 1rem;
}

@media (max-width: 991px) {
    .dl-portal-header__toggle {
        display: inline-flex;
    }

    .dl-portal-header__nav-wrap {
        background: var(--diyarlist-card-bg);
        border-top: 1px solid var(--diyarlist-border);
        display: none;
        flex-direction: column;
        left: 0;
        padding: 1rem;
        position: absolute;
        right: 0;
        top: 100%;
    }

    .dl-portal-header__nav-wrap.is-open {
        display: flex;
    }

    .dl-portal-header {
        position: relative;
    }

    .dl-portal-header__bar {
        flex-wrap: wrap;
        position: relative;
    }

    .dl-portal-header__nav-list {
        flex-direction: column;
        width: 100%;
    }

    .dl-portal-header--listing-guest .dl-portal-header__nav,
    .dl-portal-header--listing-guest .dl-portal-header__nav-list {
        flex-wrap: wrap;
    }

    .dl-portal-header--listing-guest .dl-portal-header__nav-list a {
        white-space: normal;
    }

    .dl-portal-header__user {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .dl-portal-header__user-meta {
        align-items: flex-start;
    }

    .dl-portal-page-header {
        flex-direction: column;
    }
}

/* Login as Agency / Agent (global; listing entry scopes overrides under .dl-listing-entry--login) */
.dl-portal-login-layout {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr 1fr;
    margin: 1.5rem auto 2rem;
    max-width: 920px;
}

.dl-portal-login-aside__title {
    font-size: 1.65rem;
    margin: 0 0 0.75rem;
}

.dl-portal-login-form__heading {
    font-size: 1.25rem;
    margin: 0 0 1rem;
}

.dl-portal-login-field {
    margin-bottom: 1rem;
}

.dl-portal-login-field label {
    display: block;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.dl-portal-login-field input {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-sizing: border-box;
    font-size: 1rem;
    padding: 0.65rem 0.75rem;
    width: 100%;
}

.dl-portal-login-actions {
    margin-top: 1.25rem;
}

.dl-portal-login-submit {
    min-width: 10rem;
    width: 100%;
}

.dl-portal-add-form .dl-field-error,
.dl-portal-add-form .form-group.dl-field-error,
.dl-portal-add-form .houzez-form-group.dl-field-error {
    border-color: #dc2626;
}

.dl-portal-add-form input.dl-field-error,
.dl-portal-add-form select.dl-field-error,
.dl-portal-add-form textarea.dl-field-error {
    border: 1px solid #dc2626;
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.15);
}

.dl-portal-add-form .dl-field-error-msg,
.dl-portal-add-form .dl-portal-add-validation-banner {
    color: #b91c1c;
    font-size: 0.875rem;
    margin: 0.35rem 0 0.75rem;
}

.dl-portal-add-listing-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
    margin-top: 1.5rem;
}

@media (max-width: 768px) {
    .dl-portal-login-layout {
        grid-template-columns: 1fr;
    }
}

/* Keep Houzez section blocks visible inside portal tab panels */
.dl-portal-add-form .form-step,
.dl-portal-add-form .form-step-gal,
.dl-portal-add-form .form-step-location,
.dl-portal-add-form .form-section-wrap {
    display: block !important;
}

.dl-portal-add-section {
    display: none;
}

.dl-portal-add-section.is-active {
    display: block;
}

.dl-portal-documents-wrap .block-wrap {
    background: #fff;
    border: 1px solid var(--dl-border, #e8e4df);
    border-radius: 12px;
    margin-bottom: 1rem;
    padding: 0;
}

.dl-portal-documents-wrap .block-title-wrap {
    padding: 1rem 1.15rem 0;
}

.dl-portal-documents-wrap .block-content-wrap {
    padding: 0 1.15rem 1.15rem;
}

.dl-portal-review-checklist {
    margin: 1rem 0 1.5rem;
    padding-left: 1.25rem;
}

.dl-portal-review-checklist li {
    margin-bottom: 0.35rem;
}

.dl-vc-houzez-edit-wrap .upload-property-media,
.dl-portal-add-listing .upload-property-media {
    max-width: 100%;
}

.dl-portal-add-form .max-limit-error,
.dl-vc-houzez-edit-wrap .max-limit-error,
.dl-portal-add-listing .max-limit-error {
    display: none !important;
}

.dl-portal-add-form .max-limit-error.is-visible,
.dl-portal-add-form .max-limit-error.dl-upload-limit-reached,
.dl-vc-houzez-edit-wrap .max-limit-error.is-visible,
.dl-vc-houzez-edit-wrap .max-limit-error.dl-upload-limit-reached,
.dl-portal-add-listing .max-limit-error.is-visible,
.dl-portal-add-listing .max-limit-error.dl-upload-limit-reached {
    display: block !important;
}

.dl-agency-agents-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

.dl-agency-agents-header h3 {
    margin: 0;
}

.dl-portal-section-header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
}

.dl-portal-section-header h3 {
    margin: 0;
}

.dl-portal-section-header__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.dl-dashboard-active-listings,
.dl-dashboard-listing-results {
    display: grid;
    gap: 0.75rem;
    margin: 0 0 1rem;
}

.dl-dashboard-listing-option {
    align-items: center;
    background: #fff;
    border: 1px solid var(--diyarlist-border-soft);
    border-radius: 12px;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.8rem 0.9rem;
}

.dl-dashboard-listing-option__meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.dl-dashboard-listing-option__meta strong {
    color: var(--diyarlist-text);
}

.dl-dashboard-listing-option__meta span {
    color: var(--diyarlist-muted);
    font-size: 0.84rem;
}

@media (max-width: 767px) {
    .dl-search-card__form,
    .dl-portal-search-form,
    .diyarlist-listing-filter-form {
        align-items: stretch;
        flex-direction: column;
    }

    .dl-search-card__field {
        min-width: 100%;
        width: 100%;
    }

    .dl-search-card__button,
    .dl-vc-btn.dl-search-card__button {
        width: 100%;
    }

    .dl-dashboard-listing-option {
        align-items: flex-start;
        flex-direction: column;
    }

    .dl-search-card__filters,
    .dl-search-card__filters--single {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Agent + Agency dashboard — shared interaction polish
   ========================================================================== */

.dl-portal-dashboard-agency,
.dl-portal-dashboard-agent {
    --dl-dash-transition: 0.15s ease;
}

.dl-portal-dashboard-agency .dl-portal-stat-card--link,
.dl-portal-dashboard-agent .dl-portal-stat-card--link {
    transition: border-color var(--dl-dash-transition), box-shadow var(--dl-dash-transition);
}

.dl-portal-dashboard-agency .dl-portal-stat-card--link:hover,
.dl-portal-dashboard-agent .dl-portal-stat-card--link:hover {
    border-color: rgba(255, 121, 0, 0.28);
    box-shadow: 0 4px 14px rgba(255, 121, 0, 0.1);
    background: rgba(255, 121, 0, 0.04);
}

.dl-portal-dashboard-agency .dl-portal-stat-card--link.is-active,
.dl-portal-dashboard-agent .dl-portal-stat-card--link.is-active {
    border-color: var(--diyarlist-primary, #ff7900);
    box-shadow: 0 0 0 2px rgba(255, 121, 0, 0.18);
}

.dl-portal-dashboard-agency .dl-portal-dash-tab,
.dl-portal-dashboard-agent .dl-portal-dash-tab,
.dl-portal-dashboard-agency .dl-portal-dash-subtab,
.dl-portal-dashboard-agent .dl-portal-dash-subtab {
    transition: background-color var(--dl-dash-transition), border-color var(--dl-dash-transition), color var(--dl-dash-transition);
}

.dl-portal-dashboard-agency .dl-portal-dash-tab:not(.is-active):hover,
.dl-portal-dashboard-agent .dl-portal-dash-tab:not(.is-active):hover,
.dl-portal-dashboard-agency .dl-portal-dash-subtab:not(.is-active):hover,
.dl-portal-dashboard-agent .dl-portal-dash-subtab:not(.is-active):hover {
    background: var(--diyarlist-primary-light, #eff6ff);
    border-color: var(--diyarlist-primary, #2563eb);
    color: var(--diyarlist-primary-dark, #1d4ed8);
}

.dl-portal-dashboard-agency .dl-search-card__select,
.dl-portal-dashboard-agent .dl-search-card__select,
.dl-portal-dashboard-agency .dl-search-card__input,
.dl-portal-dashboard-agent .dl-search-card__input {
    transition: border-color var(--dl-dash-transition), box-shadow var(--dl-dash-transition);
}

.dl-portal-dashboard-agency .dl-search-card__select:hover,
.dl-portal-dashboard-agent .dl-search-card__select:hover,
.dl-portal-dashboard-agency .dl-search-card__select:focus,
.dl-portal-dashboard-agent .dl-search-card__select:focus {
    border-color: var(--diyarlist-primary, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
}

.dl-portal-dashboard-agency .dl-vc-btn,
.dl-portal-dashboard-agent .dl-vc-btn {
    transition: background-color var(--dl-dash-transition), border-color var(--dl-dash-transition), color var(--dl-dash-transition);
}

.dl-portal-dashboard-agency .dl-op-listings-table tbody tr,
.dl-portal-dashboard-agent .dl-op-listings-table tbody tr {
    transition: background-color var(--dl-dash-transition);
}

.dl-portal-dashboard-agency .dl-op-listings-table tbody tr:hover,
.dl-portal-dashboard-agent .dl-op-listings-table tbody tr:hover {
    background: var(--diyarlist-primary-light, #f8fafc);
}

.dl-portal-dashboard-agency .dl-portal-listings-panel,
.dl-portal-dashboard-agent .dl-portal-listings-panel {
    margin-top: 0.25rem;
}

.dl-portal-dashboard-agency .dl-portal-empty-state,
.dl-portal-dashboard-agent .dl-portal-empty-state {
    color: var(--diyarlist-muted, #64748b);
    margin: 1rem 0;
}

/* Safari-safe portal dashboard selects (filters, team role, leads) */
.dl-portal-dashboard-agency select:not([multiple]):not([size]),
.dl-portal-dashboard-agent select:not([multiple]):not([size]),
.dl-portal-dashboard-agency .dl-search-card__select,
.dl-portal-dashboard-agent .dl-search-card__select,
.dl-portal-dashboard-agency .dl-portal-filter-panel select,
.dl-portal-dashboard-agent .dl-portal-filter-panel select,
.dl-portal-dashboard-agency .diyarlist-listing-filter-form select,
.dl-portal-dashboard-agent .diyarlist-listing-filter-form select,
.dl-portal-dashboard-agency .diyarlist-agency-add-staff-form select,
.dl-portal-dashboard-agent .diyarlist-agency-add-staff-form select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: var(--diyarlist-control-bg, #fff);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748b' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 0.75rem;
    cursor: pointer;
    padding-right: 2.25rem;
}

.dl-portal-dashboard-agency select:not([multiple]):not([size]):hover,
.dl-portal-dashboard-agent select:not([multiple]):not([size]):hover,
.dl-portal-dashboard-agency .dl-search-card__select:hover,
.dl-portal-dashboard-agent .dl-search-card__select:hover,
.dl-portal-dashboard-agency .dl-portal-filter-panel select:hover,
.dl-portal-dashboard-agent .dl-portal-filter-panel select:hover {
    border-color: rgba(15, 23, 42, 0.18);
}

.dl-portal-dashboard-agency select:not([multiple]):not([size]):focus,
.dl-portal-dashboard-agent select:not([multiple]):not([size]):focus,
.dl-portal-dashboard-agency .dl-search-card__select:focus,
.dl-portal-dashboard-agent .dl-search-card__select:focus,
.dl-portal-dashboard-agency .dl-portal-filter-panel select:focus,
.dl-portal-dashboard-agent .dl-portal-filter-panel select:focus {
    border-color: var(--diyarlist-primary, #ff7900);
    box-shadow: 0 0 0 2px rgba(255, 121, 0, 0.2);
    outline: none;
}

.dl-portal-dashboard-agency select:not([multiple]):not([size]):disabled,
.dl-portal-dashboard-agent select:not([multiple]):not([size]):disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

/* Listings card-stack readability @ ~900px (thead intentionally hidden) */
@media (max-width: 991px) {
    .dl-portal-dashboard-agency .table.dl-op-listings-table,
    .dl-portal-dashboard-agent .table.dl-op-listings-table {
        overflow: visible;
    }

    .dl-portal-dashboard-agency .dl-op-listing-row,
    .dl-portal-dashboard-agent .dl-op-listing-row {
        margin-bottom: 1.25rem;
        padding: 0.75rem 0.85rem;
    }

    .dl-portal-dashboard-agency .dl-op-listing-row:last-child,
    .dl-portal-dashboard-agent .dl-op-listing-row:last-child {
        margin-bottom: 0;
    }

    .dl-portal-dashboard-agency .dl-op-listing-row td,
    .dl-portal-dashboard-agent .dl-op-listing-row td {
        padding: 0.5rem 0;
    }

    .dl-portal-dashboard-agency .dl-op-listing-row td::before,
    .dl-portal-dashboard-agent .dl-op-listing-row td::before {
        font-size: 0.72rem;
        letter-spacing: 0.03em;
        margin-bottom: 0.25rem;
    }

    .dl-portal-dashboard-agency .dl-op-listing-row .dl-op-actions,
    .dl-portal-dashboard-agent .dl-op-listing-row .dl-op-actions {
        gap: 0.35rem;
        padding-top: 0.15rem;
    }

    .dl-portal-dashboard-agency .dl-op-listing-row .dlv-badge,
    .dl-portal-dashboard-agent .dl-op-listing-row .dlv-badge {
        margin-top: 0.1rem;
    }
}

/* Listings panel table — portal dashboard UI Kit card/table (scoped) */
@media (min-width: 992px) {
    .dl-portal-dashboard-agency .dl-portal-listings-panel .table-responsive,
    .dl-portal-dashboard-agent .dl-portal-listings-panel .table-responsive {
        background: var(--diyarlist-card-bg-solid, #fff);
        border: 1px solid var(--diyarlist-border-soft, #e2e8f0);
        border-radius: var(--diyarlist-radius-card, 12px);
        box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
        margin-bottom: 1rem;
        -webkit-overflow-scrolling: touch;
        overflow-x: auto;
    }

    .dl-portal-dashboard-agency .dl-portal-listings-panel .table-responsive > .dl-op-listings-table,
    .dl-portal-dashboard-agent .dl-portal-listings-panel .table-responsive > .dl-op-listings-table {
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        margin-bottom: 0;
        width: 100%;
    }

    .dl-portal-dashboard-agency .dl-portal-listings-panel .dl-op-listings-table thead th,
    .dl-portal-dashboard-agent .dl-portal-listings-panel .dl-op-listings-table thead th {
        background: rgba(15, 23, 42, 0.04);
        border-bottom: 1px solid var(--diyarlist-border-soft, #e2e8f0);
        color: var(--diyarlist-muted, #64748b);
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        padding: 0.7rem 1rem;
        text-transform: uppercase;
        vertical-align: middle;
        white-space: nowrap;
    }

    .dl-portal-dashboard-agency .dl-portal-listings-panel .dl-op-listings-table tbody td,
    .dl-portal-dashboard-agent .dl-portal-listings-panel .dl-op-listings-table tbody td {
        border-bottom: 1px solid var(--diyarlist-border-soft, #e2e8f0);
        font-size: 0.875rem;
        padding: 0.75rem 1rem;
        vertical-align: middle;
    }

    .dl-portal-dashboard-agency .dl-portal-listings-panel .dl-op-listings-table tbody tr,
    .dl-portal-dashboard-agent .dl-portal-listings-panel .dl-op-listings-table tbody tr {
        transition: background 0.15s ease;
    }

    .dl-portal-dashboard-agency .dl-portal-listings-panel .dl-op-listings-table tbody tr:hover,
    .dl-portal-dashboard-agent .dl-portal-listings-panel .dl-op-listings-table tbody tr:hover,
    .dl-portal-dashboard-agency .dl-portal-listings-panel .dl-op-listings-table tbody tr:hover td,
    .dl-portal-dashboard-agent .dl-portal-listings-panel .dl-op-listings-table tbody tr:hover td {
        background: rgba(255, 121, 0, 0.04);
    }

    .dl-portal-dashboard-agency .dl-portal-listings-panel .dl-op-listings-table tbody tr:last-child td,
    .dl-portal-dashboard-agent .dl-portal-listings-panel .dl-op-listings-table tbody tr:last-child td {
        border-bottom: none;
    }

    .dl-portal-dashboard-agency .dl-portal-listings-panel .dl-op-actions,
    .dl-portal-dashboard-agent .dl-portal-listings-panel .dl-op-actions {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem;
    }
}

/* ── Add Listing: OSM map picker + address search (3nwan) ── */
.dl-portal-add-listing .map_canvas {
    height: 340px;
    border-radius: 10px;
}

.dl-map-search-wrap {
    position: relative;
}

.dl-map-search-results {
    position: absolute;
    z-index: 1200;
    left: 0;
    right: 0;
    top: 100%;
    margin: 2px 0 0;
    padding: 4px;
    list-style: none;
    background: #fff;
    border: 1px solid #e8ddd4;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(31, 41, 51, 0.12);
    max-height: 260px;
    overflow-y: auto;
}

.dl-map-search-results li {
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    line-height: 1.35;
}

.dl-map-search-results li:hover,
.dl-map-search-results li:focus {
    background: #fff3e8;
    outline: none;
}

/* Permit cross-check grid (agent portal). */
.dl-permit-crosscheck__note{font-size:.85em;color:#6b7280;margin:0 0 .5rem;}
.dl-permit-crosscheck__table{width:100%;border-collapse:collapse;}
.dl-permit-crosscheck__table td{padding:.4rem .5rem;border-bottom:1px solid #eef0f2;vertical-align:top;}
.dl-permit-crosscheck__field{font-weight:600;white-space:nowrap;}
.dl-permit-crosscheck__vals{font-size:.9em;}
.dl-permit-crosscheck__vals .dl-permit-crosscheck__entered,
.dl-permit-crosscheck__vals .dl-permit-crosscheck__permit{display:block;}
.dl-permit-crosscheck__table tr.is-flagged{background:#fffbeb;}
.dl-use-permit-value{margin-top:.25rem;}

/* ------------------------------------------------------------------ */
/* Portal "Reports" tab (agency + agent dashboards, 2026-07-19)        */
/* ------------------------------------------------------------------ */
.dl-portal-reports__title {
    margin: 0 0 0.35rem;
}
.dl-portal-reports__card {
    margin-top: 1rem;
    padding: 1rem 1.15rem;
}
.dl-portal-reports__card--action-needed {
    border-inline-start: 4px solid var(--dl-ui-danger, #dc2626);
}
.dl-portal-reports__card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.dl-portal-reports__listing {
    font-weight: 600;
}
.dl-portal-reports__meta {
    font-size: 0.82rem;
}
.dl-portal-reports__badge {
    display: inline-block;
    padding: 0.15rem 0.6rem;
    border-radius: 999px;
    font-size: 0.75rem;
    background: var(--dl-ui-info-bg, #eff6ff);
    color: var(--dl-ui-text, #111827);
    white-space: nowrap;
}
.dl-portal-reports__badge--action {
    background: var(--dl-ui-danger-bg, #fef2f2);
    color: var(--dl-ui-danger, #dc2626);
    font-weight: 600;
}
.dl-portal-reports__badge--sent {
    background: var(--dl-ui-success-bg, #ecfdf5);
}
.dl-portal-reports__reason {
    margin: 0.6rem 0 0.15rem;
}
.dl-portal-reports__message {
    margin: 0 0 0.5rem;
    color: var(--dl-ui-muted, #6b7280);
}
.dl-portal-reports__response {
    margin-top: 0.5rem;
}
.dl-portal-reports__form {
    margin-top: 0.6rem;
}
.dl-portal-reports__form-label {
    display: block;
    font-size: 0.82rem;
    margin-bottom: 0.25rem;
}
.dl-portal-reports__textarea {
    width: 100%;
    border: 1px solid var(--dl-ui-border, #e5e7eb);
    border-radius: 8px;
    padding: 0.5rem 0.65rem;
    font: inherit;
}
.dl-portal-reports__submit {
    margin-top: 0.5rem;
    padding: 0.45rem 1rem;
    border: none;
    border-radius: 8px;
    background: var(--dl-ui-primary, #0f766e);
    color: #fff;
    cursor: pointer;
    font: inherit;
}
.dl-portal-reports__submit:hover {
    background: var(--dl-ui-primary-hover, #0d5f58);
}
.dl-portal-reports__notice {
    margin: 0.75rem 0;
    padding: 0.6rem 0.9rem;
    border-radius: 8px;
}
.dl-portal-reports__notice--success {
    background: var(--dl-ui-success-bg, #ecfdf5);
}
.dl-portal-reports__notice--error {
    background: var(--dl-ui-danger-bg, #fef2f2);
}
.dl-portal-reports__empty {
    margin-top: 1rem;
    padding: 1.25rem;
    text-align: center;
}

/* Loose two-column row (v3.0.354): same 50/50 split as .dl-portal-field-row
   but WITHOUT the subgrid label/control/error alignment — for cells with
   arbitrary content (logo/photo blocks, multi-element groups) where the
   3-row subgrid would overflow and collide with the neighbour column. */
.dl-portal-field-row--loose {
    display: grid;
    gap: 0 1rem;
    grid-template-columns: 1fr 1fr;
    align-items: start;
}

.dl-portal-field-row--loose > .dl-portal-field {
    display: block;
    min-inline-size: 0;
}

@media (max-width: 640px) {
    .dl-portal-field-row--loose {
        grid-template-columns: 1fr;
    }
}

/* Per-listing legal declarations (consent layer v3.0.429): checkbox rows on
   the add form's Review tab + the edit form's action area. dl-field-error on
   the .form-field wrapper comes from the shared portal validator. */
.dl-listing-declarations {
    margin: 1.25rem 0 0.5rem;
    padding: 1rem 1.1rem;
    background: #fff8f1;
    border: 1px solid #ffd9ad;
    border-radius: 10px;
}

.dl-listing-declarations__title {
    margin: 0 0 0.6rem;
    font-weight: 700;
}

.dl-listing-declarations__row {
    margin: 0 0 0.6rem;
}

.dl-listing-declarations__row label {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    font-weight: 400;
    line-height: 1.45;
    cursor: pointer;
    margin: 0;
}

.dl-listing-declarations__row input[type="checkbox"] {
    margin-top: 0.2rem;
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 auto;
    accent-color: #ff7900;
}

.dl-listing-declarations__row a {
    color: #ff7900;
    font-weight: 600;
    white-space: nowrap;
}

.dl-listing-declarations__row.dl-field-error {
    outline: 2px solid #dc2626;
    outline-offset: 2px;
    border-radius: 6px;
}

.dl-listing-declarations__done {
    margin: 1rem 0 0.25rem;
}
