body {
    background: #f8fafb;
}

.navbar-reduce {
    background: rgba(28, 47, 65, 0.96) !important;
}

.nav-auth-links .btn {
    border-radius: 999px;
}

.section-t8 {
    padding-top: 5rem;
}

.auth-card, .dashboard-stat, .admin-link-card, .booking-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.auth-card {
    padding: 2rem;
}

.login-section .auth-card {
    margin-top: 3rem;
}

.dashboard-stat {
    padding: 1.5rem;
}

.dashboard-stat .label {
    display: block;
    color: #6c757d;
    margin-bottom: 0.5rem;
}

.dashboard-stat strong {
    font-size: 2rem;
    color: #2eca6a;
}

.admin-link-card {
    display: block;
    padding: 1.5rem;
    color: inherit;
    text-decoration: none;
    height: 100%;
}

.admin-link-card:hover {
    transform: translateY(-2px);
}

.property-cover-wrap, .property-cover-image {
    height: 420px;
    object-fit: cover;
}

.property-carousel-image {
    max-height: 620px;
    width: 100%;
    object-fit: cover;
}

.booking-panel {
    background: #f8fafb;
    border-radius: 16px;
    padding: 1rem;
}

.booking-card-image {
    width: 100%;
    height: 100%;
    min-height: 240px;
    object-fit: cover;
    border-top-left-radius: 18px;
    border-bottom-left-radius: 18px;
}

.booking-meta {
    background: #f8fafb;
    border-radius: 12px;
    padding: 0.85rem 1rem;
}

.booking-meta span {
    display: block;
    color: #6c757d;
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.4rem 0.8rem;
    font-size: 0.85rem;
    font-weight: 600;
}

.status-in_review, .status-approved, .status-reserved {
    background: rgba(255,193,7,.15);
    color: #8a6d03;
}

.status-confirmed, .status-available {
    background: rgba(46,202,106,.14);
    color: #0f7a3a;
}

.status-rejected, .status-cancelled, .status-rented, .status-hidden {
    background: rgba(220,53,69,.10);
    color: #a61d2d;
}

.admin-thumb {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 12px;
}

.admin-status-select {
    min-width: 170px;
}

@media (max-width: 767.98px) {
    .booking-card-image {
        border-radius: 18px 18px 0 0;
        min-height: 200px;
    }
}

.search-card {
    background:#fff;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(15,23,42,.08);
    padding:1.25rem;
    margin-top:-3rem;
    position:relative;
    z-index:5;
}

.results-chip {
    background:#eef6ff;
    color:#1d4f91;
    border-radius:999px;
    padding:.45rem .9rem;
    font-weight:600;
}

.booking-timeline {
    margin-top:1rem;
    border-top:1px solid #e9ecef;
    padding-top:1rem;
}

.timeline-title {
    font-size:1rem;
    margin-bottom:.85rem;
}

.timeline-item {
    display:flex;
    gap:.85rem;
    align-items:flex-start;
    margin-bottom:.85rem;
}

.timeline-badge {
    border-radius:999px;
    padding:.3rem .65rem;
    font-size:.78rem;
    white-space:nowrap;
}

.timeline-content {
    min-width:0;
}

.profile-card {
    border-radius:18px;
}

.admin-note-input {
    min-width: 220px;
}

@media (max-width: 767.98px) {
    .search-card {
        margin-top:1rem;
    }
}

.property-thumb-preview {
    height:82px;
    object-fit:cover;
    width:100%
}

.badge.text-bg-primary,.text-bg-primary {
    background:#2eca6a!important;
    color:#fff!important
}

.text-bg-warning {
    background:#f3c300!important;
    color:#212529!important
}

.text-bg-danger {
    background:#dc3545!important;
    color:#fff!important
}

.text-bg-success {
    background:#198754!important;
    color:#fff!important
}

.text-bg-secondary {
    background:#6c757d!important;
    color:#fff!important
}

.auth-card {
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    border-radius:16px
}

.search-card,.dashboard-stat,.admin-link-card,.booking-card {
    border-radius:16px
}

.admin-link-card h3 {
    margin-bottom:10px
}

.property-cover-image {
    height:360px;
    object-fit:cover
}

.booking-card-image {
    height:100%;
    object-fit:cover;
    min-height:280px
}

.timeline-item+.timeline-item {
    margin-top:14px
}

.timeline-item {
    display:flex;
    gap:12px;
    align-items:flex-start
}

.timeline-badge {
    padding:.35rem .65rem;
    border-radius:999px;
    font-size:.78rem;
    font-weight:600;
    white-space:nowrap
}

.timeline-content {
    flex:1
}

.property-side-list li+li {
    margin-top:.35rem
}

.results-chip {
    background:#fff;
    border-radius:999px;
    padding:.5rem .9rem;
    box-shadow:0 8px 20px rgba(0,0,0,.05)
}

.admin-thumb {
    width:72px;
    height:72px;
    object-fit:cover;
    border-radius:12px
}

.status-badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.4rem .8rem;
    border-radius:999px;
    font-size:.85rem;
    font-weight:600
}

.status-available,.status-confirmed {
    background:#d1f5df;
    color:#0f5132
}

.status-reserved,.status-in_review,.status-approved {
    background:#fff3cd;
    color:#664d03
}

.status-rented {
    background:#dbeafe;
    color:#1d4ed8
}

.status-rejected,.status-cancelled {
    background:#f8d7da;
    color:#842029
}

.dashboard-section .table {
    border-radius:16px;
    overflow:hidden
}

:root {
    --app-dark:#0f172a;
    --app-dark-2:#162033;
    --app-accent:#2eca6a;
    --app-accent-2:#1ea75a;
    --app-muted:#6b7280;
    --app-soft:#f3f7fb;
    --app-border:rgba(15,23,42,.08);
}

html {
    scroll-behavior:smooth
}

body {
    font-family:'Inter',sans-serif;
    background:linear-gradient(180deg,#f7fafc 0%,#f8fafb 100%);
    color:#0f172a
}

#main {
    overflow:hidden
}

.site-navbar {
    padding:16px 0;
    background:rgba(15,23,42,.72)!important;
    backdrop-filter:blur(14px);
    box-shadow:0 10px 40px rgba(2,6,23,.12);
    transition:all .25s ease;
}

.site-navbar .container {
    position:relative
}

.site-brand {
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none
}

.site-brand-mark {
    width:44px;
    height:44px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,var(--app-accent),#8be3ae);
    color:#fff;
    font-size:1.2rem;
    box-shadow:0 10px 30px rgba(46,202,106,.28)
}

.site-brand-text {
    font-size:1.1rem;
    font-weight:800;
    letter-spacing:-.02em;
    color:#fff
}

.site-brand-text span {
    color:#9be3b5
}

.site-navbar .nav-link {
    color:rgba(255,255,255,.82)!important;
    font-weight:600;
    padding:.7rem 1rem!important;
    border-radius:999px;
    transition:all .2s ease
}

.site-navbar .nav-link:hover,.site-navbar .nav-link.active {
    color:#fff!important;
    background:rgba(255,255,255,.09)
}

.site-nav-user {
    color:rgba(255,255,255,.78);
    font-weight:500
}

.site-navbar-toggler {
    border:0;
    box-shadow:none!important;
    padding:.35rem 0 .35rem .5rem
}

.site-navbar-toggler span {
    display:block;
    width:24px;
    height:2px;
    background:#fff;
    border-radius:5px
}

.site-navbar-toggler span+span {
    margin-top:5px
}

.home-hero .intro-item {
    position:relative;
    min-height:100vh;
    background-position:center;
    background-size:cover
}

.home-hero .hero-overlay {
    background:linear-gradient(110deg,rgba(10,15,28,.82) 0%,rgba(10,15,28,.56) 45%,rgba(10,15,28,.18) 100%)
}

.min-vh-75 {
    min-height:75vh
}

.hero-content-box {
    max-width:720px
}

.hero-kicker,.section-mini-kicker,.footer-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:.55rem .9rem;
    border-radius:999px;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase
}

.hero-kicker {
    background:rgba(255,255,255,.12);
    color:#fff;
    margin-bottom:18px
}

.hero-description {
    font-size:1.08rem;
    line-height:1.8;
    color:rgba(255,255,255,.82);
    max-width:620px;
    margin-bottom:1.7rem
}

.hero-actions .btn {
    min-width:180px
}

.hero-floating-card {
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(14px);
    color:#fff;
    border-radius:24px;
    padding:1.5rem;
    box-shadow:0 24px 60px rgba(0,0,0,.18)
}

.hero-floating-label {
    display:block;
    font-size:.85rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#cdebd9;
    margin-bottom:1rem;
    font-weight:700
}

.hero-check-list li {
    display:flex;
    gap:.7rem;
    align-items:flex-start;
    margin-bottom:.95rem;
    line-height:1.55
}

.hero-check-list i {
    color:#8be3ae;
    font-size:1rem;
    margin-top:2px
}

.intro-carousel-pagination {
    position:absolute;
    left:0;
    right:0;
    bottom:38px;
    z-index:9;
    text-align:center
}

.intro-carousel-pagination .swiper-pagination-bullet {
    width:11px;
    height:11px;
    background:rgba(255,255,255,.55);
    opacity:1
}

.intro-carousel-pagination .swiper-pagination-bullet-active {
    background:#fff
}

.search-overlap-section {
    position:relative;
    margin-top:-105px;
    z-index:10
}

.search-card-modern {
    padding:1.75rem;
    border:1px solid var(--app-border);
    border-radius:28px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(10px);
    box-shadow:0 25px 70px rgba(15,23,42,.12)
}

.section-intro-mini h2 {
    font-size:2rem;
    font-weight:800;
    letter-spacing:-.03em;
    margin-bottom:.65rem;
    color:#0f172a
}

.section-intro-mini p {
    color:var(--app-muted);
    max-width:680px
}

.section-mini-kicker {
    background:#ecfdf3;
    color:#128049;
    margin-bottom:14px
}

.search-side-panel {
    height:100%;
    padding:1.35rem;
    border-radius:22px;
    background:linear-gradient(180deg,#0f172a 0%,#182338 100%);
    color:#fff
}

.search-side-panel h3 {
    font-size:1.15rem;
    font-weight:700;
    margin-bottom:1rem;
    color:#fff
}

.search-side-panel li {
    display:flex;
    gap:.65rem;
    align-items:flex-start;
    padding:.45rem 0;
    color:rgba(255,255,255,.82)
}

.search-side-panel i {
    color:#8be3ae;
    margin-top:2px
}

.form-control,.form-select {
    border-radius:16px;
    border:1px solid #dbe4ee;
    padding:.9rem 1rem;
    box-shadow:none!important
}

.form-control:focus,.form-select:focus {
    border-color:#9ed9b8;
    box-shadow:0 0 0 .2rem rgba(46,202,106,.12)!important
}

.btn-b {
    border-radius:16px;
    background:linear-gradient(135deg,var(--app-accent),var(--app-accent-2));
    border-color:transparent;
    box-shadow:0 14px 30px rgba(46,202,106,.28)
}

.btn-b:hover,.btn-b:focus {
    background:linear-gradient(135deg,var(--app-accent-2),#168a49);
    border-color:transparent
}

.stats-grid {
    margin-top:1.2rem!important
}

.stat-modern {
    padding:1.6rem 1.5rem;
    border:1px solid var(--app-border);
    border-radius:24px;
    box-shadow:0 18px 45px rgba(15,23,42,.08)
}

.stat-modern strong {
    display:block;
    font-size:2.2rem;
    line-height:1.1;
    margin-bottom:.35rem
}

.stat-modern small {
    display:block;
    color:var(--app-muted)
}

.process-card {
    position:relative;
    padding:1.8rem;
    border:1px solid var(--app-border);
    border-radius:24px;
    overflow:hidden;
    transition:transform .2s ease,box-shadow .2s ease
}

.process-card:hover,.listing-card-modern:hover {
    transform:translateY(-6px);
    box-shadow:0 24px 50px rgba(15,23,42,.12)
}

.process-number {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:16px;
    background:#ecfdf3;
    color:#128049;
    font-weight:800;
    font-size:1.1rem;
    margin-bottom:1rem
}

.process-card h3 {
    font-size:1.2rem;
    font-weight:700;
    margin-bottom:.85rem
}

.process-card p {
    color:var(--app-muted);
    margin-bottom:0;
    line-height:1.75
}

.listing-card-modern {
    overflow:hidden;
    border:1px solid var(--app-border);
    border-radius:26px;
    background:#fff;
    box-shadow:0 18px 45px rgba(15,23,42,.08)
}

.listing-card-modern .property-cover-wrap {
    position:relative;
    height:300px
}

.listing-card-modern .property-cover-image {
    height:100%;
    width:100%;
    object-fit:cover
}

.listing-status-badge {
    position:absolute;
    left:16px;
    top:16px;
    border-radius:999px;
    padding:.55rem .85rem;
    font-weight:700;
    box-shadow:0 10px 30px rgba(15,23,42,.12)
}

.listing-card-body {
    padding:1.35rem 1.35rem 1.45rem
}

.listing-city {
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    color:#64748b;
    font-weight:600
}

.listing-title {
    font-size:1.3rem;
    line-height:1.35;
    font-weight:800;
    margin-bottom:.35rem
}

.listing-title a {
    text-decoration:none;
    color:#0f172a
}

.listing-title a:hover {
    color:#1a7f49
}

.listing-address {
    color:#6b7280;
    min-height:48px
}

.listing-price-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin:1.2rem 0;
    padding:1rem;
    border-radius:18px;
    background:#f8fbfd
}

.listing-price-label {
    display:block;
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#6b7280;
    font-weight:700;
    margin-bottom:.2rem
}

.listing-price-value {
    font-size:1.28rem;
    font-weight:800;
    color:#0f172a
}

.listing-features-row {
    display:flex;
    flex-wrap:wrap;
    gap:.65rem
}

.listing-features-row span {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.6rem .8rem;
    border-radius:999px;
    background:#f3f7fb;
    color:#334155;
    font-weight:600
}

.site-footer {
    background:linear-gradient(180deg,#0f172a 0%,#111827 100%);
    color:#fff;
    margin-top:5rem;
    padding:0 0 1.25rem;
    border-top-left-radius:36px;
    border-top-right-radius:36px
}

.site-footer-top {
    padding:3.25rem 0 2rem
}

.footer-brand-card,.footer-links-card {
    height:100%;
    padding:1.6rem;
    border-radius:24px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08)
}

.footer-eyebrow {
    background:rgba(139,227,174,.14);
    color:#8be3ae;
    margin-bottom:16px
}

.footer-brand-card h3,.footer-links-card h4 {
    color:#fff;
    font-weight:800
}

.footer-brand-card p,.footer-links-card li a,.site-footer-bottom,.footer-contact-list span {
    color:rgba(255,255,255,.76)
}

.footer-contact-list {
    display:grid;
    gap:.6rem;
    margin-top:1rem
}

.footer-contact-list i {
    color:#8be3ae;
    margin-right:.35rem
}

.footer-links-card ul li+li {
    margin-top:.75rem
}

.footer-links-card a {
    text-decoration:none
}

.footer-links-card a:hover {
    color:#fff
}

.site-footer-bottom {
    padding-top:1.25rem;
    border-top:1px solid rgba(255,255,255,.08);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    flex-wrap:wrap
}

.footer-bottom-links {
    display:flex;
    align-items:center;
    gap:.8rem
}

.footer-bottom-links a {
    text-decoration:none;
    color:rgba(255,255,255,.76)
}

.footer-bottom-links a:hover {
    color:#fff
}

.footer-dot {
    width:5px;
    height:5px;
    border-radius:50%;
    background:rgba(255,255,255,.35)
}

@media (max-width: 991.98px) {
    .site-navbar {
        padding:12px 0;
        background:rgba(15,23,42,.92)!important
    }

    .site-navbar .navbar-collapse {
        margin-top:1rem;
        padding:1rem;
        border-radius:22px;
        background:rgba(15,23,42,.95)
    }

    .site-nav-actions {
        padding-top:.75rem;
        border-top:1px solid rgba(255,255,255,.08);
        margin-top:.75rem
    }

    .home-hero .intro-item {
        min-height:880px
    }

    .search-overlap-section {
        margin-top:-70px
    }
}

@media (max-width: 767.98px) {
    .section-intro-mini h2 {
        font-size:1.55rem
    }

    .hero-description {
        font-size:1rem
    }

    .hero-actions .btn {
        width:100%
    }

    .search-card-modern {
        padding:1.15rem;
        border-radius:24px
    }

    .listing-price-row {
        flex-direction:column;
        align-items:flex-start
    }

    .site-footer {
        border-top-left-radius:28px;
        border-top-right-radius:28px
    }
}

.properties-hero-section,.property-hero-section {
    padding:2rem 0 0
}

.properties-hero-card,.property-hero-card {
    position:relative;
    overflow:hidden;
    border-radius:32px;
    padding:2.25rem;
    background:linear-gradient(135deg,#0f172a 0%,#182338 58%,#1f7a4d 160%);
    color:#fff;
    box-shadow:0 30px 70px rgba(15,23,42,.16)
}

.properties-hero-card:before,.property-hero-card:before {
    content:"";
    position:absolute;
    right:-80px;
    top:-80px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:rgba(255,255,255,.06)
}

.properties-hero-title,.property-hero-title {
    font-size:2.6rem;
    line-height:1.12;
    font-weight:800;
    letter-spacing:-.03em;
    margin:0 0 1rem
}

.properties-hero-text,.property-hero-location {
    color:rgba(255,255,255,.82);
    font-size:1.04rem;
    line-height:1.85;
    margin-bottom:0
}

.properties-hero-pills,.property-hero-stats {
    display:flex;
    flex-wrap:wrap;
    gap:.85rem;
    margin-top:1.4rem
}

.properties-hero-pills span,.property-hero-stat {
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    padding:.8rem 1rem;
    border-radius:18px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.08)
}

.properties-hero-pills i,.property-hero-location i,.property-quick-list i {
    color:#8be3ae
}

.properties-summary-box,.property-hero-sidebox {
    padding:1.5rem;
    border-radius:24px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(10px)
}

.properties-summary-label,.property-hero-sidebox-label {
    font-size:.85rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#d7f5e2
}

.properties-summary-value {
    font-size:3rem;
    font-weight:800;
    line-height:1;
    margin:.6rem 0 .9rem
}

.properties-filter-wrap {
    margin-top:-50px;
    position:relative;
    z-index:5
}

.properties-filter-card {
    background:rgba(255,255,255,.96);
    border:1px solid var(--app-border);
    border-radius:28px;
    padding:1.6rem;
    box-shadow:0 24px 60px rgba(15,23,42,.08)
}

.properties-section-title {
    font-size:1.9rem;
    font-weight:800;
    letter-spacing:-.03em;
    color:#0f172a
}

.properties-section-text {
    color:#64748b
}

.active-filters-row {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem
}

.active-filter-chip {
    padding:.65rem .9rem;
    border-radius:999px;
    background:#f3f7fb;
    color:#334155;
    font-weight:600
}

.empty-properties-state {
    text-align:center;
    padding:3rem 1.5rem;
    background:#fff;
    border:1px solid var(--app-border);
    border-radius:28px;
    box-shadow:0 18px 45px rgba(15,23,42,.06)
}

.empty-properties-icon {
    width:82px;
    height:82px;
    border-radius:24px;
    margin:0 auto 1rem;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ecfdf3;
    color:#128049;
    font-size:2rem
}

.property-listing-card .status-available {
    background:#d1f5df;
    color:#0f5132
}

.property-listing-card .status-reserved {
    background:#fff3cd;
    color:#664d03
}

.property-listing-card .status-rented {
    background:#dbeafe;
    color:#1d4ed8
}

.property-breadcrumb-wrap {
    display:flex;
    align-items:center;
    gap:.55rem;
    flex-wrap:wrap;
    color:rgba(255,255,255,.72);
    font-weight:600
}

.property-breadcrumb-wrap a {
    color:#fff;
    text-decoration:none
}

.property-breadcrumb-wrap a:hover {
    color:#8be3ae
}

.property-hero-location {
    margin-top:.4rem
}

.property-hero-stat {
    flex-direction:column;
    align-items:flex-start;
    gap:.35rem;
    min-width:150px
}

.property-hero-stat span {
    font-size:.82rem;
    color:#d7f5e2;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-weight:700
}

.property-hero-stat strong {
    font-size:1.08rem;
    color:#fff
}

.property-quick-list {
    list-style:none;
    padding:0;
    margin:1rem 0 0;
    display:grid;
    gap:.95rem
}

.property-quick-list li {
    display:flex;
    gap:.75rem;
    align-items:flex-start;
    color:rgba(255,255,255,.88);
    line-height:1.6
}

.property-detail-section {
    padding-top:2rem
}

.property-gallery-card,.property-content-card,.property-booking-card {
    background:#fff;
    border:1px solid var(--app-border);
    border-radius:28px;
    padding:1.25rem;
    box-shadow:0 20px 50px rgba(15,23,42,.07)
}

.property-gallery-main-image {
    width:100%;
    height:530px;
    object-fit:cover;
    border-radius:22px
}

.property-gallery-thumb-wrap {
    border-radius:18px;
    overflow:hidden
}

.property-gallery-thumb {
    width:100%;
    height:110px;
    object-fit:cover;
    border-radius:18px
}

.property-content-head h2 {
    font-size:1.7rem;
    font-weight:800;
    margin-bottom:.4rem
}

.property-content-head p {
    color:#64748b;
    margin-bottom:0
}

.property-description-modern {
    margin-top:1.25rem;
    color:#334155;
    line-height:1.9
}

.property-feature-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem
}

.property-feature-box {
    padding:1.15rem 1.1rem;
    border-radius:22px;
    background:#fff;
    border:1px solid var(--app-border);
    box-shadow:0 14px 40px rgba(15,23,42,.05)
}

.property-feature-box span {
    display:flex;
    align-items:center;
    gap:.55rem;
    color:#64748b;
    font-weight:700;
    margin-bottom:.55rem
}

.property-feature-box strong {
    font-size:1.08rem;
    color:#0f172a
}

.property-note-box {
    padding:1rem 1.05rem;
    border-radius:18px;
    background:#f8fbfd;
    border:1px solid #e7eef5;
    color:#334155;
    line-height:1.7
}

.booking-form-modern .form-label {
    font-weight:700;
    color:#0f172a
}

@media (max-width: 991.98px) {
    .properties-hero-title,.property-hero-title {
        font-size:2rem
    }

    .property-gallery-main-image {
        height:420px
    }

    .property-feature-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media (max-width: 767.98px) {
    .properties-hero-card,.property-hero-card,.properties-filter-card,.property-gallery-card,.property-content-card,.property-booking-card {
        border-radius:24px;
        padding:1.1rem
    }

    .properties-filter-wrap {
        margin-top:-35px
    }

    .properties-hero-title,.property-hero-title {
        font-size:1.6rem
    }

    .property-gallery-main-image {
        height:300px
    }

    .property-feature-grid {
        grid-template-columns:1fr
    }
}

.auth-shell-section {
    padding-top:6rem
}

.auth-shell {
    position:relative;
    padding:1.1rem;
    border-radius:34px;
    background:linear-gradient(180deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.96) 100%);
    border:1px solid rgba(15,23,42,.07);
    box-shadow:0 30px 80px rgba(15,23,42,.08)
}

.auth-showcase-card,.payment-hero-card,.dashboard-hero-card {
    position:relative;
    overflow:hidden;
    border-radius:30px;
    padding:2rem;
    background:linear-gradient(135deg,#0f172a 0%,#182338 55%,#1d7f4f 160%);
    color:#fff;
    box-shadow:0 26px 70px rgba(15,23,42,.16)
}

.auth-showcase-card:before,.payment-hero-card:before,.dashboard-hero-card:before {
    content:"";
    position:absolute;
    right:-90px;
    top:-90px;
    width:280px;
    height:280px;
    border-radius:50%;
    background:rgba(255,255,255,.05)
}

.auth-showcase-alt {
    background:linear-gradient(135deg,#111827 0%,#1b2336 55%,#0f7b4b 170%)
}

.auth-kicker,.auth-panel-kicker {
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    padding:.55rem .9rem;
    border-radius:999px;
    font-size:.8rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em
}

.auth-kicker {
    background:rgba(255,255,255,.11);
    color:#fff;
    margin-bottom:1rem
}

.auth-panel-kicker {
    background:#ecfdf3;
    color:#128049;
    margin-bottom:.9rem
}

.auth-showcase-card h1,.payment-hero-title,.dashboard-hero-title {
    font-size:2.35rem;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-.03em;
    margin-bottom:1rem;
    color:#fff
}

.auth-showcase-card p,.payment-hero-text,.dashboard-hero-text {
    color:rgba(255,255,255,.82);
    line-height:1.85;
    font-size:1.02rem;
    margin-bottom:0
}

.auth-showcase-list {
    display:grid;
    gap:.9rem;
    margin-top:1.5rem
}

.auth-showcase-list.compact {
    margin-top:1.25rem
}

.auth-showcase-list div {
    display:flex;
    gap:.7rem;
    align-items:flex-start;
    padding:.95rem 1rem;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08)
}

.auth-showcase-list i,.dashboard-hero-list i,.payment-steps-list i {
    color:#8be3ae;
    font-size:1rem;
    margin-top:2px
}

.auth-mini-panel {
    margin-top:1.4rem;
    padding:1.1rem;
    border-radius:22px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08)
}

.auth-mini-label {
    display:block;
    font-size:.8rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#ccebd8;
    margin-bottom:.9rem
}

.auth-mini-links {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem
}

.auth-mini-links a {
    color:#fff;
    text-decoration:none;
    padding:.65rem .95rem;
    border-radius:999px;
    background:rgba(255,255,255,.08)
}

.auth-mini-links a:hover {
    background:rgba(255,255,255,.14)
}

.auth-stat-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
    margin-top:1.5rem
}

.auth-stat-box {
    padding:1.15rem;
    border-radius:22px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08)
}

.auth-stat-box strong {
    display:block;
    font-size:1.35rem;
    color:#fff
}

.auth-stat-box span {
    display:block;
    margin-top:.35rem;
    color:rgba(255,255,255,.76);
    line-height:1.6
}

.auth-card-modern {
    border:1px solid rgba(15,23,42,.07);
    border-radius:30px;
    padding:2rem;
    background:#fff;
    box-shadow:0 22px 60px rgba(15,23,42,.08)
}

.auth-card-form {
    display:flex;
    flex-direction:column;
    justify-content:center;
    height:100%
}

.auth-card-top {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1.5rem;
    flex-wrap:wrap
}

.auth-card-top h2,.payment-card h2,.dashboard-section-head h2,.dashboard-form-card h3 {
    font-size:1.8rem;
    font-weight:800;
    letter-spacing:-.03em;
    margin-bottom:.35rem;
    color:#0f172a
}

.auth-card-top p,.payment-upload-text,.utility-text {
    color:#64748b;
    margin-bottom:0;
    line-height:1.75
}

.auth-top-link,.auth-inline-link,.dashboard-inline-link {
    color:#128049;
    text-decoration:none;
    font-weight:700
}

.auth-top-link:hover,.auth-inline-link:hover,.dashboard-inline-link:hover {
    text-decoration:underline
}

.auth-form-modern .form-label {
    font-weight:700;
    color:#0f172a;
    margin-bottom:.55rem
}

.input-icon-wrap {
    position:relative
}

.input-icon-wrap i {
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:#7b8794;
    font-size:1rem;
    z-index:2
}

.input-icon-wrap .form-control {
    padding-left:46px;
    height:56px
}

.auth-submit-btn {
    height:56px;
    border-radius:18px;
    font-weight:700
}

.auth-bottom-note {
    display:flex;
    align-items:center;
    gap:.4rem;
    flex-wrap:wrap;
    margin-top:1.25rem;
    color:#64748b
}

.auth-bottom-note a {
    text-decoration:none;
    font-weight:700;
    color:#128049
}

.utility-card {
    text-align:center
}

.utility-icon {
    width:76px;
    height:76px;
    border-radius:24px;
    margin:0 auto 1rem;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ecfdf3;
    color:#128049;
    font-size:2rem
}

.utility-title {
    font-size:2rem;
    font-weight:800;
    letter-spacing:-.03em;
    color:#0f172a;
    margin-bottom:.7rem
}

.payment-page-section {
    padding-top:6rem
}

.payment-hero-pills {
    display:flex;
    flex-wrap:wrap;
    gap:.8rem;
    margin-top:1.2rem
}

.payment-hero-pills span {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.8rem 1rem;
    border-radius:18px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.08)
}

.payment-total-box {
    padding:1.45rem;
    border-radius:24px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.08);
    text-align:left
}

.payment-total-box span {
    display:block;
    color:#d7f5e2;
    font-size:.82rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em
}

.payment-total-box strong {
    display:block;
    font-size:2.25rem;
    font-weight:800;
    color:#fff;
    margin:.55rem 0 .35rem
}

.payment-total-box small {
    color:rgba(255,255,255,.72)
}

.payment-card,.dashboard-section-card,.saved-property-card {
    background:#fff;
    border:1px solid rgba(15,23,42,.07);
    border-radius:28px;
    box-shadow:0 20px 50px rgba(15,23,42,.07)
}

.payment-card {
    padding:1.6rem
}

.payment-card-head,.dashboard-section-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    flex-wrap:wrap;
    margin-bottom:1.3rem
}

.payment-meta-grid,.payment-bank-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem
}

.payment-note-box,.dashboard-note-box {
    padding:1rem 1.05rem;
    border-radius:18px;
    background:#f8fbfd;
    border:1px solid #e7eef5;
    color:#334155;
    line-height:1.75
}

.payment-steps-list {
    display:grid;
    gap:.8rem
}

.payment-steps-list div {
    display:flex;
    gap:.7rem;
    align-items:flex-start;
    padding:.95rem 1rem;
    border-radius:18px;
    background:#f8fbfd;
    border:1px solid #e7eef5
}

.payment-steps-list i {
    color:#128049
}

.dashboard-premium-section {
    padding-top:6rem
}

.dashboard-hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.9rem;
    margin-top:1.45rem
}

.dashboard-hero-sidebox {
    padding:1.45rem;
    border-radius:24px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(8px)
}

.dashboard-hero-sidebox-label {
    display:block;
    font-size:.82rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#d7f5e2;
    margin-bottom:.85rem
}

.dashboard-hero-list {
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:.85rem
}

.dashboard-hero-list li {
    display:flex;
    gap:.7rem;
    align-items:flex-start;
    color:rgba(255,255,255,.82)
}

.dashboard-stats-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1rem
}

.dashboard-stat-modern {
    padding:1.5rem;
    border:1px solid rgba(15,23,42,.07);
    border-radius:24px;
    box-shadow:0 16px 40px rgba(15,23,42,.06)
}

.dashboard-booking-stack {
    display:grid;
    gap:1.25rem
}

.booking-card-modern {
    overflow:hidden;
    border-radius:28px;
    border:1px solid rgba(15,23,42,.06)
}

.booking-card-kicker {
    display:inline-flex;
    padding:.45rem .8rem;
    border-radius:999px;
    background:#ecfdf3;
    color:#128049;
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:.85rem
}

.booking-card-title {
    font-size:1.45rem;
    font-weight:800;
    letter-spacing:-.02em;
    color:#0f172a;
    margin-bottom:.3rem
}

.booking-card-city {
    color:#64748b
}

.dashboard-actions-row {
    display:flex;
    flex-wrap:wrap;
    gap:.65rem
}

.dashboard-actions-row form {
    margin:0
}

.dashboard-timeline-modern {
    padding-top:1.1rem;
    border-top:1px solid #e9eef4
}

.dashboard-empty-state {
    text-align:center;
    padding:2.8rem 1.4rem;
    border-radius:24px;
    background:#f8fbfd;
    border:1px solid #e7eef5
}

.dashboard-empty-icon {
    width:82px;
    height:82px;
    border-radius:24px;
    margin:0 auto 1rem;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ecfdf3;
    color:#128049;
    font-size:2rem
}

.dashboard-empty-state h3 {
    font-size:1.45rem;
    font-weight:800;
    margin-bottom:.65rem
}

.dashboard-empty-state p {
    max-width:560px;
    margin:0 auto 1.2rem;
    color:#64748b;
    line-height:1.75
}

.dashboard-empty-inline {
    padding:1rem 1.1rem;
    border-radius:18px;
    background:#f8fbfd;
    border:1px solid #e7eef5;
    color:#475569
}

.dashboard-sidebar-stack .dashboard-form-card {
    padding:1.6rem
}

.saved-property-card {
    overflow:hidden;
    height:100%
}

.saved-property-image-wrap {
    height:220px;
    overflow:hidden
}

.saved-property-image {
    width:100%;
    height:100%;
    object-fit:cover
}

.saved-property-body {
    padding:1.25rem
}

.saved-property-body h3 {
    font-size:1.2rem;
    font-weight:800;
    margin:.65rem 0 .8rem
}

.saved-property-body h3 a {
    text-decoration:none;
    color:#0f172a
}

.saved-property-body h3 a:hover {
    color:#128049
}

.saved-price-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem;
    border-radius:18px;
    background:#f8fbfd;
    margin-bottom:1rem
}

.saved-price-row span {
    color:#64748b;
    font-weight:600
}

.saved-price-row strong {
    font-size:1.1rem;
    color:#0f172a
}

.saved-property-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.65rem
}

.saved-property-actions form {
    margin:0
}

@media (max-width: 1199.98px) {
    .dashboard-stats-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media (max-width: 991.98px) {
    .auth-showcase-card h1,.payment-hero-title,.dashboard-hero-title {
        font-size:1.95rem
    }

    .auth-card-modern,.auth-showcase-card,.payment-card,.payment-hero-card,.dashboard-hero-card,.dashboard-section-card,.saved-property-card {
        border-radius:24px
    }
}

@media (max-width: 767.98px) {
    .auth-shell-section,.payment-page-section,.dashboard-premium-section {
        padding-top:5.5rem
    }

    .auth-shell {
        padding:.55rem;
        border-radius:26px
    }

    .auth-card-modern,.auth-showcase-card,.payment-card,.payment-hero-card,.dashboard-hero-card,.dashboard-section-card {
        padding:1.15rem
    }

    .auth-card-top,.payment-card-head,.dashboard-section-head {
        flex-direction:column;
        align-items:flex-start
    }

    .auth-showcase-card h1,.payment-hero-title,.dashboard-hero-title,.utility-title {
        font-size:1.6rem
    }

    .auth-stat-grid,.payment-meta-grid,.payment-bank-grid,.dashboard-stats-grid {
        grid-template-columns:1fr
    }

    .saved-property-image-wrap {
        height:190px
    }
}

.page-hero-section {
    padding-top:2rem
}

.page-hero-card {
    position:relative;
    overflow:hidden;
    border-radius:32px;
    padding:2.4rem;
    background:linear-gradient(135deg,#0f172a 0%,#182338 55%,#1e7f50 170%);
    color:#fff;
    box-shadow:0 30px 70px rgba(15,23,42,.16)
}

.page-hero-card:before {
    content:"";
    position:absolute;
    right:-90px;
    top:-90px;
    width:280px;
    height:280px;
    border-radius:50%;
    background:rgba(255,255,255,.06)
}

.page-kicker {
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    padding:.55rem .9rem;
    border-radius:999px;
    background:rgba(255,255,255,.11);
    color:#fff;
    font-size:.8rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:1rem
}

.page-hero-title {
    font-size:2.65rem;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-.03em;
    margin:0 0 1rem;
    color:#fff
}

.page-hero-text {
    font-size:1.03rem;
    line-height:1.9;
    color:rgba(255,255,255,.82);
    margin-bottom:0
}

.page-hero-pills {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:1.4rem
}

.page-hero-pills span,.page-check-list li {
    display:inline-flex;
    align-items:center;
    gap:.55rem
}

.page-hero-pills span {
    padding:.8rem 1rem;
    border-radius:18px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.08);
    font-weight:600
}

.page-hero-pills i,.page-check-list i {
    color:#8be3ae
}

.page-hero-sidecard {
    padding:1.5rem;
    border-radius:24px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(10px)
}

.page-hero-side-label {
    display:block;
    font-size:.82rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:#d7f5e2;
    margin-bottom:.5rem
}

.page-hero-sidecard h3 {
    font-size:1.35rem;
    color:#fff;
    font-weight:800;
    margin-bottom:1rem
}

.page-check-list {
    display:grid;
    gap:.9rem
}

.page-check-list li {
    color:rgba(255,255,255,.88);
    line-height:1.6
}

.company-story-section .content-panel-card,.image-showcase-card,.contact-form-card,.success-shell-card {
    background:#fff;
    border:1px solid var(--app-border);
    border-radius:30px;
    padding:2rem;
    box-shadow:0 20px 55px rgba(15,23,42,.07)
}

.section-kicker {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.5rem .85rem;
    border-radius:999px;
    background:#ecfdf3;
    color:#128049;
    font-size:.8rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
    margin-bottom:1rem
}

.section-heading {
    font-size:2rem;
    line-height:1.15;
    font-weight:800;
    letter-spacing:-.03em;
    color:#0f172a;
    margin-bottom:1rem
}

.section-copy {
    font-size:1rem;
    line-height:1.9;
    color:#475569
}

.showcase-main-image {
    width:100%;
    height:100%;
    min-height:420px;
    object-fit:cover;
    border-radius:24px
}

.feature-soft-card {
    background:#fff;
    border:1px solid var(--app-border);
    border-radius:28px;
    padding:1.5rem;
    box-shadow:0 18px 48px rgba(15,23,42,.05)
}

.feature-soft-icon {
    width:60px;
    height:60px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ecfdf3;
    color:#128049;
    font-size:1.4rem;
    margin-bottom:1rem
}

.feature-soft-card h3 {
    font-size:1.2rem;
    font-weight:800;
    color:#0f172a;
    margin-bottom:.75rem
}

.feature-soft-card p {
    margin-bottom:0;
    color:#64748b;
    line-height:1.8
}

.stats-band-card {
    background:linear-gradient(135deg,#0f172a 0%,#182338 58%,#1b6d44 180%);
    border-radius:32px;
    padding:2rem;
    box-shadow:0 30px 70px rgba(15,23,42,.16)
}

.stats-band-item strong {
    display:block;
    font-size:2.2rem;
    line-height:1;
    color:#8be3ae;
    margin-bottom:.9rem
}

.stats-band-item span {
    display:block;
    color:rgba(255,255,255,.8);
    line-height:1.8
}

.contact-info-stack {
    display:grid;
    gap:1rem
}

.contact-info-card {
    display:flex;
    gap:1rem;
    align-items:flex-start;
    background:#fff;
    border:1px solid var(--app-border);
    border-radius:28px;
    padding:1.4rem;
    box-shadow:0 18px 48px rgba(15,23,42,.05)
}

.contact-info-icon {
    width:58px;
    height:58px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ecfdf3;
    color:#128049;
    font-size:1.35rem;
    flex-shrink:0
}

.contact-info-label {
    display:block;
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-weight:800;
    color:#128049;
    margin-bottom:.4rem
}

.contact-info-card h3 {
    font-size:1.15rem;
    font-weight:800;
    color:#0f172a;
    margin-bottom:.35rem
}

.contact-info-card p {
    margin-bottom:0;
    color:#64748b;
    line-height:1.75
}

.contact-form-head h2 {
    font-size:2rem;
    font-weight:800;
    letter-spacing:-.03em;
    color:#0f172a;
    margin-bottom:.75rem
}

.contact-form-head p {
    color:#64748b;
    line-height:1.8
}

.contact-form-modern .form-label {
    font-weight:700;
    color:#0f172a
}

.contact-form-modern .form-control {
    border-radius:18px;
    border:1px solid #dbe3eb;
    padding:.95rem 1rem;
    box-shadow:none
}

.contact-form-modern textarea.form-control {
    min-height:180px
}

.contact-form-modern .form-control:focus {
    border-color:#86efac;
    box-shadow:0 0 0 .2rem rgba(34,197,94,.12)
}

.contact-form-note {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:#64748b;
    font-weight:600
}

.btn-property-primary,.btn-property-outline {
    border-radius:999px;
    font-weight:700;
    padding:.9rem 1.4rem;
    transition:all .2s ease;
    text-decoration:none
}

.btn-property-primary {
    background:#2eca6a;
    border:1px solid #2eca6a;
    color:#fff
}

.btn-property-primary:hover {
    background:#1ea75a;
    border-color:#1ea75a;
    color:#fff;
    transform:translateY(-1px)
}

.btn-property-outline {
    background:#fff;
    border:1px solid #d8e2eb;
    color:#0f172a
}

.btn-property-outline:hover {
    background:#f8fafc;
    color:#0f172a;
    transform:translateY(-1px)
}

.success-shell-section {
    padding-top:7rem
}

.success-shell-card {
    max-width:780px
}

.success-shell-icon {
    width:92px;
    height:92px;
    border-radius:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ecfdf3;
    color:#128049;
    font-size:2.4rem;
    margin:0 auto 1.2rem
}

.success-shell-card h1 {
    font-size:2.3rem;
    font-weight:800;
    letter-spacing:-.03em;
    color:#0f172a;
    margin-bottom:1rem
}

.success-shell-card p {
    color:#64748b;
    line-height:1.85;
    margin-bottom:0
}

.process-timeline {
    display:grid;
    gap:1rem;
    max-width:980px;
    margin:0 auto
}

.process-step-card {
    display:grid;
    grid-template-columns:90px 1fr;
    gap:1.25rem;
    align-items:flex-start;
    background:#fff;
    border:1px solid var(--app-border);
    border-radius:28px;
    padding:1.35rem;
    box-shadow:0 18px 48px rgba(15,23,42,.05)
}

.process-step-number {
    width:64px;
    height:64px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ecfdf3;
    color:#128049;
    font-weight:800;
    font-size:1.15rem
}

.process-step-card h3 {
    font-size:1.2rem;
    font-weight:800;
    color:#0f172a;
    margin-bottom:.55rem
}

.process-step-card p {
    margin-bottom:0;
    color:#64748b;
    line-height:1.8
}

@media (max-width: 991.98px) {
    .page-hero-title {
        font-size:2rem
    }

    .section-heading,.contact-form-head h2,.success-shell-card h1 {
        font-size:1.75rem
    }

    .showcase-main-image {
        min-height:320px
    }
}

@media (max-width: 767.98px) {
    .page-hero-card,.content-panel-card,.image-showcase-card,.contact-form-card,.success-shell-card,.feature-soft-card,.contact-info-card,.process-step-card,.stats-band-card {
        border-radius:24px;
        padding:1.2rem
    }

    .page-hero-title {
        font-size:1.6rem
    }

    .process-step-card {
        grid-template-columns:1fr
    }

    .process-step-number {
        width:58px;
        height:58px;
        border-radius:18px
    }

    .success-shell-section {
        padding-top:6rem
    }
}

.admin-topbar-wrap {
    padding-top:6.25rem;
    padding-bottom:0
}

.admin-topbar {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:flex-end;
    flex-wrap:wrap;
    padding:1.4rem 1.5rem;
    border-radius:30px;
    background:linear-gradient(135deg,#0f172a 0%,#182338 58%,#1d7f4f 170%);
    box-shadow:0 28px 70px rgba(15,23,42,.16)
}

.admin-topbar-kicker {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.55rem .9rem;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:.9rem
}

.admin-topbar-info h1 {
    margin:0 0 .45rem;
    color:#fff;
    font-size:2rem;
    font-weight:800;
    letter-spacing:-.03em
}

.admin-topbar-info p {
    margin:0;
    color:rgba(255,255,255,.8);
    max-width:700px
}

.admin-topbar-actions {
    display:flex;
    gap:.75rem;
    flex-wrap:wrap
}

.admin-topbar-link {
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    padding:.9rem 1rem;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08);
    text-decoration:none;
    color:#fff;
    font-weight:700;
    transition:all .2s ease
}

.admin-topbar-link:hover,.admin-topbar-link.active {
    background:#fff;
    color:#0f172a;
    transform:translateY(-1px)
}

.admin-page-section {
    padding-top:2rem
}

.admin-hero-card,.admin-panel-card,.admin-table-card,.admin-metric-card,.admin-empty-card,.admin-gallery-card {
    background:#fff;
    border:1px solid var(--app-border);
    border-radius:28px;
    box-shadow:0 18px 50px rgba(15,23,42,.06)
}

.admin-hero-card {
    padding:1.8rem
}

.admin-kicker {
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.55rem .9rem;
    border-radius:999px;
    background:#ecfdf3;
    color:#128049;
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:.95rem
}

.admin-page-title {
    font-size:2rem;
    font-weight:800;
    letter-spacing:-.03em;
    color:#0f172a;
    margin:0 0 .55rem
}

.admin-page-text {
    color:#64748b;
    line-height:1.8;
    margin:0
}

.admin-metric-card {
    padding:1.35rem 1.45rem;
    height:100%
}

.admin-metric-card span {
    display:block;
    color:#64748b;
    font-weight:700;
    margin-bottom:.55rem
}

.admin-metric-card strong {
    display:block;
    font-size:2rem;
    line-height:1;
    color:#0f172a;
    font-weight:800
}

.admin-metric-card em {
    display:block;
    margin-top:.65rem;
    color:#94a3b8;
    font-style:normal
}

.admin-shortcut-card {
    display:block;
    height:100%;
    padding:1.35rem 1.35rem;
    text-decoration:none;
    color:inherit;
    border-radius:24px;
    background:#fff;
    border:1px solid var(--app-border);
    box-shadow:0 18px 45px rgba(15,23,42,.05);
    transition:all .2s ease
}

.admin-shortcut-card:hover {
    transform:translateY(-2px);
    box-shadow:0 22px 50px rgba(15,23,42,.09)
}

.admin-shortcut-card i {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:16px;
    background:#f3f7fb;
    color:#128049;
    font-size:1.25rem;
    margin-bottom:1rem
}

.admin-shortcut-card h3 {
    font-size:1.08rem;
    font-weight:800;
    color:#0f172a;
    margin-bottom:.45rem
}

.admin-shortcut-card p {
    margin:0;
    color:#64748b;
    line-height:1.7
}

.admin-panel-card,.admin-table-card {
    padding:1.4rem
}

.admin-panel-card-header {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
    align-items:flex-start;
    margin-bottom:1.1rem
}

.admin-panel-card-header h3 {
    margin:0;
    font-size:1.18rem;
    font-weight:800;
    color:#0f172a
}

.admin-panel-card-header p {
    margin:.35rem 0 0;
    color:#64748b
}

.admin-form-control,.admin-form-select,.admin-form-textarea {
    border:1px solid #dbe4ee;
    border-radius:16px;
    padding:.88rem 1rem;
    box-shadow:none
}

.admin-form-control:focus,.admin-form-select:focus,.admin-form-textarea:focus {
    border-color:#93c5a5;
    box-shadow:0 0 0 .2rem rgba(46,202,106,.12)
}

.admin-table {
    margin:0
}

.admin-table thead th {
    border:0;
    padding:0 0 1rem;
    color:#64748b;
    font-size:.8rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:800
}

.admin-table tbody td {
    vertical-align:middle;
    padding:1rem 0;
    border-top:1px solid #eef3f7
}

.admin-table tbody tr:first-child td {
    border-top:1px solid #eef3f7
}

.admin-table .property-line {
    display:flex;
    gap:1rem;
    align-items:center
}

.admin-table .property-line img {
    width:74px;
    height:74px;
    border-radius:18px;
    object-fit:cover
}

.admin-table .property-line strong {
    display:block;
    color:#0f172a
}

.admin-table .property-line span {
    display:block;
    color:#64748b
}

.admin-actions {
    display:flex;
    gap:.55rem;
    flex-wrap:wrap
}

.admin-empty-card {
    text-align:center;
    padding:2.5rem 1.5rem
}

.admin-empty-card i {
    font-size:2rem;
    color:#128049;
    display:inline-flex;
    margin-bottom:1rem
}

.admin-login-shell {
    padding-top:8rem
}

.admin-login-wrap {
    max-width:1080px;
    margin:0 auto;
    padding:1rem;
    border-radius:34px;
    background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.96));
    border:1px solid rgba(15,23,42,.08);
    box-shadow:0 30px 80px rgba(15,23,42,.09)
}

.admin-login-visual,.admin-settings-aside {
    position:relative;
    overflow:hidden;
    border-radius:30px;
    padding:2rem;
    background:linear-gradient(135deg,#0f172a 0%,#182338 55%,#1d7f4f 165%);
    color:#fff
}

.admin-login-visual:before,.admin-settings-aside:before {
    content:"";
    position:absolute;
    right:-80px;
    top:-80px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:rgba(255,255,255,.06)
}

.admin-login-visual h1,.admin-settings-aside h3 {
    color:#fff;
    font-size:2rem;
    font-weight:800;
    letter-spacing:-.03em;
    margin-bottom:1rem
}

.admin-login-visual p,.admin-settings-aside p {
    color:rgba(255,255,255,.82);
    line-height:1.85
}

.admin-login-list {
    display:grid;
    gap:.85rem;
    margin-top:1.4rem
}

.admin-login-list div {
    display:flex;
    gap:.7rem;
    align-items:flex-start;
    padding:.95rem 1rem;
    border-radius:18px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.08)
}

.admin-login-list i,.admin-settings-aside i {
    color:#8be3ae
}

.admin-credential-box {
    margin-top:1rem;
    padding:1rem 1.05rem;
    border-radius:18px;
    background:#f8fbfd;
    border:1px solid #e7eef5;
    color:#334155
}

.admin-credential-box strong {
    color:#0f172a
}

.admin-status-pill {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.5rem .8rem;
    border-radius:999px;
    background:#f3f7fb;
    color:#334155;
    font-weight:700
}

.admin-gallery-card {
    padding:1rem;
    height:100%
}

.admin-gallery-card img {
    width:100%;
    height:170px;
    object-fit:cover;
    border-radius:18px
}

.admin-gallery-card .small {
    line-height:1.6
}

.admin-note-box {
    padding:1rem 1.05rem;
    border-radius:18px;
    background:#f8fbfd;
    border:1px solid #e7eef5;
    color:#334155;
    line-height:1.75
}

.admin-booking-header {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:flex-start;
    flex-wrap:wrap;
    margin-bottom:1rem
}

.admin-booking-title {
    font-size:1.1rem;
    font-weight:800;
    color:#0f172a;
    margin:0 0 .25rem
}

.admin-timeline {
    display:grid;
    gap:.9rem;
    margin-top:1.25rem
}

.admin-timeline-item {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:.85rem;
    align-items:flex-start
}

.admin-timeline-badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.55rem .85rem;
    border-radius:999px;
    font-size:.8rem;
    font-weight:800
}

@media (max-width: 991.98px) {
    .admin-topbar-wrap {
        padding-top:7rem
    }

    .admin-topbar {
        padding:1.2rem;
        border-radius:24px
    }

    .admin-topbar-info h1,.admin-page-title,.admin-login-visual h1 {
        font-size:1.65rem
    }
}

@media (max-width: 767.98px) {
    .admin-topbar-actions {
        width:100%
    }

    .admin-topbar-link {
        flex:1 1 calc(50% - .75rem);
        justify-content:center
    }

    .admin-page-section {
        padding-top:1.4rem
    }

    .admin-panel-card,.admin-table-card,.admin-hero-card {
        padding:1.1rem
    }

    .admin-login-wrap {
        border-radius:28px
    }

    .admin-login-visual,.admin-settings-aside {
        border-radius:24px;
        padding:1.3rem
    }

    .admin-table .property-line {
        align-items:flex-start
    }

    .admin-table .property-line img {
        width:60px;
        height:60px
    }
}

/* =========================================
   INDEX PAGE FIX PACK
========================================= */
.home-hero-slider {
    position: relative;
    z-index: 1;
}

.home-hero-slide {
    position: relative;
    min-height: 860px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.home-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.74), rgba(15, 23, 42, 0.44));
    z-index: 1;
}

.home-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: 140px;
    padding-bottom: 140px;
}

.home-hero-content {
    max-width: 680px;
    color: #fff;
}

.home-hero-content h1, .home-hero-content h2 {
    color: #fff;
    font-size: 58px;
    line-height: 1.08;
    margin: 0 0 20px;
}

.home-hero-content h1 span, .home-hero-content h2 span {
    color: #bde6cb;
}

.hero-kicker {
    display: inline-block;
    margin-bottom: 18px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #d9f7e4;
}

.home-hero-content p {
    font-size: 17px;
    line-height: 1.8;
    margin: 0 0 28px;
    max-width: 620px;
    color: rgba(255,255,255,.92);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}

.hero-actions .btn, .hero-btn-main, .hero-btn-alt {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 0 26px !important;
    line-height: 1 !important;
    font-weight: 600;
    text-align: center;
}

.hero-info-card {
    position: relative;
    z-index: 2;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(16px);
    border-radius: 24px;
    padding: 28px;
    color: #fff;
    box-shadow: 0 20px 50px rgba(0,0,0,.20);
}

.hero-info-label {
    display: inline-block;
    margin-bottom: 16px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #d9f7e4;
}

.hero-info-card li {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 14px;
    line-height: 1.55;
}

.hero-info-card li:last-child {
    margin-bottom: 0;
}

/* SEARCH */
.home-search-section {
    position: relative;
    z-index: 5;
    margin-top: -80px;
    padding-bottom: 30px;
}

.home-search-card {
    position: relative;
    z-index: 6;
    background: #fff;
    border-radius: 28px;
    padding: 30px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .12);
}

.section-mini-kicker {
    display: inline-block;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-search-card .form-label {
    font-weight: 600;
    margin-bottom: 8px;
}

.home-search-card .form-control, .home-search-card .form-select {
    border-radius: 16px;
}

.home-search-btn {
    min-height: calc(3.5rem + 2px);
}

.search-side-panel {
    position: relative;
    z-index: 1;
    background: linear-gradient(135deg, #0f172a, #1e293b);
    color: #fff;
    border-radius: 22px;
    padding: 24px;
    height: 100%;
}

.search-side-panel h3 {
    color: #fff;
    margin-bottom: 18px;
    font-size: 22px;
}

.search-side-panel ul li {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 12px;
}

.search-side-panel ul li:last-child {
    margin-bottom: 0;
}

/* STATS */
.home-stats-row {
    margin-top: 18px;
}

.stats-grid .stat-modern, .home-stats-row .stat-modern {
    border-radius: 22px;
    padding: 24px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(15,23,42,.08);
}

.stat-modern .label {
    display: block;
    font-size: 14px;
    color: #64748b;
    margin-bottom: 10px;
}

.stat-modern strong {
    display: block;
    font-size: 34px;
    line-height: 1;
    margin-bottom: 10px;
}

.stat-modern small {
    display: block;
    color: #64748b;
    line-height: 1.6;
}

/* PROCESS */
.section-t8 {
    padding-top: 80px;
    padding-bottom: 80px;
}

.process-card {
    border-radius: 24px;
    padding: 32px 26px;
    box-shadow: 0 16px 40px rgba(15,23,42,.08);
}

.process-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #0f172a;
    color: #fff;
    font-weight: 700;
    margin-bottom: 18px;
}

/* LISTINGS */
.results-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 18px;
    border-radius: 999px;
    background: #f8fafc;
    color: #0f172a;
    font-weight: 600;
    border: 1px solid #e2e8f0;
}

.listing-card-modern {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15,23,42,.09);
    transition: transform .25s ease, box-shadow .25s ease;
}

.listing-card-modern:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 60px rgba(15,23,42,.14);
}

.listing-card-main-link, .listing-title a, .listing-view-btn {
    position: relative;
    z-index: 20;
}

.property-cover-wrap {
    position: relative;
    overflow: hidden;
}

.property-cover-image {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
}

.listing-status-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 21;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 700;
}

.listing-card-body {
    position: relative;
    z-index: 20;
    padding: 22px;
    gap: 18px;
    flex: 1;
}

.listing-city {
    font-size: 14px;
    color: #64748b;
}

.listing-title {
    font-size: 22px;
    line-height: 1.35;
    margin-bottom: 10px;
}

.listing-title a {
    color: #0f172a;
    text-decoration: none;
}

.listing-title a:hover {
    color: #198754;
}

.listing-address {
    color: #64748b;
    line-height: 1.6;
}

.listing-features-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    color: #334155;
    font-size: 14px;
}

.listing-features-row span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #f8fafc;
    border-radius: 999px;
}

.listing-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-top: 10px;
    border-top: 1px solid #e2e8f0;
}

.listing-price-label {
    display: block;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 4px;
}

.listing-price-value {
    display: block;
    font-size: 22px;
    color: #0f172a;
}

/* very important: neutralize old template overlay problems */
.listing-card-modern::before, .listing-card-modern::after, .property-cover-wrap::before, .property-cover-wrap::after {
    pointer-events: none !important;
}

/* MOBILE */

@media (max-width: 991.98px) {
    .home-hero-slide {
        min-height: 760px;
    }

    .home-hero-inner {
        padding-top: 120px;
        padding-bottom: 100px;
    }

    .home-hero-content h1,   .home-hero-content h2 {
        font-size: 46px;
    }

    .home-search-section {
        margin-top: -40px;
    }

    .home-search-card {
        padding: 22px;
    }

    .listing-price-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .listing-price-row .btn {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 767.98px) {
    .home-hero-slide {
        min-height: 640px;
    }

    .home-hero-inner {
        padding-top: 110px;
        padding-bottom: 70px;
    }

    .home-hero-content h1,   .home-hero-content h2 {
        font-size: 34px;
    }

    .home-hero-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-actions .btn,   .hero-btn-main,   .hero-btn-alt {
        width: 100%;
    }

    .home-search-section {
        margin-top: 0;
        padding-top: 24px;
    }

    .home-search-card {
        border-radius: 22px;
        padding: 18px;
    }

    .search-side-panel {
        border-radius: 18px;
        padding: 18px;
    }

    .section-t8 {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .stat-modern strong {
        font-size: 28px;
    }

    .process-card {
        padding: 24px 20px;
    }

    .listing-card-body {
        padding: 18px;
    }

    .listing-title {
        font-size: 20px;
    }

    .property-cover-image {
        height: 220px;
    }

    .results-chip {
        width: 100%;
    }
}

/* =========================================
   PROPERTY PAGE TOP / HERO FIX
========================================= */
.property-hero-section.property-top-section {
    position: relative;
    padding-top: 128px;
    padding-bottom: 36px;
    margin-top: 0;
    overflow: hidden;
    background:     linear-gradient(135deg, rgba(15, 23, 42, 0.90), rgba(15, 23, 42, 0.62)),     url('../img/slide-1.png') center/cover no-repeat;
}

.property-hero-section.property-top-section .container {
    position: relative;
    z-index: 2;
}

.property-hero-card {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 28px;
    padding: 34px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.16);
    backdrop-filter: blur(8px);
}

.property-breadcrumb-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px !important;
    font-size: 14px;
    color: #64748b;
}

.property-breadcrumb-wrap a {
    color: #475569;
    text-decoration: none;
}

.property-breadcrumb-wrap a:hover {
    color: #0f172a;
}

.property-hero-title {
    font-size: 46px;
    line-height: 1.12;
    margin: 12px 0 14px;
    color: #0f172a;
}

.property-hero-location {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 17px;
    color: #475569;
    margin-bottom: 24px;
    line-height: 1.7;
}

.property-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.property-hero-stat {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 16px 18px;
}

.property-hero-stat span {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    margin-bottom: 6px;
}

.property-hero-stat strong {
    display: block;
    font-size: 22px;
    line-height: 1.2;
    color: #0f172a;
}

.property-hero-sidebox {
    height: 100%;
    background: linear-gradient(135deg, #ffffff, #f8fafc);
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 26px;
    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.08);
}

.property-hero-sidebox-label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 14px;
}

.property-quick-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.property-quick-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    color: #334155;
    border-bottom: 1px solid #e2e8f0;
}

.property-quick-list li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

/* gallery/content spacing */
.property-detail-section {
    position: relative;
    padding-top: 10px;
    padding-bottom: 60px;
}

/* sticky booking card */
.property-booking-card.sticky-top {
    top: 110px !important;
}

/* tablet */

@media (max-width: 991.98px) {
    .property-hero-section.property-top-section {
        padding-top: 118px;
        padding-bottom: 28px;
    }

    .property-hero-card {
        padding: 26px;
    }

    .property-hero-title {
        font-size: 38px;
    }

    .property-hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .property-booking-card.sticky-top {
        top: 95px !important;
    }
}

/* mobile */

@media (max-width: 767.98px) {
    .property-hero-section.property-top-section {
        padding-top: 102px;
        padding-bottom: 22px;
    }

    .property-hero-card {
        padding: 20px;
        border-radius: 22px;
    }

    .property-hero-title {
        font-size: 30px;
        line-height: 1.18;
    }

    .property-hero-location {
        font-size: 15px;
        margin-bottom: 18px;
    }

    .property-hero-stats {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .property-hero-sidebox {
        padding: 20px;
        border-radius: 18px;
    }

    .property-detail-section {
        padding-top: 6px;
        padding-bottom: 50px;
    }

    .property-booking-card.sticky-top {
        position: relative !important;
        top: 0 !important;
    }
}

/* =========================================
   PROPERTIES PAGE HERO FIX
========================================= */
.properties-page-hero {
    position: relative;
    padding-top: 130px;
    padding-bottom: 60px;
    overflow: hidden;
    background:     linear-gradient(135deg, rgba(15, 23, 42, 0.88), rgba(15, 23, 42, 0.62)),     url('../img/slide-2.jpeg') center/cover no-repeat;
}

.properties-page-hero-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.properties-page-hero-container {
    position: relative;
    z-index: 2;
}

.properties-hero-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 28px;
    padding: 34px;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.18);
    backdrop-filter: blur(8px);
}

.properties-hero-title {
    font-size: 46px;
    line-height: 1.12;
    margin: 14px 0 16px;
    color: #0f172a;
}

.properties-hero-text {
    font-size: 17px;
    line-height: 1.8;
    color: #475569;
    max-width: 760px;
    margin-bottom: 22px;
}

.properties-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.properties-hero-pills span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 14px;
    font-weight: 600;
    border: 1px solid #e2e8f0;
}

.properties-summary-box {
    height: 100%;
    border-radius: 24px;
    background: linear-gradient(135deg, #ffffff, #f8fafc);
    border: 1px solid #e2e8f0;
    padding: 26px;
    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.08);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.properties-summary-label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 10px;
}

.properties-summary-value {
    font-size: 56px;
    line-height: 1;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 12px;
}

.properties-filter-wrap {
    position: relative;
    z-index: 3;
    margin-top: -25px;
    padding-bottom: 20px;
}

.properties-filter-card {
    background: #fff;
    border-radius: 26px;
    padding: 30px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.10);
}

.properties-section-title {
    font-size: 30px;
    line-height: 1.2;
    color: #0f172a;
}

.properties-section-text {
    color: #64748b;
    line-height: 1.7;
}

.properties-filter-card .form-control, .properties-filter-card .form-select {
    border-radius: 16px;
}

.properties-filter-btn {
    min-height: calc(3.5rem + 2px);
}

.active-filters-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.active-filter-chip {
    display: inline-flex;
    align-items: center;
    padding: 9px 14px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #334155;
    font-size: 14px;
    font-weight: 500;
}

.empty-properties-state {
    background: #fff;
    border-radius: 28px;
    padding: 50px 24px;
    text-align: center;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.empty-properties-icon {
    width: 86px;
    height: 86px;
    border-radius: 50%;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    color: #0f172a;
    font-size: 34px;
}

.property-listing-card .listing-card-main-link {
    display: block;
}

.property-listing-card .property-cover-wrap {
    position: relative;
    overflow: hidden;
}

.property-listing-card .listing-card-main-link, .property-listing-card .listing-title a, .property-listing-card .btn {
    position: relative;
    z-index: 5;
}

@media (max-width: 991.98px) {
    .properties-page-hero {
        padding-top: 120px;
        padding-bottom: 50px;
    }

    .properties-hero-card {
        padding: 26px;
    }

    .properties-hero-title {
        font-size: 38px;
    }

    .properties-summary-value {
        font-size: 46px;
    }

    .properties-filter-wrap {
        margin-top: -15px;
    }
}

@media (max-width: 767.98px) {
    .properties-page-hero {
        padding-top: 105px;
        padding-bottom: 35px;
    }

    .properties-hero-card {
        padding: 20px;
        border-radius: 22px;
    }

    .properties-hero-title {
        font-size: 30px;
        line-height: 1.18;
    }

    .properties-hero-text {
        font-size: 15px;
        line-height: 1.7;
    }

    .properties-hero-pills {
        gap: 10px;
    }

    .properties-hero-pills span {
        width: 100%;
        justify-content: flex-start;
    }

    .properties-summary-box {
        padding: 20px;
        border-radius: 18px;
    }

    .properties-summary-value {
        font-size: 38px;
    }

    .properties-filter-wrap {
        margin-top: 0;
    }

    .properties-filter-card {
        padding: 18px;
        border-radius: 20px;
    }

    .properties-section-title {
        font-size: 24px;
    }
}

.property-booking-card {
    padding: 26px;
}

.property-booking-card h3 {
    font-size: 32px;
    font-weight: 700;
}

.custom-success-alert {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px;
    border-radius: 18px;
    background: #ecfdf3;
    border: 1px solid #bbf7d0;
    color: #166534;
    box-shadow: 0 10px 30px rgba(22, 101, 52, 0.08);
}

.custom-success-icon {
    font-size: 22px;
    line-height: 1;
    color: #22c55e;
    margin-top: 2px;
}

/* =========================================
   DASHBOARD PAGE
========================================= */
.dashboard-page-section {
    padding-top: 120px;
    padding-bottom: 60px;
}

.dashboard-alert {
    margin-bottom: 24px;
}

.dashboard-hero-card {
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.95), rgba(30, 41, 59, 0.92));
    border-radius: 30px;
    padding: 34px;
    color: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.16);
}

.dashboard-hero-title {
    font-size: 44px;
    line-height: 1.1;
    margin: 14px 0 16px;
    color: #fff;
}

.dashboard-hero-text {
    max-width: 720px;
    font-size: 17px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 22px;
}

.dashboard-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.dashboard-profile-mini {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    padding: 24px;
    backdrop-filter: blur(12px);
}

.dashboard-profile-label {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #cbd5e1;
    margin-bottom: 10px;
}

.dashboard-profile-name {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
}

.dashboard-profile-meta {
    color: rgba(255,255,255,.84);
    line-height: 1.7;
}

.dashboard-stat-card {
    background: #fff;
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}

.dashboard-stat-label {
    display: block;
    font-size: 14px;
    color: #64748b;
    margin-bottom: 10px;
}

.dashboard-stat-card strong {
    display: block;
    font-size: 34px;
    line-height: 1;
    margin-bottom: 10px;
    color: #0f172a;
}

.dashboard-stat-card small {
    display: block;
    color: #64748b;
    line-height: 1.6;
}

.dashboard-panel-card {
    background: #fff;
    border-radius: 28px;
    padding: 28px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.dashboard-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 24px;
}

.dashboard-panel-kicker {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748b;
}

.dashboard-panel-head h2 {
    margin: 0;
    font-size: 30px;
    line-height: 1.15;
    color: #0f172a;
}

.dashboard-bookings-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.dashboard-booking-item {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 22px;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 18px;
    background: #fff;
}

.dashboard-booking-media {
    width: 100%;
}

.dashboard-booking-image {
    width: 100%;
    height: 190px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
}

.dashboard-booking-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.dashboard-booking-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.dashboard-booking-location {
    font-size: 14px;
    color: #64748b;
    margin-bottom: 8px;
}

.dashboard-booking-title {
    font-size: 24px;
    line-height: 1.25;
    margin-bottom: 8px;
}

.dashboard-booking-title a {
    color: #0f172a;
    text-decoration: none;
}

.dashboard-booking-title a:hover {
    color: #198754;
}

.dashboard-booking-address {
    color: #64748b;
    line-height: 1.7;
}

.dashboard-booking-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.dashboard-booking-actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: auto;
}

.dashboard-booking-actions .btn, .dashboard-booking-actions form {
    width: 100%;
}

.dashboard-booking-actions form .btn {
    width: 100%;
}

.dashboard-empty-state {
    text-align: center;
    padding: 28px 10px 10px;
}

.dashboard-empty-icon {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    color: #0f172a;
    font-size: 32px;
}

.dashboard-empty-state h3 {
    font-size: 28px;
    margin-bottom: 12px;
}

.dashboard-empty-state p {
    max-width: 620px;
    margin: 0 auto 18px;
    color: #64748b;
    line-height: 1.8;
}

.dashboard-saved-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(15, 23, 42, 0.06);
}

.dashboard-saved-image-link {
    display: block;
}

.dashboard-saved-image {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

.dashboard-saved-body {
    padding: 20px;
}

.dashboard-saved-location {
    font-size: 14px;
    color: #64748b;
    margin-bottom: 8px;
}

.dashboard-saved-title {
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 8px;
}

.dashboard-saved-title a {
    color: #0f172a;
    text-decoration: none;
}

.dashboard-saved-address {
    color: #64748b;
    line-height: 1.7;
    margin-bottom: 14px;
}

.dashboard-saved-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-top: 8px;
    border-top: 1px solid #e2e8f0;
}

.dashboard-side-stack {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.dashboard-account-list {
    display: grid;
    gap: 12px;
}

.dashboard-side-actions {
    display: grid;
    gap: 10px;
}

.dashboard-help-links {
    display: grid;
    gap: 10px;
}

.dashboard-help-links a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 16px;
    background: #f8fafc;
    color: #0f172a;
    text-decoration: none;
    transition: .2s ease;
}

.dashboard-help-links a:hover {
    background: #eef2f7;
}

@media (max-width: 991.98px) {
    .dashboard-page-section {
        padding-top: 110px;
        padding-bottom: 50px;
    }

    .dashboard-hero-card {
        padding: 26px;
    }

    .dashboard-hero-title {
        font-size: 36px;
    }

    .dashboard-booking-item {
        grid-template-columns: 1fr;
    }

    .dashboard-booking-image {
        height: 240px;
    }
}

@media (max-width: 767.98px) {
    .dashboard-page-section {
        padding-top: 100px;
        padding-bottom: 40px;
    }

    .dashboard-hero-card,   .dashboard-panel-card,   .dashboard-stat-card {
        border-radius: 22px;
    }

    .dashboard-hero-card {
        padding: 20px;
    }

    .dashboard-hero-title {
        font-size: 30px;
        line-height: 1.15;
    }

    .dashboard-hero-text {
        font-size: 15px;
        line-height: 1.7;
    }

    .dashboard-hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .dashboard-hero-actions .btn {
        width: 100%;
    }

    .dashboard-panel-card {
        padding: 20px;
    }

    .dashboard-panel-head h2 {
        font-size: 24px;
    }

    .dashboard-booking-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-booking-actions {
        flex-direction: column;
    }

    .dashboard-booking-actions .btn,   .dashboard-booking-actions form,   .dashboard-booking-actions form .btn {
        width: 100%;
    }

    .dashboard-saved-footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .dashboard-saved-footer .btn {
        width: 100%;
    }
}

/* FOOTER LEFT ALIGN FORCE */
.site-footer, .site-footer .site-footer-top, .site-footer .row, .site-footer .col-lg-5, .site-footer .col-lg-4, .site-footer .col-lg-3, .site-footer .footer-brand-card, .site-footer .footer-links-card, .site-footer .footer-links-card h4, .site-footer .footer-links-card ul, .site-footer .footer-links-card li, .site-footer .footer-links-card a, .site-footer .footer-contact-list, .site-footer .footer-contact-list span, .site-footer .footer-eyebrow, .site-footer p, .site-footer h3 {
    text-align: left !important;
}

.site-footer .footer-links-card ul {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.site-footer .footer-links-card li {
    display: block !important;
}

.site-footer .footer-links-card a {
    display: inline-block !important;
}

.site-footer .footer-contact-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
}

.site-footer .footer-contact-list span {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
}

.site-footer .site-footer-top .row {
    align-items: flex-start !important;
}

.home-intro-title {
    font-size: clamp(2.2rem, 3.5vw, 3.4rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #0f172a;
    margin-bottom: 18px;
}

.home-intro-lead {
    font-size: 1.15rem;
    line-height: 1.9;
    color: #1f2937;
    max-width: 900px;
    margin: 0 auto 28px auto;
    font-weight: 500;
}

.home-intro-text p {
    font-size: 1.02rem;
    line-height: 1.95;
    color: #6b7280;
}

/* Divider elegant */
.intro-divider {
    width: 60px;
    height: 2px;
    background: linear-gradient(to right, #111, #555);
    margin: 20px auto 30px;
    border-radius: 2px;
    opacity: 0.8;
}

/* Highlights */
.intro-highlights {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.intro-highlights span {
    font-size: 0.78rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(0,0,0,0.04);
    color: #111;
    font-weight: 600;
}

/* subtle premium hover */
.intro-highlights span:hover {
    background: rgba(0,0,0,0.08);
}

.process-icon {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    background: rgba(0,0,0,0.04);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    transition: all 0.25s ease;
}

.process-icon i {
    font-size: 30px;
    /* 🔥 aici e cheia */
    color: #111;
}

.address {
    display: inline-flex;
    /* Use flexbox for alignment */
    align-items: center;
    /* Center the icon and text vertically */
    height: 40px;
    /* Set a fixed height */
}

.btn-danger {
    display: inline-flex;
    /* Use flexbox for alignment */
    align-items: center;
    /* Center the button text vertically */
    justify-content: center;
    /* Center the button text horizontally */
    height: 40px;
    /* Match the height of the span */
    padding: 0 15px;
    /* Adjust padding as necessary */
    line-height: normal;
    /* Reset line height for centering */
}

/* Inspection appointment options */
.inspection-options {
    display: grid;
    gap: 10px;
}

.inspection-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 15px;
    border: 1px solid #dedede;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: all .2s ease;
}

.inspection-card:hover {
    border-color: #111;
    box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

.inspection-card input {
    accent-color: #111;
}

.inspection-card span {
    font-weight: 600;
    color: #111;
}

.app-toast-stack {
    position:fixed;
    top:86px;
    right:24px;
    z-index:99999;
    width:min(430px,calc(100vw - 32px));
    display:grid;
    gap:10px
}

.app-toast {
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:14px;
    border-radius:14px;
    background:#fff;
    border:1px solid #e5e7eb;
    box-shadow:0 18px 50px rgba(15,23,42,.18);
    font-size:14px;
    font-weight:600;
    line-height:1.45;
    animation:appToastIn .28s ease
}

.app-toast>i {
    font-size:18px;
    margin-top:1px
}

.app-toast span {
    flex:1
}

.app-toast button {
    border:0;
    background:transparent;
    color:#64748b;
    padding:0
}

.app-toast-success {
    border-left:4px solid #16a34a
}

.app-toast-success>i {
    color:#16a34a
}

.app-toast-danger {
    border-left:4px solid #dc2626
}

.app-toast-danger>i {
    color:#dc2626
}

.app-toast-warning {
    border-left:4px solid #d97706
}

.app-toast-info {
    border-left:4px solid #2563eb
}

.app-toast.is-hiding {
    opacity:0;
    transform:translateY(-10px);
    transition:.35s ease
}
@keyframes appToastIn {
    from {
        opacity:0;
        transform:translateY(-12px)
    }

    to {
        opacity:1;
        transform:none
    }
}

@media(max-width:767px) {
    .app-toast-stack {
        top:72px;
        right:16px
    }
}

/* Premium two-step rental application */
.application-details-page {
    background:#f5f7f4;
    min-height:100vh;
    padding-top:78px;
    color:#17372e
}

.application-details-container {
    max-width:1160px
}

.application-details-hero {
    padding:34px 0 28px;
    background:linear-gradient(135deg,#113d31 0%,#1b5946 70%,#246b54 100%);
    color:#fff;
    position:relative;
    overflow:hidden
}

.application-details-hero:after {
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
    right:-170px;
    top:-210px;
    box-shadow:0 0 0 70px rgba(255,255,255,.025)
}

.application-progress {
    display:flex;
    align-items:center;
    max-width:690px;
    margin-bottom:32px;
    position:relative;
    z-index:1
}

.application-progress-step {
    display:flex;
    align-items:center;
    gap:10px;
    min-width:max-content;
    opacity:.6
}

.application-progress-step>span {
    width:34px;
    height:34px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.42);
    display:grid;
    place-items:center;
    font-size:12px;
    font-weight:800
}

.application-progress-step div {
    display:flex;
    flex-direction:column
}

.application-progress-step small {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:rgba(255,255,255,.66)
}

.application-progress-step strong {
    font-size:12px
}

.application-progress-step.completed,.application-progress-step.active {
    opacity:1
}

.application-progress-step.completed>span {
    background:#d6b56e;
    border-color:#d6b56e;
    color:#17372e
}

.application-progress-step.active>span {
    background:#fff;
    color:#18513f;
    border-color:#fff
}

.application-progress-line {
    height:1px;
    flex:1;
    background:rgba(255,255,255,.25);
    margin:0 16px
}

.application-heading {
    display:flex;
    justify-content:space-between;
    gap:28px;
    align-items:flex-end;
    position:relative;
    z-index:1
}

.application-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:6px 10px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50px;
    background:rgba(255,255,255,.08);
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em
}

.application-heading h1 {
    font-size:clamp(30px,4vw,47px);
    line-height:1.05;
    margin:14px 0 10px;
    color:#fff;
    font-weight:750;
    letter-spacing:-.04em
}

.application-heading p {
    max-width:690px;
    margin:0;
    color:rgba(255,255,255,.74);
    font-size:15px
}

.application-no-payment {
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px 16px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:13px;
    background:rgba(255,255,255,.08);
    min-width:220px
}

.application-no-payment>i {
    font-size:22px;
    color:#e0c47f
}

.application-no-payment span {
    display:flex;
    flex-direction:column
}

.application-no-payment strong {
    font-size:12px
}

.application-no-payment small {
    font-size:11px;
    color:rgba(255,255,255,.65)
}

.application-details-content {
    padding:42px 0 70px
}

.application-form-card,.application-summary-card {
    background:#fff;
    border:1px solid #dde6e1;
    border-radius:20px;
    box-shadow:0 18px 45px rgba(24,63,51,.07);
    overflow:hidden
}

.application-card-header {
    display:flex;
    align-items:center;
    gap:14px;
    padding:23px 26px;
    border-bottom:1px solid #e8eeeb;
    background:#fbfcfb
}

.application-card-icon {
    width:44px;
    height:44px;
    border-radius:12px;
    background:#e7f0ec;
    color:#1d654f;
    display:grid;
    place-items:center;
    font-size:20px
}

.application-card-header>div {
    display:flex;
    flex-direction:column
}

.application-card-header span {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.09em;
    color:#8b6b2e;
    font-weight:800
}

.application-card-header h2 {
    font-size:19px;
    margin:2px 0 0;
    color:#183b30
}

.application-form {
    padding:27px
}

.application-form-section-title {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px
}

.application-form-section-title>span {
    width:30px;
    height:30px;
    border-radius:9px;
    background:#173f33;
    color:#fff;
    display:grid;
    place-items:center;
    font-size:10px;
    font-weight:800
}

.application-form-section-title>div {
    display:flex;
    flex-direction:column
}

.application-form-section-title strong {
    font-size:14px;
    color:#183b30
}

.application-form-section-title small {
    font-size:11px;
    color:#87938e
}

.application-form .form-label {
    font-size:11px;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.045em;
    color:#51645d;
    margin-bottom:7px
}

.application-input-wrap {
    position:relative
}

.application-input-wrap>i {
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    color:#739085;
    font-size:15px;
    z-index:2
}

.application-input-wrap .form-control {
    height:48px;
    border:1px solid #d9e3de;
    border-radius:11px;
    padding:10px 13px 10px 42px;
    background:#fcfdfc;
    color:#1c3b32;
    box-shadow:none
}

.application-input-wrap .form-control:focus {
    border-color:#2c775f;
    background:#fff;
    box-shadow:0 0 0 3px rgba(44,119,95,.09)
}

.application-form-divider {
    height:1px;
    background:#edf1ef;
    margin:26px 0
}

.application-terms-box {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:13px;
    padding:17px;
    margin-top:26px;
    border:1px solid #dce6e1;
    border-radius:13px;
    background:#f7faf8
}

.application-terms-box .form-check-input {
    margin-top:3px;
    width:18px;
    height:18px;
    border-color:#9db1a8
}

.application-terms-box label {
    display:flex;
    flex-direction:column;
    gap:3px
}

.application-terms-box strong {
    font-size:13px;
    color:#1e4437
}

.application-terms-box span {
    font-size:12px;
    line-height:1.55;
    color:#687971
}

.application-terms-box a {
    color:#1e654f;
    font-weight:700
}

.application-submit-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:24px
}

.application-back-link {
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#566b63;
    font-size:13px;
    font-weight:700;
    text-decoration:none
}

.application-back-link:hover {
    color:#154d3c
}

.application-submit-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:48px;
    padding:0 23px;
    border-radius:11px;
    background:#1a5b47;
    color:#fff;
    border:1px solid #1a5b47;
    font-weight:750;
    font-size:13px
}

.application-submit-btn:hover {
    background:#124536;
    color:#fff;
    border-color:#124536
}

.application-security-note {
    text-align:center;
    margin-top:15px;
    color:#89958f;
    font-size:10px
}

.application-security-note i {
    margin-right:5px
}

.application-summary-card {
    position:sticky;
    top:98px
}

.application-property-image {
    height:205px;
    position:relative;
    background:#e8eeeb
}

.application-property-image img {
    width:100%;
    height:100%;
    object-fit:cover
}

.application-property-image:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(12,38,30,.36),transparent 55%)
}

.application-property-image>span {
    position:absolute;
    left:17px;
    bottom:15px;
    z-index:2;
    padding:6px 9px;
    border-radius:7px;
    background:rgba(255,255,255,.93);
    color:#23483c;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.07em;
    font-weight:800
}

.application-summary-body {
    padding:23px
}

.application-summary-label {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.09em;
    color:#9b7836;
    font-weight:800
}

.application-summary-body h2 {
    font-size:22px;
    color:#173b30;
    margin:5px 0 7px;
    line-height:1.25
}

.application-address {
    display:flex;
    gap:6px;
    align-items:flex-start;
    color:#708078;
    font-size:12px;
    line-height:1.45;
    margin:0
}

.application-address i {
    margin-top:2px;
    color:#247158
}

.application-property-facts {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:18px
}

.application-property-facts>div {
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px;
    border-radius:10px;
    background:#f5f8f6;
    border:1px solid #e6ece9
}

.application-property-facts i {
    color:#237057
}

.application-property-facts span {
    display:flex;
    flex-direction:column
}

.application-property-facts strong {
    font-size:13px;
    color:#1f4035
}

.application-property-facts small {
    font-size:9px;
    color:#84928c
}

.application-summary-section {
    padding-top:19px;
    margin-top:19px;
    border-top:1px solid #e9eeeb
}

.application-summary-section h3 {
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.075em;
    color:#6b7c74;
    margin:0 0 11px
}

.application-summary-row {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    padding:7px 0;
    font-size:12px
}

.application-summary-row span {
    color:#6d7c76
}

.application-summary-row span i {
    margin-right:7px;
    color:#29745b
}

.application-summary-row strong {
    text-align:right;
    color:#1e3f34;
    font-size:12px
}

.application-summary-section.finance {
    padding-bottom:1px
}

.application-summary-total {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-top:10px;
    padding:14px;
    border-radius:11px;
    background:#173f33;
    color:#fff
}

.application-summary-total span {
    display:flex;
    flex-direction:column;
    font-size:11px
}

.application-summary-total small {
    font-size:9px;
    color:rgba(255,255,255,.61);
    margin-top:2px
}

.application-summary-total strong {
    font-size:18px;
    color:#e4c77e
}

.application-review-notice {
    display:flex;
    gap:11px;
    padding:14px;
    margin-top:18px;
    border-radius:11px;
    background:#f7f3e9;
    border:1px solid #eadfbe
}

.application-review-notice>i {
    font-size:18px;
    color:#9e792e
}

.application-review-notice>div {
    display:flex;
    flex-direction:column
}

.application-review-notice strong {
    font-size:11px;
    color:#604e29
}

.application-review-notice span {
    font-size:10px;
    line-height:1.45;
    color:#887754;
    margin-top:2px
}

@media(max-width:991px) {
    .application-heading {
        align-items:flex-start;
        flex-direction:column
    }

    .application-no-payment {
        min-width:0
    }

    .application-summary-card {
        position:static
    }

    .application-details-content {
        padding-top:28px
    }

    .application-progress {
        max-width:100%
    }
}

@media(max-width:767px) {
    .application-details-page {
        padding-top:70px
    }

    .application-details-hero {
        padding:23px 0
    }

    .application-progress-step div {
        display:none
    }

    .application-progress-line {
        margin:0 9px
    }

    .application-progress-step>span {
        width:30px;
        height:30px
    }

    .application-heading h1 {
        font-size:31px
    }

    .application-heading p {
        font-size:13px
    }

    .application-card-header,.application-form,.application-summary-body {
        padding:19px
    }

    .application-form-card,.application-summary-card {
        border-radius:15px
    }

    .application-submit-row {
        align-items:stretch;
        flex-direction:column-reverse
    }

    .application-submit-btn {
        width:100%
    }

    .application-back-link {
        justify-content:center
    }

    .application-property-facts {
        grid-template-columns:1fr
    }

    .application-property-image {
        height:180px
    }
}

/* v19 application details - aligned public layout */
.ad2-page-head {
    padding:112px 0 24px;
    background:#f4f6f3
}

.ad2-head-card {
    background:linear-gradient(135deg,#173f33,#245c4a);
    border-radius:18px;
    padding:28px 30px;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    box-shadow:0 14px 35px rgba(19,59,47,.14)
}

.ad2-head-copy {
    max-width:640px
}

.ad2-head-copy .section-mini-kicker {
    color:#dfc27c;
    border-color:rgba(255,255,255,.16);
    background:rgba(255,255,255,.07)
}

.ad2-head-copy h1 {
    margin:10px 0 7px;
    color:#fff;
    font-size:34px;
    line-height:1.12;
    letter-spacing:-.025em
}

.ad2-head-copy p {
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:14px
}

.ad2-steps {
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0
}

.ad2-steps>i {
    font-size:11px;
    color:rgba(255,255,255,.35)
}

.ad2-step {
    display:flex;
    align-items:center;
    gap:8px;
    color:rgba(255,255,255,.55)
}

.ad2-step span {
    width:30px;
    height:30px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.3);
    display:grid;
    place-items:center;
    font-size:11px;
    font-weight:800
}

.ad2-step small {
    font-size:10px;
    font-weight:700;
    white-space:nowrap
}

.ad2-step.done,.ad2-step.active {
    color:#fff
}

.ad2-step.done span {
    background:#d2b36f;
    border-color:#d2b36f;
    color:#173f33
}

.ad2-step.active span {
    background:#fff;
    border-color:#fff;
    color:#173f33
}

.ad2-content-section {
    padding:16px 0 70px;
    background:#f4f6f3
}

.ad2-card {
    background:#fff;
    border:1px solid #dfe7e2;
    border-radius:16px;
    box-shadow:0 12px 32px rgba(25,61,50,.06);
    overflow:hidden
}

.ad2-card-title {
    display:flex;
    align-items:center;
    gap:13px;
    padding:20px 22px;
    border-bottom:1px solid #e8eeea;
    background:#fbfcfb
}

.ad2-title-icon {
    width:42px;
    height:42px;
    border-radius:10px;
    background:#e8f0ec;
    color:#205c49;
    display:grid;
    place-items:center;
    font-size:18px
}

.ad2-card-title span,.ad2-overline {
    display:block;
    color:#967338;
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:800
}

.ad2-card-title h2 {
    margin:2px 0 0;
    font-size:18px;
    color:#193d31
}

.ad2-form {
    padding:23px
}

.ad2-section-label {
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:15px
}

.ad2-section-label>span {
    width:28px;
    height:28px;
    border-radius:8px;
    background:#1d5745;
    color:#fff;
    display:grid;
    place-items:center;
    font-size:10px;
    font-weight:800
}

.ad2-section-label>div {
    display:flex;
    flex-direction:column
}

.ad2-section-label strong {
    font-size:13px;
    color:#25483d
}

.ad2-section-label small {
    font-size:11px;
    color:#84918c
}

.ad2-form .form-label {
    font-size:11px;
    font-weight:700;
    color:#4e635b;
    margin-bottom:6px
}

.ad2-form .form-control {
    height:46px;
    border-radius:9px;
    border:1px solid #d7e1dc;
    background:#fff;
    padding:10px 13px;
    color:#203c33;
    box-shadow:none
}

.ad2-form .form-control:focus {
    border-color:#3b806a;
    box-shadow:0 0 0 3px rgba(59,128,106,.09)
}

.ad2-divider {
    height:1px;
    background:#e9eeeb;
    margin:24px 0
}

.ad2-consent {
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin-top:24px;
    padding:15px 16px;
    border:1px solid #dce5e0;
    border-radius:10px;
    background:#f8faf9;
    cursor:pointer
}

.ad2-consent input {
    margin-top:2px;
    flex:0 0 auto
}

.ad2-consent>span {
    display:flex;
    flex-direction:column;
    gap:3px
}

.ad2-consent strong {
    font-size:12px;
    color:#23483b
}

.ad2-consent small {
    font-size:11px;
    line-height:1.5;
    color:#6f7f78
}

.ad2-consent a {
    color:#1d634e;
    font-weight:700
}

.ad2-actions {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    margin-top:22px
}

.ad2-back-btn,.ad2-submit-btn {
    min-height:45px;
    border-radius:9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:12px;
    font-weight:750
}

.ad2-back-btn {
    border:1px solid #d6e0db;
    color:#38564b;
    background:#fff;
    padding:0 17px
}

.ad2-back-btn:hover {
    background:#f5f8f6;
    color:#1b4f3e
}

.ad2-submit-btn {
    background:#1c5b47;
    border:1px solid #1c5b47;
    color:#fff;
    padding:0 20px
}

.ad2-submit-btn:hover {
    background:#154838;
    border-color:#154838;
    color:#fff
}

.ad2-secure-note {
    text-align:center;
    margin:13px 0 0;
    color:#86928d;
    font-size:10px
}

.ad2-summary-card {
    position:sticky;
    top:96px
}

.ad2-property-image {
    height:188px;
    background:#e5ebe7
}

.ad2-property-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}

.ad2-summary-content {
    padding:20px
}

.ad2-summary-content h2 {
    font-size:20px;
    line-height:1.25;
    margin:5px 0 7px;
    color:#173b30
}

.ad2-address {
    display:flex;
    align-items:flex-start;
    gap:6px;
    margin:0;
    color:#74817c;
    font-size:11px;
    line-height:1.5
}

.ad2-address i {
    color:#23664f;
    margin-top:2px
}

.ad2-facts {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:15px
}

.ad2-facts span {
    padding:7px 9px;
    border:1px solid #e2e9e5;
    border-radius:7px;
    background:#f7f9f8;
    font-size:9px;
    color:#718079
}

.ad2-facts strong {
    color:#22483a;
    font-size:11px
}

.ad2-summary-block {
    border-top:1px solid #e8eeea;
    margin-top:17px;
    padding-top:15px
}

.ad2-summary-block h3 {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#687970;
    margin:0 0 8px
}

.ad2-summary-block>div {
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:6px 0;
    font-size:11px
}

.ad2-summary-block span {
    color:#75827d
}

.ad2-summary-block strong {
    color:#203f35;
    text-align:right
}

.ad2-total-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-top:14px;
    padding:13px 14px;
    border-radius:9px;
    background:#183f33;
    color:#fff
}

.ad2-total-row span {
    display:flex;
    flex-direction:column;
    font-size:11px
}

.ad2-total-row small {
    font-size:9px;
    color:rgba(255,255,255,.62)
}

.ad2-total-row strong {
    font-size:17px;
    color:#dec27d
}

.ad2-info-note {
    display:flex;
    gap:9px;
    margin-top:13px;
    padding:11px;
    border-radius:8px;
    background:#f7f3e9;
    color:#75623c;
    font-size:10px;
    line-height:1.45
}

.ad2-info-note i {
    color:#9b7831;
    margin-top:1px
}

.ad2-info-note span {
    display:block
}

.ad2-info-note strong {
    display:block;
    color:#5f4d2b
}

@media(max-width:1199px) {
    .ad2-head-card {
        align-items:flex-start;
        flex-direction:column
    }

    .ad2-steps {
        width:100%;
        justify-content:flex-start
    }
}

@media(max-width:991px) {
    .ad2-summary-card {
        position:static
    }

    .ad2-page-head {
        padding-top:98px
    }

    .ad2-content-section {
        padding-top:12px
    }
}

@media(max-width:767px) {
    .ad2-page-head {
        padding:86px 0 12px
    }

    .ad2-head-card {
        padding:21px 18px;
        border-radius:13px
    }

    .ad2-head-copy h1 {
        font-size:27px
    }

    .ad2-head-copy p {
        font-size:12px
    }

    .ad2-steps {
        gap:6px
    }

    .ad2-step small {
        display:none
    }

    .ad2-step span {
        width:28px;
        height:28px
    }

    .ad2-card {
        border-radius:12px
    }

    .ad2-card-title,.ad2-form,.ad2-summary-content {
        padding:17px
    }

    .ad2-actions {
        align-items:stretch;
        flex-direction:column-reverse
    }

    .ad2-back-btn,.ad2-submit-btn {
        width:100%
    }

    .ad2-content-section {
        padding-bottom:45px
    }

    .ad2-property-image {
        height:170px
    }
}

/* Unified rental application statuses */
.status-in_review,.dash-status.in_review {
    background:#fff7dc!important;
    color:#8a6518!important
}

.status-approved,.dash-status.approved {
    background:#eaf4ff!important;
    color:#245f93!important
}

.status-confirmed,.dash-status.confirmed {
    background:#e9f7ef!important;
    color:#216e4d!important
}

.status-cancelled,.status-rejected,.dash-status.cancelled,.dash-status.rejected {
    background:#fff0f0!important;
    color:#a43d3d!important
}

/* Workflow consistency audit: uniform spacing around application notices and actions. */
.ad2-info-note + .ad2-actions {
    margin-top: 18px;
}

.ad2-actions + .ad2-info-note {
    margin-top: 16px;
}

.ad2-info-note + .ad2-secure-note {
    margin-top: 14px;
}

@media(max-width:767px) {
    .ad2-info-note {
        padding:13px;
        line-height:1.55;
    }
}
