/* Extracted from TenantsUG PHP views. Do not edit inline styles back into views. */

/* source: auth/partials/header.php */
:root {
            --auth-bg: #ebf2fb;
            --auth-panel-1: #10293f;
            --auth-panel-2: #175c85;
            --auth-card-border: #d6e2ef;
            --auth-heading: #10283f;
            --auth-body: #4b627a;
            --auth-primary: #15557b;
            --auth-primary-dark: #0f3f5c;
            --auth-ring: rgba(21, 85, 123, 0.15);
        }
        html,
        body {
            min-height: 100%;
        }
        body.auth-page {
            margin: 0;
            position: relative;
            overflow-x: hidden;
            color: var(--auth-body);
            background: radial-gradient(circle at 96% 2%, rgba(22, 115, 170, 0.22), transparent 28%),
                        radial-gradient(circle at 0% 100%, rgba(244, 189, 92, 0.26), transparent 32%),
                        var(--auth-bg);
            font-family: 'Sora', sans-serif;
        }
        .auth-page a {
            text-decoration: none;
        }
        .auth-root {
            position: relative;
            z-index: 2;
        }
        .auth-brand-panel {
            position: relative;
            background: linear-gradient(158deg, var(--auth-panel-1) 0%, #123d60 48%, var(--auth-panel-2) 100%);
            color: #eef8ff;
            overflow: hidden;
        }
        .auth-brand-panel::before {
            content: '';
            position: absolute;
            right: -84px;
            top: -74px;
            width: 260px;
            height: 260px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(244, 189, 92, 0.52), rgba(244, 189, 92, 0));
        }
        .auth-brand-panel::after {
            content: '';
            position: absolute;
            left: -100px;
            bottom: -110px;
            width: 300px;
            height: 300px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0));
        }
        .auth-brand-panel__inner {
            position: relative;
            z-index: 1;
            padding: 3rem 2.35rem;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            width: 100%;
        }
        .brand-mark-img {
            width: 3rem;
            height: 3rem;
            border-radius: 0.9rem;
            flex: 0 0 auto;
            object-fit: contain;
        }
        .auth-mobile-logo {
            display: none;
            align-items: center;
            gap: 0.7rem;
            margin-bottom: 1.2rem;
            color: var(--auth-heading);
            font-weight: 800;
            letter-spacing: -0.01em;
        }
        .auth-mobile-logo:hover,
        .auth-mobile-logo:focus {
            color: var(--auth-primary-dark);
        }
        .auth-mobile-logo .brand-mark-img {
            width: 2.65rem;
            height: 2.65rem;
            border-radius: 0.82rem;
        }
        .auth-logo {
            display: inline-flex;
            align-items: center;
            gap: 0.65rem;
            font-weight: 700;
            color: #fff;
            letter-spacing: 0.03em;
        }
        .auth-logo__mark {
            width: 2.08rem;
            height: 2.08rem;
            border-radius: 0.68rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.82rem;
            color: #0f2f49;
            background: linear-gradient(135deg, #f4bd5c, #ffe0a2);
            box-shadow: 0 10px 24px rgba(2, 18, 30, 0.34);
        }
        .auth-brand-panel h2 {
            margin-top: 2.6rem;
            margin-bottom: 0.8rem;
            color: #fff;
            font-size: clamp(2rem, 2.8vw, 2.6rem);
            line-height: 1.04;
            font-family: 'Cormorant Garamond', serif;
        }
        .auth-brand-panel p {
            margin-bottom: 1.25rem;
            color: rgba(236, 248, 255, 0.9);
            max-width: 32rem;
        }
        .auth-point-list {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .auth-point-list li {
            display: flex;
            align-items: flex-start;
            gap: 0.55rem;
            margin-bottom: 0.72rem;
            color: rgba(235, 247, 255, 0.95);
            font-size: 0.89rem;
        }
        .auth-point-list li i {
            margin-top: 0.08rem;
            color: #f8d997;
        }
        .auth-panel-links {
            margin-top: 1.2rem;
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
            color: #e9f7ff;
            font-weight: 600;
            font-size: 0.86rem;
        }
        .auth-panel-links:hover,
        .auth-panel-links:focus {
            color: #fff7df;
        }
        .auth-form-wrap {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1.55rem;
        }
        .auth-form-card {
            width: min(100%, 36rem);
            border: 1px solid var(--auth-card-border);
            border-radius: 1rem;
            background: rgba(255, 255, 255, 0.96);
            box-shadow: 0 20px 48px rgba(20, 47, 78, 0.16);
            backdrop-filter: blur(6px);
        }
        .auth-kicker {
            margin-bottom: 0.45rem;
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            font-weight: 700;
            color: #5b7390;
        }
        .auth-form-card h1 {
            margin-bottom: 0.4rem;
            color: var(--auth-heading);
            font-weight: 700;
            letter-spacing: 0.01em;
        }
        .auth-form-card p.auth-subtitle {
            margin-bottom: 0;
            color: var(--auth-body);
        }
        .auth-back-link {
            border: 1px solid #cad8e8;
            border-radius: 999px;
            padding: 0.3rem 0.72rem;
            background: #f7fbff;
            color: #27445f;
            font-size: 0.78rem;
            font-weight: 600;
            white-space: nowrap;
        }
        .auth-back-link:hover,
        .auth-back-link:focus {
            border-color: #8eb0cd;
            color: #173c59;
            background: #edf5ff;
        }
        .auth-form-card .form-label {
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: #4f6781;
            font-weight: 600;
        }
        .auth-form-card .form-control {
            border-radius: 0.76rem;
            border-color: #c8d7e8;
            min-height: 2.68rem;
            color: #29445d;
        }
        .auth-form-card .form-control:focus {
            border-color: #7da4c6;
            box-shadow: 0 0 0 0.21rem var(--auth-ring);
        }
        .auth-form-card .input-group .btn {
            border-color: #c8d7e8;
            color: #355471;
            background: #f8fbff;
        }
        .auth-form-card .input-group .btn:hover,
        .auth-form-card .input-group .btn:focus {
            color: #1b3f5d;
            background: #edf4ff;
        }
        .auth-form-card .btn-primary {
            border: 0;
            border-radius: 0.76rem;
            font-weight: 600;
            background: linear-gradient(135deg, var(--auth-primary) 0%, var(--auth-primary-dark) 100%);
            box-shadow: 0 12px 22px rgba(21, 85, 123, 0.2);
        }
        .auth-form-card .btn-primary:hover,
        .auth-form-card .btn-primary:focus {
            background: linear-gradient(135deg, #124d70 0%, #0c354d 100%);
        }
        .auth-form-card .auth-links a {
            font-size: 0.84rem;
            font-weight: 600;
            color: #2a4b67;
        }
        .auth-form-card .auth-links a:hover,
        .auth-form-card .auth-links a:focus {
            color: #133e5d;
        }
        .auth-form-card .alert {
            border-radius: 0.78rem;
            border-width: 1px;
            font-size: 0.88rem;
        }
        @media (max-width: 991.98px) {
            .auth-mobile-logo {
                display: inline-flex;
            }
            .auth-form-wrap {
                padding: 1rem;
                min-height: auto;
            }
            .auth-form-card {
                margin: 0.35rem 0;
            }
        }

/* source: layouts/header.php */
.card-soft {
            box-shadow: 0 10px 26px rgba(20, 47, 78, 0.08);
            border-radius: 1rem;
        }
        .metric-value {
            font-size: clamp(1.05rem, 1.35vw, 1.28rem);
            font-weight: 700;
            letter-spacing: -0.01em;
        }
        @media (min-width: 992px) {
            .metric-value {
                font-size: clamp(0.95rem, 1vw, 1.12rem);
            }
        }
        .table thead th {
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.03em;
        }
        .sidebar-brand .brand-link {
            text-decoration: none;
        }
        .brand-mark-img {
            width: 2rem;
            height: 2rem;
            border-radius: 0.7rem;
            flex: 0 0 auto;
            object-fit: contain;
        }
        .dash-brand-lockup,
        .dash-theme .dash-topbar-brand,
        .public-vacancy-theme .vacancy-brand,
        .auth-logo {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
        }
        .vacancy-brand__mark-img {
            width: 2.15rem;
            height: 2.15rem;
        }
        .dash-theme .sidebar-brand {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.55rem;
            padding-right: 0.45rem;
        }
        .dash-theme .sidebar-brand .brand-link {
            flex: 1 1 auto;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .dash-theme .sidebar-close-btn {
            display: none;
            align-items: center;
            justify-content: center;
            width: 2rem;
            height: 2rem;
            border-radius: 0.58rem;
            border: 1px solid rgba(180, 202, 226, 0.35);
            color: #d7e4f4;
            background: rgba(15, 35, 56, 0.45);
        }
        .dash-theme .sidebar-close-btn:hover,
        .dash-theme .sidebar-close-btn:focus {
            color: #fff;
            border-color: rgba(206, 220, 236, 0.55);
            background: rgba(15, 35, 56, 0.7);
        }
        .dash-theme {
            --dash-bg: #edf3fb;
            --dash-bg-2: #e8f0f9;
            --dash-surface: #ffffff;
            --dash-border: #d7e1ef;
            --dash-heading: #12253b;
            --dash-body: #49607a;
            --dash-primary: #1f6fa0;
            --dash-primary-dark: #154b73;
            --dash-sidebar-1: #15283d;
            --dash-sidebar-2: #101f31;
            color: var(--dash-body);
            font-family: 'Sora', 'Source Sans 3', sans-serif;
        }
        .dash-theme .app-wrapper {
            min-height: 100vh;
            background: radial-gradient(circle at 96% 0%, rgba(31, 111, 160, 0.12), transparent 28%),
                        radial-gradient(circle at 0% 100%, rgba(244, 188, 92, 0.14), transparent 34%),
                        linear-gradient(160deg, var(--dash-bg) 0%, var(--dash-bg-2) 100%);
        }
        .dash-theme .app-main {
            padding-top: 0.85rem;
        }
        .dash-theme .app-content {
            background: transparent;
        }
        .dash-theme .app-content-header {
            padding-bottom: 0.35rem;
        }
        .dash-theme .app-content-header h3 {
            color: var(--dash-heading);
            font-weight: 700;
            letter-spacing: 0.01em;
        }
        .dash-theme .app-header.navbar.bg-body {
            border-bottom: 1px solid rgba(165, 183, 206, 0.45);
            background: rgba(255, 255, 255, 0.85) !important;
            backdrop-filter: blur(8px);
        }
        .dash-theme .app-header .nav-link {
            color: #2b445f;
        }
        .dash-theme .card,
        .dash-theme .card-soft {
            border: 1px solid var(--dash-border);
            border-radius: 1rem;
            background: var(--dash-surface);
            box-shadow: 0 12px 32px rgba(26, 52, 83, 0.1);
            overflow: hidden;
        }
        .dash-theme .card-header {
            border-bottom: 1px solid #dce6f2;
            background: linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
            color: #2b4561;
            font-weight: 700;
            overflow-wrap: anywhere;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 0.5rem 0.75rem;
        }
        .dash-theme .card-header > * {
            min-width: 0;
            margin-bottom: 0;
        }
        .dash-theme .card-header > strong,
        .dash-theme .card-header > .card-title,
        .dash-theme .card-header > h1,
        .dash-theme .card-header > h2,
        .dash-theme .card-header > h3,
        .dash-theme .card-header > h4,
        .dash-theme .card-header > h5,
        .dash-theme .card-header > h6 {
            flex: 1 1 220px;
        }
        .dash-theme .card-header > :not(:first-child).small,
        .dash-theme .card-header > :not(:first-child).text-muted,
        .dash-theme .card-header > :not(:first-child).card-tools,
        .dash-theme .card-header > :not(:first-child).btn-group,
        .dash-theme .card-header > :not(:first-child).btn-toolbar,
        .dash-theme .card-header > :not(:first-child).input-group,
        .dash-theme .card-header > :not(:first-child).d-flex,
        .dash-theme .card-header > :not(:first-child).ms-auto,
        .dash-theme .card-header > :not(:first-child).me-auto,
        .dash-theme .card-header > :not(:first-child).float-end,
        .dash-theme .card-header > :not(:first-child).float-right,
        .dash-theme .card-header > :not(:first-child).btn,
        .dash-theme .card-header > :not(:first-child)form {
            margin-left: auto;
        }
        .dash-theme .card-header .card-tools,
        .dash-theme .card-header form,
        .dash-theme .card-header .btn-group,
        .dash-theme .card-header .btn-toolbar,
        .dash-theme .card-header .d-flex {
            max-width: 100%;
            min-width: 0;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 0.45rem;
        }
        .dash-theme .card-header .input-group {
            flex: 1 1 240px;
            min-width: 0;
            max-width: 100%;
        }
        .dash-theme .card-header .form-control,
        .dash-theme .card-header .form-select {
            min-width: 0;
        }
        .dash-theme .card-header .btn {
            white-space: normal;
        }
        .dash-theme .form-control,
        .dash-theme .form-select,
        .dash-theme textarea {
            border-radius: 0.78rem;
            border-color: #cad8ea;
            background: #fcfdff;
        }
        .dash-theme .form-control:focus,
        .dash-theme .form-select:focus,
        .dash-theme textarea:focus {
            border-color: #82a7c9;
            box-shadow: 0 0 0 0.22rem rgba(31, 111, 160, 0.15);
        }
        .dash-theme .btn {
            border-radius: 0.78rem;
            font-weight: 600;
            letter-spacing: 0.01em;
        }
        .dash-theme .btn-dark {
            border-color: #0f3e5c;
            background: linear-gradient(135deg, #14577c 0%, #0f3e5c 100%);
        }
        .dash-theme .btn-dark:hover,
        .dash-theme .btn-dark:focus {
            border-color: #0b324a;
            background: linear-gradient(135deg, #0f4768 0%, #0b324a 100%);
        }
        .dash-theme .btn-outline-secondary {
            border-color: #c2d1e4;
            color: #35506a;
            background: #fff;
        }
        .dash-theme .btn-outline-secondary:hover,
        .dash-theme .btn-outline-secondary:focus {
            border-color: #8ca9c5;
            color: #1e3b55;
            background: #f5f9ff;
        }
        .dash-theme .table > :not(caption) > * > * {
            padding: 0.76rem 0.82rem;
        }
        .dash-theme .table-responsive {
            border: 1px solid #d9e3f1;
            border-radius: 0.9rem;
            background: #fff;
        }
        .dash-theme .table {
            margin-bottom: 0;
            width: 100%;
            table-layout: auto;
        }
        .dash-theme .table > :not(caption) > * > * {
            vertical-align: middle;
            overflow-wrap: anywhere;
            word-break: break-word;
        }
        .dash-theme .table thead th {
            position: sticky;
            top: 0;
            z-index: 1;
            background: #f5f9ff;
            border-bottom-color: #d8e3f1;
            color: #5a718a;
            font-size: 0.74rem;
            font-weight: 700;
        }
        .dash-theme .table tbody td {
            border-top-color: #e3ebf6;
            color: #38516c;
            line-height: 1.35;
        }
        .dash-theme .table tbody td .small,
        .dash-theme .table tbody td .text-muted {
            line-height: 1.3;
        }
        .dash-theme .table-hover tbody tr:hover {
            background: #f5f9ff;
        }
        .dash-theme .table td.text-end,
        .dash-theme .table th.text-end {
            white-space: nowrap;
            min-width: 11.5rem;
        }
        .dash-theme .table td.text-end > * {
            margin: 0.12rem 0 0.12rem 0.35rem;
            vertical-align: middle;
        }
        .dash-theme .table td.text-end > :first-child {
            margin-left: 0;
        }
        .dash-theme .table td.text-end form.d-inline,
        .dash-theme .table td.text-end form.d-inline-flex {
            display: inline-flex;
            align-items: center;
            margin: 0.12rem 0 0.12rem 0.35rem;
        }
        .dash-theme .table td.text-end form.d-inline:first-child,
        .dash-theme .table td.text-end form.d-inline-flex:first-child {
            margin-left: 0;
        }
        .dash-theme .table td.text-end .d-inline-flex {
            display: inline-flex;
            align-items: center;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 0.35rem !important;
        }
        .dash-theme .table .btn-sm {
            min-width: 3.85rem;
            padding: 0.31rem 0.56rem;
            justify-content: center;
        }
        .dash-theme .table-stack-mobile-wrap {
            overflow-x: auto;
        }
        .dash-theme .table.table-stack-mobile td[data-label]::before {
            content: '';
            display: none;
        }
        .dash-theme .card-body > .d-flex.justify-content-between.align-items-center.mb-3 {
            gap: 0.85rem;
            flex-wrap: wrap;
        }
        .dash-theme .card-body > .d-flex.justify-content-between.align-items-center.mb-3 > form.row,
        .dash-theme .card-body > .d-flex.justify-content-between.align-items-center.mb-3 > form.d-flex {
            flex: 1 1 560px;
            margin-bottom: 0;
        }
        .dash-theme .card-body > .d-flex.justify-content-between.align-items-center.mb-3 > .btn,
        .dash-theme .card-body > .d-flex.justify-content-between.align-items-center.mb-3 > .btn-group,
        .dash-theme .card-body > .d-flex.justify-content-between.align-items-center.mb-3 > div:last-child {
            flex: 0 0 auto;
        }
        .dash-theme form.d-inline,
        .dash-theme form.d-inline-flex {
            margin-bottom: 0;
        }
        .dash-theme .badge {
            letter-spacing: 0.02em;
        }
        .dash-theme .app-sidebar {
            border-right: 1px solid rgba(157, 179, 205, 0.35);
            background: linear-gradient(180deg, var(--dash-sidebar-1) 0%, var(--dash-sidebar-2) 100%);
        }
        .dash-theme .app-sidebar .sidebar-brand {
            border-bottom: 1px solid rgba(157, 179, 205, 0.3);
        }
        .dash-theme .app-sidebar .brand-text {
            letter-spacing: 0.03em;
            font-weight: 700;
        }
        .dash-theme .sidebar-search {
            position: sticky;
            top: 0;
            z-index: 2;
            border-bottom: 1px solid rgba(158, 182, 210, 0.25);
            background: linear-gradient(180deg, rgba(16, 31, 49, 0.98), rgba(16, 31, 49, 0.9));
        }
        .dash-theme .sidebar-search .input-group-text {
            border-color: rgba(151, 178, 206, 0.5);
            color: #a5bdd9;
            background: rgba(28, 52, 80, 0.85);
        }
        .dash-theme .sidebar-search .form-control {
            border-color: rgba(151, 178, 206, 0.5);
            color: #eef5ff;
            background: rgba(28, 52, 80, 0.85);
        }
        .dash-theme .sidebar-search .form-control::placeholder {
            color: rgba(190, 209, 231, 0.75);
        }
        .dash-theme .sidebar-search .form-control:focus {
            border-color: rgba(138, 175, 209, 0.85);
            box-shadow: 0 0 0 0.18rem rgba(31, 111, 160, 0.22);
        }
        .dash-theme .sidebar-section-label {
            margin: 0.95rem 0.95rem 0.42rem;
            padding: 0.18rem 0.42rem;
            border-radius: 0.62rem;
            cursor: pointer;
            user-select: none;
        }
        .dash-theme .sidebar-section-label:first-child {
            margin-top: 0.32rem;
        }
        .dash-theme .sidebar-section-label span {
            display: block;
            font-size: 0.63rem;
            font-weight: 700;
            letter-spacing: 0.13em;
            text-transform: uppercase;
            color: #7f97b3;
        }
        .dash-theme .sidebar-section-label:hover,
        .dash-theme .sidebar-section-label:focus-visible {
            background: rgba(118, 152, 186, 0.15);
            outline: 0;
        }
        .dash-theme .sidebar-section-label .sidebar-section-caret {
            margin-left: 0.35rem;
            color: #8ea6c2;
            font-size: 0.7rem;
            transition: transform 0.18s ease;
        }
        .dash-theme .sidebar-section-label.is-collapsed .sidebar-section-caret {
            transform: rotate(-90deg);
        }
        .dash-theme .sidebar-menu .sidebar-filter-hidden,
        .dash-theme .sidebar-menu .sidebar-collapse-hidden {
            display: none !important;
        }
        .dash-theme .sidebar-menu .nav-link {
            margin: 0.14rem 0.5rem;
            border-radius: 0.75rem;
            color: #d2dfef;
            display: flex;
            align-items: center;
            min-height: 2.5rem;
        }
        .dash-theme .sidebar-menu .nav-link p {
            margin-bottom: 0;
        }
        .dash-theme .sidebar-menu .nav-link .nav-icon {
            color: #9fb5d3;
        }
        .dash-theme .sidebar-menu .nav-link:hover {
            background: rgba(97, 143, 191, 0.17);
            color: #ffffff;
        }
        .dash-theme .sidebar-menu .nav-link:hover .nav-icon {
            color: #ffffff;
        }
        .dash-theme .sidebar-menu .nav-link.active {
            background: linear-gradient(135deg, rgba(31, 111, 160, 0.95), rgba(20, 75, 115, 0.98));
            color: #ffffff;
            box-shadow: 0 10px 22px rgba(0, 0, 0, 0.25);
        }
        .dash-theme .sidebar-menu .nav-link.active .nav-icon {
            color: #ffffff;
        }
        .dash-theme .nav-pills .nav-link {
            border: 1px solid #d3dfef;
            border-radius: 0.82rem;
            color: #2e4a66;
            background: #ffffff;
        }
        .dash-theme .nav-pills .nav-link.active {
            border-color: #1f6fa0;
            color: #ffffff;
            background: linear-gradient(135deg, #1f6fa0 0%, #154b73 100%);
        }
        .dash-theme .pagination .page-link {
            margin-right: 0.24rem;
            border-radius: 0.65rem;
            border-color: #ccd9ea;
            color: #2f4d68;
        }
        .dash-theme .pagination .page-item.active .page-link {
            border-color: #1f6fa0;
            background: #1f6fa0;
            color: #fff;
        }
        .dash-theme .dash-command-trigger {
            border: 0;
            border-radius: 999px;
            color: #1d405e;
            font-weight: 600;
            letter-spacing: 0.01em;
            background: rgba(31, 111, 160, 0.08);
        }
        .dash-theme .dash-command-trigger:hover,
        .dash-theme .dash-command-trigger:focus {
            color: #153e5f;
            background: rgba(31, 111, 160, 0.14);
        }
        .dash-theme .dash-command-trigger kbd {
            margin-left: 0.28rem;
            border: 1px solid #c7d7ea;
            border-bottom-width: 2px;
            border-radius: 0.4rem;
            padding: 0.08rem 0.32rem;
            font-size: 0.66rem;
            color: #32506e;
            background: #fff;
        }
        .dash-theme .command-center-panel {
            border: 1px solid #cfdded;
            background: linear-gradient(135deg, #ffffff 0%, #f4f9ff 42%, #eaf3ff 100%);
        }
        .dash-theme .mini-stat-tile {
            height: 100%;
            border: 1px solid #d6e2f1;
            border-radius: 0.86rem;
            padding: 0.68rem 0.75rem;
            background: #ffffff;
        }
        .dash-theme .mini-stat-tile--warn {
            border-color: rgba(195, 115, 33, 0.26);
            background: #fff9f2;
        }
        .dash-theme .mini-stat-tile--danger {
            border-color: rgba(196, 80, 87, 0.25);
            background: #fff5f5;
        }
        .dash-theme .mini-stat-tile__label {
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.07em;
            color: #68819a;
            font-weight: 700;
        }
        .dash-theme .mini-stat-tile__value {
            margin-top: 0.28rem;
            font-size: 1.34rem;
            line-height: 1.1;
            color: #163651;
            font-weight: 700;
        }
        .dash-theme .mini-stat-tile__meta {
            margin-top: 0.2rem;
            color: #59718b;
            font-size: 0.77rem;
            font-weight: 600;
        }
        .dash-theme .workflow-step-list .list-group-item {
            border-left: 0;
            border-right: 0;
            padding: 0.88rem 1rem;
        }
        .dash-theme .workflow-step-indicator {
            width: 0.62rem;
            height: 0.62rem;
            margin-top: 0.38rem;
            border-radius: 999px;
            display: inline-block;
            flex: 0 0 0.62rem;
        }
        .dash-theme .workflow-step-indicator--ok {
            background: #2f915a;
            box-shadow: 0 0 0 4px rgba(47, 145, 90, 0.15);
        }
        .dash-theme .workflow-step-indicator--progress {
            background: #1f6fa0;
            box-shadow: 0 0 0 4px rgba(31, 111, 160, 0.16);
        }
        .dash-theme .workflow-step-indicator--alert {
            background: #c45158;
            box-shadow: 0 0 0 4px rgba(196, 81, 88, 0.16);
        }
        .dash-theme .table-super tbody tr {
            transition: background-color 0.16s ease;
        }
        .dash-theme .table-super tbody tr:hover {
            background: #f2f8ff;
        }
        .dash-theme .table-super tbody td {
            font-size: 0.89rem;
        }
        .dash-theme #commandPaletteModal .modal-content {
            border: 1px solid #cfdceb;
            border-radius: 1rem;
            overflow: hidden;
            box-shadow: 0 20px 48px rgba(24, 52, 83, 0.25);
        }
        .dash-theme #commandPaletteModal .modal-header {
            border-bottom: 1px solid #dce7f3;
            background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
        }
        .dash-theme .dash-command-search {
            border-radius: 0.78rem;
            border: 1px solid #c6d6e8;
            background: #fbfdff;
        }
        .dash-theme .dash-command-search:focus {
            border-color: #85aacb;
            box-shadow: 0 0 0 0.22rem rgba(31, 111, 160, 0.14);
        }
        .dash-theme .dash-command-list {
            max-height: min(56vh, 460px);
            overflow-y: auto;
            border: 1px solid #d8e3f1;
            border-radius: 0.85rem;
            background: #fff;
        }
        .dash-theme .dash-command-item {
            border-left: 0;
            border-right: 0;
            cursor: pointer;
        }
        .dash-theme .dash-command-item:first-child {
            border-top: 0;
        }
        .dash-theme .dash-command-item.is-active {
            background: #eef5ff;
        }
        .dash-theme .dash-command-item__label {
            color: #193750;
            font-weight: 700;
        }
        .dash-theme .dash-command-item__desc {
            color: #5f7690;
            font-size: 0.82rem;
        }
        .dash-theme .dash-command-item__group {
            border-radius: 999px;
            padding: 0.14rem 0.45rem;
            font-size: 0.69rem;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            border: 1px solid #c8d8eb;
            color: #33506b;
            background: #f7fbff;
        }
        .dash-theme .dash-command-item__hint {
            color: #6a8199;
            font-size: 0.78rem;
            font-weight: 600;
        }
        .dash-theme .dash-command-empty {
            border: 1px dashed #ccd9ea;
            border-radius: 0.86rem;
            padding: 1.15rem;
            text-align: center;
            color: #60778f;
        }
        .dash-theme .mobile-quick-nav {
            display: none;
        }
        .dash-theme .nav-menu-toggle {
            display: inline-flex;
            align-items: center;
            border-radius: 0.68rem;
            font-weight: 600;
            color: #234059;
            background: rgba(31, 111, 160, 0.08);
        }
        .dash-theme .nav-menu-toggle:hover,
        .dash-theme .nav-menu-toggle:focus {
            color: #153c5a;
            background: rgba(31, 111, 160, 0.16);
        }

        .public-vacancy-theme #unlock-contact {
            scroll-margin-top: 6rem;
        }
        .public-vacancy-theme #unlock-contact.is-contact-target {
            animation: contact-target-pulse 1.25s ease;
        }
        .public-vacancy-theme .property-units-pill {
            border: 0;
            display: inline-flex;
            align-items: center;
            gap: 0.1rem;
            font-weight: 800;
            cursor: pointer;
            box-shadow: 0 8px 20px rgba(25, 135, 84, 0.18);
        }
        .public-vacancy-theme .property-units-pill:hover,
        .public-vacancy-theme .property-units-pill:focus {
            transform: translateY(-1px);
            box-shadow: 0 12px 26px rgba(25, 135, 84, 0.24);
        }
        .public-vacancy-theme .property-units-modal .modal-dialog {
            max-width: min(1080px, calc(100vw - 1.5rem));
        }
        .public-vacancy-theme .property-units-modal .modal-content {
            border: 1px solid #d6e5f2;
            border-radius: 1.15rem;
            overflow: hidden;
            box-shadow: 0 28px 90px rgba(11, 31, 51, 0.28);
        }
        .public-vacancy-theme .modal-dialog-scrollable .modal-content {
            overflow: hidden;
        }
        .public-vacancy-theme .modal-dialog-scrollable .modal-header {
            position: sticky;
            top: 0;
            z-index: 30;
            background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
            border-bottom: 1px solid #dbe8f4;
        }
        .public-vacancy-theme .modal-dialog-scrollable .modal-footer {
            position: sticky;
            bottom: 0;
            z-index: 30;
            background: #ffffff;
            border-top: 1px solid #dbe8f4;
        }
        .public-vacancy-theme .modal-sticky-control {
            position: sticky;
            top: 0;
            z-index: 24;
            background: rgba(255, 255, 255, 0.96);
            border: 1px solid #d6e5f2;
            box-shadow: 0 12px 28px rgba(15, 47, 75, 0.12);
            backdrop-filter: blur(10px);
        }
        .public-vacancy-theme .property-units-modal__header {
            background: linear-gradient(135deg, #f8fbff 0%, #edf6ff 100%);
            border-bottom: 1px solid #dbe8f4;
            align-items: flex-start;
        }
        .public-vacancy-theme .property-units-modal__body {
            position: relative;
            background: #f6f9fc;
        }
        .public-vacancy-theme .property-units-modal .available-units-section {
            margin: 0;
        }
        .public-vacancy-theme .property-units-modal .property-unit-filter {
            position: sticky;
            top: 0;
            z-index: 24;
            border: 1px solid #d6e5f2 !important;
            background: rgba(255, 255, 255, 0.97) !important;
            box-shadow: 0 14px 32px rgba(15, 47, 75, 0.14) !important;
            backdrop-filter: blur(10px);
        }
        @keyframes contact-target-pulse {
            0% { box-shadow: 0 0 0 0 rgba(21, 61, 91, 0.2), 0 16px 36px rgba(21, 52, 82, 0.1); }
            45% { box-shadow: 0 0 0 8px rgba(21, 61, 91, 0.08), 0 16px 36px rgba(21, 52, 82, 0.16); }
            100% { box-shadow: 0 0 0 0 rgba(21, 61, 91, 0), 0 16px 36px rgba(21, 52, 82, 0.1); }
        }
        .public-vacancy-theme .property-units-head__count {
            border: 1px solid #d4e2ef;
            border-radius: 999px;
            background: #ffffff;
            color: #365370;
            font-size: 0.84rem;
            font-weight: 700;
            padding: 0.42rem 0.8rem;
            white-space: nowrap;
        }
        .public-vacancy-theme .property-unit-filter {
            padding: 0.9rem;
            background: rgba(255, 255, 255, 0.92);
        }
        .public-vacancy-theme .property-unit-filter .form-control,
        .public-vacancy-theme .property-unit-filter .btn {
            min-height: 46px;
        }
        .public-vacancy-theme .property-unit-filter .form-label {
            color: #53697f;
            font-size: 0.78rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }
        .public-vacancy-theme .property-unit-list {
            overflow: hidden;
            padding: 0;
        }
        .public-vacancy-theme .property-unit-row {
            display: grid;
            grid-template-columns: minmax(12rem, 1.5fr) minmax(12rem, 1fr) minmax(12rem, 1.25fr) minmax(8rem, auto) minmax(7rem, auto);
            align-items: center;
            gap: 0.75rem;
            padding: 0.9rem 1rem;
            background: #ffffff;
        }
        .public-vacancy-theme .property-unit-row + .property-unit-row {
            border-top: 1px solid #e0e9f3;
        }
        .public-vacancy-theme .property-unit-row:hover {
            background: #f8fbff;
        }
        .public-vacancy-theme .property-unit-row__unit {
            display: inline-flex;
            width: fit-content;
            border-radius: 999px;
            background: #153d5b;
            color: #ffffff;
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.04em;
            padding: 0.22rem 0.55rem;
            text-transform: uppercase;
        }
        .public-vacancy-theme .property-unit-row__title {
            margin: 0.38rem 0 0;
            color: var(--vac-heading);
            font-size: 0.96rem;
            font-weight: 750;
            line-height: 1.3;
        }
        .public-vacancy-theme .property-unit-row__facts,
        .public-vacancy-theme .property-unit-row__amenities {
            display: flex;
            flex-wrap: wrap;
            gap: 0.35rem;
        }
        .public-vacancy-theme .property-unit-row__facts span,
        .public-vacancy-theme .property-unit-row__amenities span {
            border: 1px solid #d5e2ef;
            border-radius: 999px;
            background: #f6f9fd;
            color: #37536f;
            font-size: 0.78rem;
            font-weight: 650;
            padding: 0.22rem 0.52rem;
        }
        .public-vacancy-theme .property-unit-row__amenities span {
            color: #5b7188;
            font-weight: 600;
        }
        .public-vacancy-theme .property-unit-row__rent {
            text-align: right;
            color: #52677d;
            line-height: 1.2;
        }
        .public-vacancy-theme .property-unit-row__rent strong {
            display: block;
            color: #0f4668;
            font-size: 0.98rem;
            font-weight: 850;
            white-space: nowrap;
        }
        .public-vacancy-theme .property-unit-row__rent span {
            font-size: 0.76rem;
        }
        .public-vacancy-theme .property-unit-row__action {
            text-align: right;
        }
        .public-vacancy-theme .property-unit-row__action .btn {
            border-radius: 999px;
            font-weight: 700;
            white-space: nowrap;
        }
        @media (max-width: 1199.98px) {
            .public-vacancy-theme .property-unit-row {
                grid-template-columns: minmax(12rem, 1.25fr) minmax(10rem, 1fr) minmax(8rem, auto) minmax(7rem, auto);
            }
            .public-vacancy-theme .property-unit-row__amenities {
                grid-column: 1 / -1;
            }
        }
        @media (max-width: 767.98px) {
            .public-vacancy-theme .property-units-head {
                align-items: flex-start;
                flex-direction: column;
            }
            .public-vacancy-theme .property-unit-row {
                grid-template-columns: 1fr;
                align-items: start;
                gap: 0.65rem;
                padding: 0.95rem;
            }
            .public-vacancy-theme .property-unit-row__rent,
            .public-vacancy-theme .property-unit-row__action {
                text-align: left;
            }
        }
        @media (max-width: 991.98px) {
            .dash-theme .app-sidebar {
                width: min(88vw, 330px);
                max-width: 330px;
                position: fixed;
                inset: 0 auto 0 0;
                z-index: 1055;
                transform: translateX(calc(-100% - 12px));
                transition: transform 0.24s ease;
            }
            .dash-theme.sidebar-open .app-sidebar,
            .dash-theme.layout-fixed-open .app-sidebar {
                transform: translateX(0);
            }
            .dash-theme .app-header,
            .dash-theme .app-main,
            .dash-theme .app-footer {
                margin-left: 0 !important;
            }
            .dash-theme .sidebar-overlay {
                background: rgba(10, 22, 37, 0.35);
                backdrop-filter: blur(1.5px);
            }
            .dash-theme .sidebar-close-btn {
                display: inline-flex;
            }
            .dash-theme .app-main {
                padding-bottom: 5.8rem;
            }
            .dash-theme .mobile-quick-nav {
                position: fixed;
                left: 0.7rem;
                right: 0.7rem;
                bottom: 0.72rem;
                z-index: 1049;
                display: grid;
                grid-auto-flow: column;
                grid-auto-columns: minmax(0, 1fr);
                gap: 0.45rem;
                padding: 0.55rem;
                border: 1px solid #cad8ea;
                border-radius: 1rem;
                background: rgba(255, 255, 255, 0.95);
                box-shadow: 0 16px 36px rgba(17, 39, 64, 0.2);
                backdrop-filter: blur(8px);
                transition: opacity 0.18s ease, transform 0.18s ease;
            }
            .dash-theme.sidebar-open .mobile-quick-nav,
            .dash-theme.layout-fixed-open .mobile-quick-nav {
                opacity: 0;
                pointer-events: none;
                transform: translateY(10px);
            }
            .dash-theme .mobile-quick-nav__item {
                display: inline-flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 0.14rem;
                min-height: 3.05rem;
                border: 1px solid transparent;
                border-radius: 0.78rem;
                color: #35506a;
                text-decoration: none;
                font-size: 0.68rem;
                font-weight: 700;
                letter-spacing: 0.01em;
                background: transparent;
            }
            .dash-theme .mobile-quick-nav__item i {
                font-size: 1rem;
                line-height: 1;
            }
            .dash-theme .mobile-quick-nav__item.is-active {
                border-color: #cde0f4;
                color: #1f6fa0;
                background: #edf5ff;
            }
            .dash-theme .mobile-quick-nav__item--menu {
                border-color: #cde0f4;
                color: #1f6fa0;
                background: #eef6ff;
            }
        }
        .public-vacancy-theme .property-showcase-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.06fr) minmax(22rem, 0.94fr);
            align-items: stretch;
            gap: 1rem;
        }
        .public-vacancy-theme .property-gallery {
            padding: 0.9rem;
            overflow: hidden;
        }
        .public-vacancy-theme .property-gallery__hero {
            position: relative;
            overflow: hidden;
            border-radius: 1rem;
            aspect-ratio: 4 / 3;
            background: linear-gradient(135deg, #e8f1fb 0%, #dbe9f6 100%);
        }
        .public-vacancy-theme .property-gallery__hero img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .public-vacancy-theme .property-gallery__count {
            position: absolute;
            left: 0.75rem;
            bottom: 0.75rem;
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 0.28rem 0.68rem;
            color: #143955;
            background: rgba(255, 255, 255, 0.92);
            border: 1px solid rgba(210, 226, 241, 0.95);
            font-size: 0.78rem;
            font-weight: 700;
            box-shadow: 0 10px 22px rgba(12, 36, 58, 0.14);
        }
        .public-vacancy-theme .property-gallery__thumbs {
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: 0.5rem;
            margin-top: 0.65rem;
        }
        .public-vacancy-theme .property-gallery__thumb {
            overflow: hidden;
            border: 2px solid transparent;
            border-radius: 0.72rem;
            padding: 0;
            background: #eef5fc;
            aspect-ratio: 1.25 / 1;
            cursor: pointer;
        }
        .public-vacancy-theme .property-gallery__thumb.is-active {
            border-color: #1f5f89;
            box-shadow: 0 0 0 3px rgba(31, 95, 137, 0.14);
        }
        .public-vacancy-theme .property-gallery__thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .public-vacancy-theme .property-gallery__placeholder {
            min-height: 22rem;
            border-radius: 1rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.75rem;
            color: #6f879d;
            background: linear-gradient(135deg, #eef5fb 0%, #dce9f4 100%);
            text-align: center;
            padding: 1.2rem;
        }
        .public-vacancy-theme .property-gallery__placeholder i {
            font-size: 2.4rem;
        }
        .public-vacancy-theme .property-hero-actions,
        .public-vacancy-theme .property-contact-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.55rem;
        }
        .public-vacancy-theme .property-units-head {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 1rem;
        }
        .public-vacancy-theme .property-units-head__title {
            color: var(--vac-heading);
            font-size: 1.2rem;
            font-weight: 800;
        }
        .public-vacancy-theme .property-units-head__copy {
            color: #5c7187;
            font-size: 0.9rem;
        }
        @media (max-width: 991.98px) {
            .public-vacancy-theme .property-showcase-grid {
                grid-template-columns: 1fr;
            }
            .public-vacancy-theme .property-gallery__hero {
                aspect-ratio: 16 / 10;
            }
        }

        .public-vacancy-theme.tenant-payment-shell {
            background: #f6f9fc;
        }
        .public-vacancy-theme.tenant-payment-shell .vacancy-topbar {
            display: none !important;
        }
        .public-vacancy-theme.tenant-payment-shell .app-content {
            padding-top: 0.75rem;
        }
        .public-vacancy-theme.tenant-payment-shell .app-content > .container {
            max-width: 100%;
            padding-left: 0.75rem;
            padding-right: 0.75rem;
            padding-bottom: 1rem !important;
        }
        .public-vacancy-theme.tenant-payment-shell .card-soft {
            box-shadow: 0 10px 28px rgba(20, 47, 78, 0.08);
        }
        @media (max-width: 575.98px) {
            .public-vacancy-theme .property-gallery {
                padding: 0.65rem;
            }
            .public-vacancy-theme .property-gallery__hero {
                aspect-ratio: 1.15 / 1;
            }
            .public-vacancy-theme .property-gallery__thumbs {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }
        }
        @media (max-width: 767.98px) {
            .dash-theme .app-content-header {
                padding-bottom: 0.15rem;
            }
            .dash-theme .metric-value {
                font-size: 1.05rem;
            }
            .dash-theme .app-header .container-fluid {
                padding-left: 0.45rem;
                padding-right: 0.45rem;
            }
            .dash-theme .app-header .nav-link {
                padding: 0.45rem 0.58rem;
            }
            .dash-theme .dash-command-trigger kbd {
                display: none;
            }
            .dash-theme .table > :not(caption) > * > * {
                padding: 0.58rem 0.62rem;
            }
            .dash-theme .table thead th {
                font-size: 0.68rem;
            }
            .dash-theme .table tbody td {
                font-size: 0.83rem;
                line-height: 1.32;
            }
            .dash-theme .table td.text-end,
            .dash-theme .table th.text-end {
                min-width: 9.5rem;
            }
            .dash-theme .table .btn-sm {
                min-width: 3.3rem;
                padding: 0.27rem 0.46rem;
                font-size: 0.74rem;
            }
            .dash-theme .card-header,
            .dash-theme .card-header.d-flex,
            .dash-theme .card-header[class*=" d-flex"] {
                display: flex;
                flex-wrap: wrap;
                gap: 0.5rem;
            }
            .dash-theme .card-header .d-flex {
                width: 100%;
                flex: 1 1 100%;
                flex-wrap: wrap;
                gap: 0.5rem;
            }
            .dash-theme .card-header > strong,
            .dash-theme .card-header > .card-title,
            .dash-theme .card-header > h1,
            .dash-theme .card-header > h2,
            .dash-theme .card-header > h3,
            .dash-theme .card-header > h4,
            .dash-theme .card-header > h5,
            .dash-theme .card-header > h6 {
                flex: 1 1 100%;
            }
            .dash-theme .card-header > :not(:first-child).small,
            .dash-theme .card-header > :not(:first-child).text-muted,
            .dash-theme .card-header > :not(:first-child).card-tools,
            .dash-theme .card-header > :not(:first-child).btn-group,
            .dash-theme .card-header > :not(:first-child).btn-toolbar,
            .dash-theme .card-header > :not(:first-child).input-group,
            .dash-theme .card-header > :not(:first-child).d-flex,
            .dash-theme .card-header > :not(:first-child).ms-auto,
            .dash-theme .card-header > :not(:first-child).me-auto,
            .dash-theme .card-header > :not(:first-child).float-end,
            .dash-theme .card-header > :not(:first-child).float-right,
            .dash-theme .card-header > :not(:first-child).btn,
            .dash-theme .card-header > :not(:first-child)form {
                margin-left: 0;
            }
            .dash-theme .card-header .btn,
            .dash-theme .card-header .btn-group,
            .dash-theme .card-header form,
            .dash-theme .card-header .input-group {
                width: 100%;
                max-width: 100%;
            }
            .dash-theme .card-header .btn {
                white-space: normal;
            }
            .dash-theme .table-responsive.table-stack-mobile-wrap {
                overflow: visible;
            }
            .dash-theme .table.table-stack-mobile thead {
                display: none;
            }
            .dash-theme .table.table-stack-mobile,
            .dash-theme .table.table-stack-mobile tbody,
            .dash-theme .table.table-stack-mobile tr,
            .dash-theme .table.table-stack-mobile td {
                display: block;
                width: 100%;
            }
            .dash-theme .table.table-stack-mobile tbody tr {
                padding: 0.58rem 0.68rem;
                border-bottom: 1px solid #e2e9f5;
            }
            .dash-theme .table.table-stack-mobile tbody tr:last-child {
                border-bottom: 0;
            }
            .dash-theme .table.table-stack-mobile tbody td {
                border-top: 0 !important;
                padding: 0.28rem 0 !important;
                min-width: 0 !important;
                white-space: normal !important;
            }
            .dash-theme .table.table-stack-mobile tbody td[data-label] {
                display: flex;
                align-items: flex-start;
                justify-content: space-between;
                gap: 0.65rem;
            }
            .dash-theme .table.table-stack-mobile tbody td[data-label]::before {
                content: attr(data-label);
                display: inline-block;
                flex: 0 0 42%;
                max-width: 42%;
                color: #6a7f95;
                font-size: 0.72rem;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.02em;
                line-height: 1.25;
            }
            .dash-theme .table.table-stack-mobile tbody td[data-label="Actions"],
            .dash-theme .table.table-stack-mobile tbody td[data-label="Action"],
            .dash-theme .table.table-stack-mobile tbody td[data-label="Options"],
            .dash-theme .table.table-stack-mobile tbody td[data-label="Operations"] {
                padding-top: 0.52rem !important;
            }
            .dash-theme .table.table-stack-mobile tbody td[data-label="Actions"]::before,
            .dash-theme .table.table-stack-mobile tbody td[data-label="Action"]::before,
            .dash-theme .table.table-stack-mobile tbody td[data-label="Options"]::before,
            .dash-theme .table.table-stack-mobile tbody td[data-label="Operations"]::before {
                display: none;
            }
            .dash-theme .table.table-stack-mobile .table-actions-group {
                display: flex;
                flex-wrap: wrap;
                justify-content: flex-start;
                gap: 0.35rem;
            }
            .dash-theme .table.table-stack-mobile .table-actions-group > .btn,
            .dash-theme .table.table-stack-mobile .table-actions-group > form,
            .dash-theme .table.table-stack-mobile .table-actions-group > .dropdown {
                flex: 1 1 calc(50% - 0.35rem);
                min-width: 0;
            }
            .dash-theme .table.table-stack-mobile .table-actions-group > form .btn,
            .dash-theme .table.table-stack-mobile .table-actions-group > .btn {
                width: 100%;
            }
        }
        @media (max-width: 575.98px) {
            .dash-theme .mobile-quick-nav {
                left: 0.5rem;
                right: 0.5rem;
                bottom: 0.5rem;
            }
        }
        .public-vacancy-theme {
            --vac-bg: #edf3fa;
            --vac-surface: #ffffff;
            --vac-border: #d6e0ea;
            --vac-heading: #0f2740;
            --vac-body: #34455a;
            --vac-primary: #0b5f80;
            --vac-primary-dark: #084a64;
            --vac-accent: #f4c95d;
            color: var(--vac-body);
            font-family: 'Sora', 'Source Sans 3', sans-serif;
            background: radial-gradient(circle at 90% 10%, rgba(244, 201, 93, 0.24), transparent 28%),
                        radial-gradient(circle at 5% 20%, rgba(11, 95, 128, 0.16), transparent 28%),
                        var(--vac-bg);
        }
        .public-vacancy-theme .app-wrapper {
            min-height: 100vh;
            background: transparent;
        }
        .public-vacancy-theme .app-main {
            padding-top: 0.75rem;
        }
        .public-vacancy-theme .app-content {
            background: transparent;
        }
        .public-vacancy-theme .vacancy-topbar {
            position: sticky;
            top: 0;
            z-index: 1030;
            border-bottom: 1px solid var(--vac-border);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 255, 0.94));
            backdrop-filter: blur(12px);
            box-shadow: 0 8px 22px rgba(20, 46, 74, 0.08);
        }
        .public-vacancy-theme .vacancy-topbar .container-fluid {
            min-height: 4rem;
            display: flex;
            align-items: center;
        }
        .public-vacancy-theme .vacancy-topbar-inner {
            width: 100%;
            display: flex;
            align-items: center;
            gap: 0.9rem;
        }
        .public-vacancy-theme .vacancy-brand {
            display: inline-flex;
            align-items: center;
            gap: 0.62rem;
            color: var(--vac-heading);
            font-weight: 700;
            text-decoration: none;
            margin-right: 0.25rem;
        }
        .public-vacancy-theme .vacancy-brand__mark {
            width: 2.05rem;
            height: 2.05rem;
            border-radius: 0.72rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.78rem;
            color: #fff;
            background: linear-gradient(135deg, var(--vac-primary), var(--vac-primary-dark));
            box-shadow: 0 8px 18px rgba(11, 95, 128, 0.3);
        }
        .public-vacancy-theme .vacancy-brand__label {
            letter-spacing: 0.03em;
        }
        .public-vacancy-theme .vacancy-link {
            color: var(--vac-heading);
            font-weight: 500;
        }
        .public-vacancy-theme .vacancy-link:hover,
        .public-vacancy-theme .vacancy-link:focus {
            color: var(--vac-primary-dark);
        }
        .public-vacancy-theme .vacancy-topbar-toggle {
            border: 1px solid #c6d6e6;
            border-radius: 0.72rem;
            width: 2.32rem;
            height: 2.32rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #274765;
            background: #ffffff;
            margin-left: auto;
            box-shadow: 0 4px 10px rgba(26, 54, 84, 0.08);
        }
        .public-vacancy-theme .vacancy-topbar-toggle:hover,
        .public-vacancy-theme .vacancy-topbar-toggle:focus {
            color: #123654;
            border-color: #9eb9d2;
            background: #f2f8ff;
        }
        .public-vacancy-theme .vacancy-topbar-panel {
            margin-left: auto;
            align-items: center;
            gap: 0.72rem;
            padding: 0.24rem 0.24rem 0.24rem 0.5rem;
            border: 1px solid #d5e2ef;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.95);
            box-shadow: 0 8px 24px rgba(20, 46, 74, 0.08);
        }
        .public-vacancy-theme .vacancy-public-nav {
            display: flex;
            align-items: center;
            gap: 0.3rem;
            padding: 0.18rem;
            border-radius: 999px;
            border: 1px solid #d7e4f0;
            background: #f4f9ff;
        }
        .public-vacancy-theme .vacancy-nav-link {
            display: inline-flex;
            align-items: center;
            gap: 0.38rem;
            border-radius: 999px;
            padding: 0.42rem 0.84rem;
            font-size: 0.85rem;
            font-weight: 600;
            text-decoration: none;
            color: #27435e;
            border: 1px solid transparent;
            transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
        }
        .public-vacancy-theme .vacancy-nav-link i {
            font-size: 0.82rem;
            opacity: 0.88;
        }
        .public-vacancy-theme .vacancy-nav-link span {
            line-height: 1;
        }
        .public-vacancy-theme .vacancy-nav-link:hover,
        .public-vacancy-theme .vacancy-nav-link:focus {
            color: #163f5f;
            background: #ffffff;
            border-color: #c4d8ec;
            transform: translateY(-1px);
        }
        .public-vacancy-theme .vacancy-nav-link.is-active {
            color: #ffffff;
            border-color: transparent;
            background: linear-gradient(135deg, var(--vac-primary), var(--vac-primary-dark));
            box-shadow: 0 8px 18px rgba(11, 95, 128, 0.26);
        }
        .public-vacancy-theme .vacancy-nav-link.is-active i {
            opacity: 1;
        }
        .public-vacancy-theme .vacancy-public-actions {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
        }
        .public-vacancy-theme .vacancy-ghost-cta {
            border-radius: 999px;
            border: 1px solid #bed1e3;
            color: #173a58;
            background: #f7fbff;
            font-weight: 600;
            padding: 0.42rem 0.9rem;
        }
        .public-vacancy-theme .vacancy-ghost-cta:hover,
        .public-vacancy-theme .vacancy-ghost-cta:focus {
            color: #0f2f4b;
            border-color: #9dbad3;
            background: #edf6ff;
        }
        .public-vacancy-theme .vacancy-cta {
            color: #fff;
            border: 0;
            border-radius: 999px;
            padding: 0.45rem 1rem;
            background: linear-gradient(135deg, var(--vac-primary), var(--vac-primary-dark));
            box-shadow: 0 8px 20px rgba(11, 95, 128, 0.3);
        }
        .public-vacancy-theme .vacancy-cta:hover,
        .public-vacancy-theme .vacancy-cta:focus {
            color: #fff;
            background: linear-gradient(135deg, var(--vac-primary-dark), #06384d);
        }
        .public-vacancy-theme .card-soft {
            border: 1px solid var(--vac-border);
            border-radius: 1.1rem;
            background: var(--vac-surface);
            box-shadow: 0 10px 30px rgba(25, 47, 72, 0.08);
        }
        .public-vacancy-theme .vacancy-eyebrow {
            font-size: 0.77rem;
            letter-spacing: 0.13em;
            text-transform: uppercase;
            font-weight: 700;
            opacity: 0.88;
        }
        .public-vacancy-theme .vacancy-hero {
            position: relative;
            overflow: hidden;
            border-radius: 1.35rem;
            padding: 2rem;
            background: linear-gradient(140deg, #0b3554 0%, #0b5f80 55%, #115478 100%);
            color: #f8fbff;
        }
        .public-vacancy-theme .vacancy-hero::after {
            content: '';
            position: absolute;
            right: -40px;
            top: -60px;
            width: 260px;
            height: 260px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(244, 201, 93, 0.36), rgba(244, 201, 93, 0));
        }
        .public-vacancy-theme .vacancy-hero h1 {
            margin-top: 0.8rem;
            margin-bottom: 0.8rem;
            color: #fff;
            font-size: clamp(1.8rem, 2.4vw, 2.7rem);
            font-family: 'Cormorant Garamond', serif;
            line-height: 1.08;
        }
        .public-vacancy-theme .vacancy-hero p {
            max-width: 680px;
            font-size: 1rem;
            color: rgba(247, 252, 255, 0.88);
        }
        .public-vacancy-theme .vacancy-kpis {
            margin-top: 1.4rem;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0.8rem;
        }
        .public-vacancy-theme .vacancy-kpi {
            border-radius: 0.9rem;
            border: 1px solid rgba(255, 255, 255, 0.18);
            background: rgba(255, 255, 255, 0.1);
            padding: 0.8rem 0.95rem;
            backdrop-filter: blur(5px);
        }
        .public-vacancy-theme .vacancy-kpi__label {
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: rgba(255, 255, 255, 0.78);
        }
        .public-vacancy-theme .vacancy-kpi__value {
            margin-top: 0.2rem;
            font-size: 1.1rem;
            font-weight: 700;
            color: #fff;
        }
        .public-vacancy-theme .vacancy-filter {
            padding: 1.2rem;
            border-radius: 1rem;
            border: 1px solid var(--vac-border);
            background: rgba(255, 255, 255, 0.92);
        }
        .public-vacancy-theme .vacancy-filter .form-label {
            font-size: 0.82rem;
            letter-spacing: 0.03em;
            text-transform: uppercase;
            color: #4a6077;
            font-weight: 600;
        }
        .public-vacancy-theme .vacancy-filter .form-control,
        .public-vacancy-theme .vacancy-filter .form-select {
            border-radius: 0.85rem;
            border-color: #c9d6e4;
            padding: 0.7rem 0.85rem;
        }
        .public-vacancy-theme .listing-card {
            overflow: hidden;
            border-radius: 1rem;
            border: 1px solid var(--vac-border);
            background: #fff;
            box-shadow: 0 8px 24px rgba(22, 44, 66, 0.08);
            transition: transform 0.2s ease, box-shadow 0.2s ease;
            animation: vacancy-rise 0.45s ease both;
        }
        .public-vacancy-theme .listing-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 14px 30px rgba(22, 44, 66, 0.16);
        }
        .public-vacancy-theme .listing-card__media {
            position: relative;
            height: 205px;
            background: linear-gradient(145deg, #16354a, #2b6482);
            color: #fff;
        }
        .public-vacancy-theme .listing-card__media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .public-vacancy-theme .listing-card__placeholder {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            opacity: 0.9;
        }
        .public-vacancy-theme .listing-card__tag {
            position: absolute;
            left: 0.75rem;
            top: 0.75rem;
            border-radius: 999px;
            padding: 0.26rem 0.65rem;
            background: rgba(15, 39, 64, 0.8);
            color: #fff;
            font-size: 0.73rem;
            font-weight: 600;
        }
        .public-vacancy-theme .listing-card__price {
            position: absolute;
            right: 0.75rem;
            bottom: 0.75rem;
            border-radius: 0.8rem;
            padding: 0.28rem 0.62rem;
            background: rgba(255, 255, 255, 0.95);
            color: var(--vac-heading);
            font-size: 0.8rem;
            font-weight: 700;
        }
        .public-vacancy-theme .listing-card__body {
            padding: 1rem;
        }
        .public-vacancy-theme .property-cluster {
            overflow: hidden;
            border-radius: 1.1rem;
        }
        .public-vacancy-theme .property-card-link {
            display: block;
            color: inherit;
        }
        .public-vacancy-theme .property-summary-card {
            height: 100%;
            border: 1px solid #d8e3ee;
            border-radius: 1rem;
            background: #ffffff;
            padding: 1rem 1.05rem;
            box-shadow: 0 8px 24px rgba(22, 44, 66, 0.08);
            transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
        }
        .public-vacancy-theme .property-summary-card__media {
            position: relative;
            overflow: hidden;
            border-radius: 0.8rem;
            margin-bottom: 0.85rem;
            aspect-ratio: 2 / 1;
            background: #ecf3f9;
        }
        .public-vacancy-theme .property-summary-card__media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .public-vacancy-theme .property-summary-card__media-placeholder {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            color: #88a0b8;
            background: linear-gradient(135deg, #eef4fa 0%, #dfeaf5 100%);
        }
        .public-vacancy-theme .property-card-link:hover .property-summary-card,
        .public-vacancy-theme .property-card-link:focus .property-summary-card {
            transform: translateY(-3px);
            border-color: #b7cce2;
            box-shadow: 0 14px 30px rgba(22, 44, 66, 0.14);
        }
        .public-vacancy-theme .property-summary-card__top {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.7rem;
        }
        .public-vacancy-theme .property-summary-card__rent {
            font-size: 0.85rem;
            font-weight: 600;
            color: #365370;
        }
        .public-vacancy-theme .property-summary-card__title {
            margin-top: 0.9rem;
            margin-bottom: 0.35rem;
            color: var(--vac-heading);
            font-size: 1.08rem;
            font-weight: 700;
        }
        .public-vacancy-theme .property-summary-card__location {
            color: #60758d;
            font-size: 0.88rem;
        }
        .public-vacancy-theme .property-summary-card__cta {
            margin-top: 1rem;
            font-size: 0.86rem;
            font-weight: 600;
            color: #133d5b;
        }
        .public-vacancy-theme .vacancy-hero--market {
            display: grid;
            grid-template-columns: 1fr;
            align-items: stretch;
            gap: 1rem;
            min-height: 0;
            padding: clamp(1.25rem, 2.7vw, 2.45rem);
            background:
                radial-gradient(circle at 82% 12%, rgba(255, 210, 102, 0.32), transparent 27%),
                radial-gradient(circle at 0% 100%, rgba(65, 144, 191, 0.35), transparent 34%),
                linear-gradient(135deg, #102d44 0%, #164c68 52%, #0f2237 100%);
        }
        .public-vacancy-theme .vacancy-hero--market::after {
            width: 20rem;
            height: 20rem;
            right: 31%;
            top: -4rem;
            background: radial-gradient(circle, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0));
        }
        .public-vacancy-theme .vacancy-hero__content,
        .public-vacancy-theme .vacancy-hero__spotlight {
            position: relative;
            z-index: 1;
        }
        .public-vacancy-theme .vacancy-hero--market h1 {
            max-width: 780px;
            font-size: clamp(2.35rem, 5vw, 4.85rem);
            letter-spacing: -0.055em;
            line-height: 0.96;
        }
        .public-vacancy-theme .vacancy-hero--market p {
            max-width: 640px;
            color: rgba(245, 250, 255, 0.85);
            font-size: clamp(1rem, 1.5vw, 1.14rem);
        }
        .public-vacancy-theme .vacancy-hero__actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.65rem;
            margin: 1.2rem 0 1.25rem;
        }
        .public-vacancy-theme .vacancy-hero__actions .btn {
            border-radius: 999px;
            padding: 0.65rem 1rem;
            font-weight: 800;
        }
        .public-vacancy-theme .vacancy-hero__primary {
            color: #12364f;
            box-shadow: 0 14px 28px rgba(3, 18, 31, 0.2);
        }
        .public-vacancy-theme .vacancy-hero__secondary {
            border-color: rgba(255, 255, 255, 0.52);
            color: #ffffff;
        }
        .public-vacancy-theme .vacancy-kpis--market {
            max-width: 820px;
        }
        .public-vacancy-theme .vacancy-filter--market {
            padding: 1rem;
            border: 1px solid rgba(197, 215, 233, 0.96);
            border-radius: 1.18rem;
            background: rgba(255, 255, 255, 0.9);
            box-shadow: 0 18px 42px rgba(23, 52, 82, 0.1);
        }
        .public-vacancy-theme .vacancy-filter__intro {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.8rem;
            margin-bottom: 0.9rem;
            color: #5b7188;
            font-size: 0.86rem;
        }
        .public-vacancy-theme .vacancy-filter__intro strong {
            border-radius: 999px;
            background: #edf6ff;
            color: #1f5b83;
            padding: 0.25rem 0.65rem;
            font-size: 0.8rem;
        }
        .public-vacancy-theme .vacancy-search-control {
            position: relative;
        }
        .public-vacancy-theme .vacancy-search-control i {
            position: absolute;
            left: 0.9rem;
            top: 50%;
            z-index: 1;
            transform: translateY(-50%);
            color: #698299;
        }
        .public-vacancy-theme .vacancy-search-control .form-control {
            padding-left: 2.35rem;
        }
        .public-vacancy-theme .vacancy-results-head {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 1rem;
        }
        .public-vacancy-theme .vacancy-results-head h2 {
            margin: 0;
            color: var(--vac-heading);
            font-size: clamp(1.45rem, 2.2vw, 2rem);
            font-weight: 850;
            letter-spacing: -0.035em;
        }
        .public-vacancy-theme .vacancy-eyebrow--light {
            color: #2d668e;
            opacity: 1;
        }
        .public-vacancy-theme .vacancy-results-head__count {
            border: 1px solid #d5e3f0;
            border-radius: 999px;
            background: #ffffff;
            color: #38536e;
            padding: 0.45rem 0.8rem;
            font-size: 0.84rem;
            font-weight: 800;
            white-space: nowrap;
        }
        .public-vacancy-theme .vacancy-property-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 1rem;
        }
        .public-vacancy-theme .property-summary-card--market {
            position: relative;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            min-height: 100%;
            border: 1px solid rgba(206, 221, 236, 0.96);
            border-radius: 1.18rem;
            background: #ffffff;
            box-shadow: 0 16px 36px rgba(25, 53, 82, 0.1);
            transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
        }
        .public-vacancy-theme .property-card-link--market:hover .property-summary-card--market,
        .public-vacancy-theme .property-card-link--market:focus .property-summary-card--market {
            transform: translateY(-5px);
            border-color: #aac8e2;
            box-shadow: 0 26px 52px rgba(18, 45, 73, 0.16);
        }
        .public-vacancy-theme .property-summary-card--market .property-summary-card__media {
            margin: 0;
            border-radius: 0;
            aspect-ratio: 16 / 10;
        }
        .public-vacancy-theme .property-summary-card__shade {
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(10, 26, 42, 0.12) 0%, rgba(10, 26, 42, 0.58) 100%);
            pointer-events: none;
        }
        .public-vacancy-theme .property-summary-card__type,
        .public-vacancy-theme .property-summary-card__units {
            position: absolute;
            top: 0.75rem;
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            padding: 0.24rem 0.58rem;
            font-size: 0.72rem;
            font-weight: 850;
            text-transform: uppercase;
            letter-spacing: 0.04em;
        }
        .public-vacancy-theme .property-summary-card__type {
            left: 0.75rem;
            color: #173a52;
            background: rgba(255, 255, 255, 0.92);
        }
        .public-vacancy-theme .property-summary-card__type.is-commercial {
            color: #074451;
            background: rgba(197, 246, 255, 0.94);
        }
        .public-vacancy-theme .property-summary-card__units {
            right: 0.75rem;
            color: #ffffff;
            background: rgba(17, 40, 61, 0.78);
            backdrop-filter: blur(8px);
        }
        .public-vacancy-theme .property-summary-card__body {
            display: flex;
            flex: 1;
            flex-direction: column;
            padding: 0.95rem 1rem 1rem;
        }
        .public-vacancy-theme .property-summary-card__rent-row {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            gap: 0.7rem;
            margin-bottom: 0.65rem;
        }
        .public-vacancy-theme .property-summary-card__rent-row span {
            color: #7a8ea2;
            font-size: 0.76rem;
            font-weight: 800;
            letter-spacing: 0.06em;
            text-transform: uppercase;
        }
        .public-vacancy-theme .property-summary-card__rent-row strong {
            color: #0e496c;
            font-size: 1.02rem;
            font-weight: 900;
            white-space: nowrap;
        }
        .public-vacancy-theme .property-summary-card--market .property-summary-card__title {
            margin: 0 0 0.36rem;
            font-size: 1.08rem;
            font-weight: 850;
            letter-spacing: -0.02em;
            line-height: 1.25;
        }
        .public-vacancy-theme .property-summary-card__amenities {
            display: flex;
            flex-wrap: wrap;
            gap: 0.35rem;
            margin: 0.8rem 0 1rem;
        }
        .public-vacancy-theme .property-summary-card__amenities span {
            border: 1px solid #d8e5f1;
            border-radius: 999px;
            background: #f6faff;
            color: #45617a;
            font-size: 0.76rem;
            font-weight: 700;
            padding: 0.22rem 0.52rem;
        }
        .public-vacancy-theme .property-summary-card--market .property-summary-card__cta {
            margin-top: auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            border-top: 1px solid #e0e9f3;
            padding-top: 0.85rem;
            color: #143d5a;
            font-size: 0.88rem;
            font-weight: 850;
        }
        .public-vacancy-theme .property-summary-card--market .property-summary-card__cta i {
            width: 2rem;
            height: 2rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 999px;
            color: #ffffff;
            background: #153d5b;
        }
        .public-vacancy-theme .vacancy-empty--market {
            grid-column: 1 / -1;
        }
        @media (max-width: 1199.98px) {
            .public-vacancy-theme .vacancy-property-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }
        @media (max-width: 991.98px) {
            .public-vacancy-theme .vacancy-hero--market {
                grid-template-columns: 1fr;
            }
        }
        @media (max-width: 767.98px) {
            .public-vacancy-theme .vacancy-results-head {
                align-items: flex-start;
                flex-direction: column;
            }
            .public-vacancy-theme .vacancy-property-grid {
                grid-template-columns: 1fr;
            }
            .public-vacancy-theme .vacancy-filter__intro {
                align-items: flex-start;
                flex-direction: column;
            }
        }
        .public-vacancy-theme .property-focus {
            border: 1px solid #ccdced;
            border-radius: 1.15rem;
            background: linear-gradient(140deg, #ffffff 0%, #f7fbff 100%);
            padding: 1.15rem 1.25rem;
            box-shadow: 0 18px 34px rgba(24, 55, 87, 0.08);
        }
        .public-vacancy-theme .property-focus__eyebrow {
            display: inline-flex;
            align-items: center;
            border: 1px solid #c7dbef;
            background: #ecf5ff;
            color: #2a5d85;
            padding: 0.2rem 0.62rem;
            border-radius: 999px;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.03em;
            text-transform: uppercase;
            margin-bottom: 0.65rem;
        }
        .public-vacancy-theme .property-focus__head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem;
        }
        .public-vacancy-theme .property-focus__main {
            min-width: 0;
            flex: 1;
        }
        .public-vacancy-theme .property-focus__title {
            color: #183a57;
            font-size: 1.5rem;
            font-weight: 800;
            line-height: 1.2;
        }
        .public-vacancy-theme .property-focus__location {
            color: #58718a;
            font-size: 0.92rem;
            margin-top: 0.15rem;
        }
        .public-vacancy-theme .property-focus__badges {
            display: inline-flex;
            flex-wrap: wrap;
            gap: 0.4rem;
        }
        .public-vacancy-theme .property-focus__stats {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.6rem;
            min-width: 18.5rem;
        }
        .public-vacancy-theme .property-focus__stat-card {
            border: 1px solid #d5e3f0;
            border-radius: 0.8rem;
            background: #ffffff;
            padding: 0.62rem 0.72rem;
        }
        .public-vacancy-theme .property-focus__stat-label {
            display: block;
            color: #678198;
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            font-weight: 700;
            margin-bottom: 0.18rem;
        }
        .public-vacancy-theme .property-focus__stat-value {
            display: block;
            color: #1f4869;
            font-size: 0.95rem;
            font-weight: 700;
            line-height: 1.25;
            word-break: break-word;
        }
        .public-vacancy-theme .property-focus__amenities {
            display: flex;
            flex-wrap: wrap;
            gap: 0.35rem;
        }
        .public-vacancy-theme .property-focus__hint {
            border-top: 1px dashed #d4e2ef;
            padding-top: 0.65rem;
            color: #55728b;
            font-size: 0.84rem;
            line-height: 1.45;
        }
        .public-vacancy-theme .property-focus__from-rent {
            font-size: 0.9rem;
            font-weight: 600;
            color: #365370;
        }
        .public-vacancy-theme .property-cluster__toggle {
            width: 100%;
            border: 0;
            padding: 1rem 1.2rem;
            text-align: left;
            background: linear-gradient(120deg, #f8fbff 0%, #eef5fc 100%);
            border-bottom: 1px solid #d9e4ef;
        }
        .public-vacancy-theme .property-cluster__toggle-main {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
        }
        .public-vacancy-theme .property-cluster__title-wrap {
            display: flex;
            flex-direction: column;
        }
        .public-vacancy-theme .property-cluster__meta-wrap {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
        }
        .public-vacancy-theme .property-cluster__from-rent {
            font-size: 0.82rem;
            color: #395671;
            font-weight: 600;
        }
        .public-vacancy-theme .property-cluster__chevron {
            width: 1.9rem;
            height: 1.9rem;
            border-radius: 0.6rem;
            border: 1px solid #ccdae8;
            background: #ffffff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #355574;
        }
        .public-vacancy-theme .property-cluster__chevron i {
            transition: transform 0.2s ease;
        }
        .public-vacancy-theme .property-cluster__toggle.collapsed .property-cluster__chevron i {
            transform: rotate(-90deg);
        }
        .public-vacancy-theme .property-cluster__title {
            color: var(--vac-heading);
            font-size: 1.08rem;
            font-weight: 700;
        }
        .public-vacancy-theme .property-cluster__location {
            color: #637890;
            font-size: 0.88rem;
        }
        .public-vacancy-theme .property-cluster__units {
            padding: 1rem;
            background: #fdfefe;
        }
        .public-vacancy-theme .listing-card__title {
            margin-bottom: 0.25rem;
            color: var(--vac-heading);
            font-size: 1.04rem;
            font-weight: 700;
            line-height: 1.3;
        }
        .public-vacancy-theme .listing-card__location {
            color: #60758d;
            font-size: 0.87rem;
        }
        .public-vacancy-theme .listing-card__meta {
            margin-top: 0.9rem;
            margin-bottom: 0.55rem;
            display: flex;
            flex-wrap: wrap;
            gap: 0.65rem 0.55rem;
        }
        .public-vacancy-theme .listing-card__meta .badge {
            border: 1px solid #cad8e8;
            color: #29445c;
            background: #f4f8fc;
            font-weight: 600;
        }
        .public-vacancy-theme .listing-card__desc {
            margin-top: 0.8rem;
            margin-bottom: 1rem;
            color: #50667f;
            font-size: 0.9rem;
            min-height: 2.5rem;
        }
        .public-vacancy-theme .listing-card__cta {
            width: 100%;
            border-radius: 0.75rem;
            border-width: 1px;
            font-weight: 600;
        }
        .public-vacancy-theme .vacancy-pagination .page-link {
            border-radius: 0.7rem;
            margin-right: 0.3rem;
            border-color: #ccdae8;
            color: #395571;
        }
        .public-vacancy-theme .vacancy-pagination .page-item.active .page-link {
            border-color: var(--vac-primary);
            background: var(--vac-primary);
            color: #fff;
        }
        .public-vacancy-theme .vacancy-empty {
            border-radius: 1rem;
            border: 1px dashed #b9c9da;
            background: rgba(255, 255, 255, 0.75);
            padding: 2.2rem 1rem;
            text-align: center;
            color: #556b82;
        }
        .public-vacancy-theme .vacancy-detail-panel {
            border-radius: 1rem;
            background: #fff;
        }
        .public-vacancy-theme .vacancy-detail-title {
            margin-top: 0.6rem;
            color: var(--vac-heading);
            font-family: 'Cormorant Garamond', serif;
            font-size: clamp(1.8rem, 2.3vw, 2.5rem);
            line-height: 1;
        }
        .public-vacancy-theme .vacancy-price-large {
            margin: 0.95rem 0 1.1rem;
            font-size: 1.9rem;
            color: #0d4e6a;
            font-weight: 700;
        }
        .public-vacancy-theme .vacancy-price-large small {
            color: #5f738a;
            font-size: 0.9rem;
            font-weight: 500;
        }
        .public-vacancy-theme .vacancy-spec-tile {
            border-radius: 0.8rem;
            border: 1px solid #d4e0ec;
            background: #f8fbff;
            padding: 0.55rem 0.6rem;
            text-align: center;
        }
        .public-vacancy-theme .vacancy-spec-tile__label {
            font-size: 0.71rem;
            color: #61768d;
            text-transform: uppercase;
            letter-spacing: 0.06em;
        }
        .public-vacancy-theme .vacancy-spec-tile__value {
            font-size: 1rem;
            font-weight: 700;
            color: #20384e;
        }
        .public-vacancy-theme .vacancy-section .card-body {
            padding: 1.2rem 1.25rem;
        }
        .public-vacancy-theme .vacancy-section h5 {
            color: var(--vac-heading);
            margin-bottom: 0.75rem;
            font-weight: 700;
        }
        .public-vacancy-theme .vacancy-amenities {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }
        .public-vacancy-theme .vacancy-amenity {
            border-radius: 999px;
            border: 1px solid #ccdae7;
            background: #f4f9ff;
            color: #2d506e;
            font-size: 0.82rem;
            padding: 0.34rem 0.65rem;
        }
        .public-vacancy-theme .vacancy-inquiry-card {
            border: 1px solid #d7e5f3;
            overflow: hidden;
            box-shadow: 0 16px 36px rgba(21, 52, 82, 0.1);
        }
        .public-vacancy-theme .vacancy-inquiry-card .card-header {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 0.45rem;
            border-bottom: 1px solid #d8e6f3;
            background: linear-gradient(135deg, #f7fbff 0%, #eef6ff 100%);
            padding: 1rem 1.1rem 0.95rem;
        }
        .public-vacancy-theme .vacancy-inquiry-card .card-title {
            display: block;
            margin: 0 !important;
            line-height: 1.2;
            font-weight: 700;
            color: #1f4160;
        }
        .public-vacancy-theme .vacancy-inquiry-card .card-subtitle {
            display: block;
            margin: 0 !important;
            padding-top: 0.15rem;
            line-height: 1.45;
            white-space: normal;
            font-size: 0.82rem;
            color: #58718a;
        }
        .public-vacancy-theme .vacancy-inquiry-card .card-body {
            padding: 1rem 1.1rem 1.1rem;
        }
        .public-vacancy-theme .owner-contact-intro {
            margin-bottom: 0.85rem;
        }
        .public-vacancy-theme .owner-contact-intro__badge {
            display: inline-flex;
            align-items: center;
            gap: 0.15rem;
            border-radius: 999px;
            border: 1px solid #c9dcf0;
            background: #f0f7ff;
            color: #1f5a86;
            padding: 0.2rem 0.55rem;
            font-size: 0.74rem;
            font-weight: 700;
            letter-spacing: 0.02em;
            text-transform: uppercase;
        }
        .public-vacancy-theme .owner-contact-intro__copy {
            margin-top: 0.55rem;
            color: #556d84;
            font-size: 0.84rem;
            line-height: 1.45;
        }
        .public-vacancy-theme .owner-contact-sheet {
            border-radius: 0.82rem;
            border: 1px solid #d8e5f2;
            background: #fbfdff;
            overflow: hidden;
        }
        .public-vacancy-theme .owner-contact-row {
            display: flex;
            align-items: flex-start;
            gap: 0.62rem;
            padding: 0.72rem 0.78rem;
        }
        .public-vacancy-theme .owner-contact-row + .owner-contact-row {
            border-top: 1px dashed #d9e5f0;
        }
        .public-vacancy-theme .owner-contact-row__icon {
            width: 1.9rem;
            height: 1.9rem;
            border-radius: 0.52rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #eef5ff;
            border: 1px solid #d2e2f1;
            color: #2e5779;
            font-size: 0.88rem;
            flex: 0 0 1.9rem;
        }
        .public-vacancy-theme .owner-contact-row__content {
            min-width: 0;
            flex: 1;
        }
        .public-vacancy-theme .owner-contact-row__label {
            color: #6a8197;
            font-size: 0.72rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            font-weight: 700;
            margin-bottom: 0.15rem;
        }
        .public-vacancy-theme .owner-contact-row__value {
            color: #213f5a;
            font-weight: 600;
            word-break: break-word;
        }
        .public-vacancy-theme .owner-contact-row__value--email {
            font-size: 0.9rem;
        }
        .public-vacancy-theme .owner-contact-alert {
            border-radius: 0.72rem;
            font-size: 0.86rem;
        }
        .public-vacancy-theme .owner-contact-paywall {
            border-radius: 0.85rem;
            border: 1px solid #d4e3f0;
            background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
            padding: 0.85rem 0.85rem 0.9rem;
        }
        .public-vacancy-theme .owner-contact-paywall__head {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 0.6rem;
            margin-bottom: 0.25rem;
        }
        .public-vacancy-theme .owner-contact-paywall__title {
            color: #1e4667;
            font-weight: 700;
            font-size: 0.94rem;
        }
        .public-vacancy-theme .owner-contact-paywall__price {
            color: #0d4e6a;
            font-weight: 800;
            white-space: nowrap;
            font-size: 0.92rem;
        }
        .public-vacancy-theme .owner-contact-paywall__copy {
            color: #5e7388;
            font-size: 0.8rem;
            line-height: 1.4;
        }
        .public-vacancy-theme .vacancy-inquiry-card .form-label {
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #53697f;
            font-weight: 600;
        }
        .public-vacancy-theme .vacancy-inquiry-card .form-control,
        .public-vacancy-theme .vacancy-inquiry-card textarea {
            border-radius: 0.75rem;
            border-color: #c9d8e7;
            background: #fff;
        }

        /* mobile_zoom_modal_fix: keep iOS Safari from zooming contact/payment inputs. */
        .public-vacancy-theme .owner-contact-form .form-control,
        .public-vacancy-theme .owner-contact-form .form-control-sm {
            font-size: 16px;
            min-height: 44px;
            line-height: 1.35;
        }
        .public-vacancy-theme.tenant-payment-shell .form-control,
        .public-vacancy-theme.tenant-payment-shell .form-select {
            font-size: 16px;
            min-height: 46px;
        }
        .public-vacancy-theme .owner-contact-form .form-control:focus {
            border-color: #7ca9cc;
            box-shadow: 0 0 0 0.2rem rgba(61, 114, 154, 0.15);
        }
        .public-vacancy-theme .owner-contact-cta {
            font-weight: 700;
            letter-spacing: 0.01em;
        }

        @media (max-width: 767.98px) {
            .public-vacancy-theme .vacancy-inquiry-card .card-body {
                padding: 0.9rem 0.95rem 1rem;
            }
            .public-vacancy-theme .owner-contact-paywall {
                padding: 0.8rem;
            }
            .public-vacancy-theme .owner-contact-paywall__head {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.15rem;
            }

            .public-vacancy-theme .owner-contact-form .form-control,
            .public-vacancy-theme .owner-contact-form .form-control-sm {
                font-size: 16px !important;
                min-height: 46px;
            }
            .public-vacancy-theme .owner-contact-cta {
                width: 100%;
                min-height: 44px;
            }
            .public-vacancy-theme .property-units-modal .modal-dialog {
                margin: 0.5rem;
                min-height: calc(100vh - 1rem);
                min-height: calc(100dvh - 1rem);
                align-items: flex-start;
            }
            .public-vacancy-theme .property-units-modal .modal-content {
                max-height: calc(100vh - 1rem);
                max-height: calc(100dvh - 1rem);
                border-radius: 1rem;
            }
            .public-vacancy-theme .property-units-modal .modal-body {
                overflow: auto;
                -webkit-overflow-scrolling: touch;
            }
        }
        @keyframes vacancy-rise {
            from {
                opacity: 0;
                transform: translateY(8px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        @media (max-width: 991.98px) {
            .public-vacancy-theme .vacancy-kpis {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
            .public-vacancy-theme .vacancy-hero {
                padding: 1.35rem;
            }
            .public-vacancy-theme .property-focus__head {
                flex-direction: column;
                align-items: flex-start;
            }
            .public-vacancy-theme .property-focus__stats {
                width: 100%;
                min-width: 0;
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 767.98px) {
            .public-vacancy-theme .vacancy-topbar .container-fluid {
                align-items: flex-start;
                padding-top: 0.45rem;
                padding-bottom: 0.45rem;
            }
            .public-vacancy-theme .vacancy-topbar-inner {
                flex-wrap: wrap;
                gap: 0.45rem;
            }
            .public-vacancy-theme .vacancy-topbar-panel {
                width: 100%;
                margin-top: 0.05rem;
                padding: 0.62rem;
                border: 1px solid #d2e0ee;
                border-radius: 0.9rem;
                background: rgba(255, 255, 255, 0.98);
                box-shadow: 0 10px 24px rgba(24, 47, 72, 0.12);
            }
            .public-vacancy-theme .vacancy-public-nav {
                width: 100%;
                flex-direction: column;
                align-items: stretch;
                gap: 0.26rem;
                border-radius: 0.78rem;
                border: 1px solid #d8e4f0;
                background: #f4f9ff;
                padding: 0.24rem;
            }
            .public-vacancy-theme .vacancy-nav-link {
                width: 100%;
                justify-content: flex-start;
            }
            .public-vacancy-theme .vacancy-public-actions {
                width: 100%;
                display: grid;
                grid-template-columns: 1fr;
                gap: 0.4rem;
            }
            .public-vacancy-theme .vacancy-public-actions .btn {
                width: 100%;
            }
        }
        @media (max-width: 575.98px) {
            .public-vacancy-theme .vacancy-kpis {
                grid-template-columns: 1fr;
            }
            .public-vacancy-theme .vacancy-hero h1 {
                font-size: 1.95rem;
            }
        }


        /* ui-ux-pro-max public TenantsUG polish: vacancies marketplace */
        .public-skip-link {
            position: fixed;
            left: 1rem;
            top: 1rem;
            z-index: 300000;
            transform: translateY(-140%);
            border-radius: 999px;
            padding: .72rem 1rem;
            color: #ffffff;
            background: #0f766e;
            box-shadow: 0 14px 34px rgba(15, 118, 110, .28);
            font-weight: 800;
            text-decoration: none;
            transition: transform .18s ease;
        }
        .public-skip-link:focus {
            transform: translateY(0);
            color: #ffffff;
            outline: 3px solid rgba(20, 184, 166, .45);
            outline-offset: 3px;
        }
        .public-vacancy-theme {
            --vac-primary: #0f766e;
            --vac-primary-dark: #0b5852;
            --vac-accent: #0369a1;
            --vac-bg: #f0fdfa;
            --vac-surface: #ffffff;
            --vac-border: #c7ebe5;
            --vac-heading: #123c38;
            --vac-body: #385f5a;
            --vac-muted: #6c8782;
            --vac-shadow-sm: 0 10px 26px rgba(15, 54, 51, .08);
            --vac-shadow-md: 0 18px 44px rgba(15, 54, 51, .12);
            --vac-shadow-lg: 0 30px 72px rgba(15, 54, 51, .18);
            font-family: 'Fira Sans', 'Sora', sans-serif;
            color: var(--vac-body);
            background:
                radial-gradient(circle at 94% 4%, rgba(20, 184, 166, .16), transparent 28%),
                radial-gradient(circle at 4% 16%, rgba(3, 105, 161, .10), transparent 26%),
                linear-gradient(180deg, #f5fffc 0%, var(--vac-bg) 42%, #ffffff 100%);
        }
        .public-vacancy-theme :focus-visible {
            outline: 3px solid rgba(20, 184, 166, .34) !important;
            outline-offset: 3px;
        }
        .public-vacancy-theme .app-content > .container {
            max-width: 1180px;
        }
        .public-vacancy-theme .vacancy-topbar {
            border-bottom: 1px solid rgba(199, 235, 229, .92);
            background: rgba(255, 255, 255, .92);
            box-shadow: 0 10px 28px rgba(15, 54, 51, .08);
            backdrop-filter: blur(14px);
        }
        .public-vacancy-theme .vacancy-brand__label {
            color: #123c38;
            font-weight: 900;
            letter-spacing: -.025em;
        }
        .public-vacancy-theme .vacancy-nav-link,
        .public-vacancy-theme .vacancy-ghost-cta,
        .public-vacancy-theme .vacancy-cta,
        .public-vacancy-theme .btn {
            min-height: 44px;
            touch-action: manipulation;
        }
        .public-vacancy-theme .vacancy-nav-link {
            color: #305f59;
            border-color: transparent;
            font-weight: 800;
        }
        .public-vacancy-theme .vacancy-nav-link:hover,
        .public-vacancy-theme .vacancy-nav-link:focus {
            color: #0b5852;
            border-color: #bfe7df;
            background: #effdfa;
        }
        .public-vacancy-theme .vacancy-nav-link.is-active,
        .public-vacancy-theme .vacancy-cta,
        .public-vacancy-theme .btn-dark {
            border-color: #0f766e !important;
            background: linear-gradient(135deg, #0f766e, #0369a1) !important;
            color: #ffffff !important;
            box-shadow: 0 12px 26px rgba(15, 118, 110, .20);
        }
        .public-vacancy-theme .vacancy-ghost-cta,
        .public-vacancy-theme .btn-outline-secondary,
        .public-vacancy-theme .btn-outline-dark {
            border-color: #bfe7df !important;
            color: #0f5f58 !important;
            background: #ffffff !important;
        }
        .public-vacancy-theme .vacancy-ghost-cta:hover,
        .public-vacancy-theme .btn-outline-secondary:hover,
        .public-vacancy-theme .btn-outline-dark:hover {
            border-color: #0f766e !important;
            color: #ffffff !important;
            background: #0f766e !important;
        }
        .public-vacancy-theme .card-soft,
        .public-vacancy-theme .vacancy-filter,
        .public-vacancy-theme .property-focus,
        .public-vacancy-theme .vacancy-inquiry-card,
        .public-vacancy-theme .property-unit-list,
        .public-vacancy-theme .property-unit-filter {
            border-color: var(--vac-border) !important;
            border-radius: 1.35rem !important;
            background: rgba(255, 255, 255, .96) !important;
            box-shadow: var(--vac-shadow-sm) !important;
        }
        .public-vacancy-theme .vacancy-hero--market {
            isolation: isolate;
            border: 1px solid rgba(199, 235, 229, .24);
            border-radius: 1.7rem;
            background:
                linear-gradient(135deg, rgba(11, 88, 82, .96), rgba(3, 105, 161, .92)),
                radial-gradient(circle at 78% 18%, rgba(255, 255, 255, .24), transparent 32%) !important;
            box-shadow: 0 26px 70px rgba(15, 54, 51, .22);
        }
        .public-vacancy-theme .vacancy-hero--market::before {
            content: '';
            position: absolute;
            inset: auto -6rem -8rem auto;
            width: 24rem;
            height: 24rem;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(20, 184, 166, .32), rgba(20, 184, 166, 0));
            z-index: 0;
        }
        .public-vacancy-theme .vacancy-hero--market h1 {
            max-width: 820px;
            font-family: 'Fira Sans', 'Sora', sans-serif;
            font-weight: 900;
            letter-spacing: -.06em;
            line-height: .96;
            text-wrap: balance;
        }
        .public-vacancy-theme .vacancy-hero--market p {
            color: rgba(255, 255, 255, .88);
            line-height: 1.62;
        }
        .public-vacancy-theme .vacancy-eyebrow {
            font-weight: 900;
            color: inherit;
        }
        .public-vacancy-theme .vacancy-kpi {
            border-color: rgba(255, 255, 255, .22);
            background: rgba(255, 255, 255, .13);
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10);
        }
        .public-vacancy-theme .vacancy-kpi__value,
        .public-vacancy-theme .property-summary-card__rent-row strong,
        .public-vacancy-theme .property-focus__stat-value,
        .public-vacancy-theme .property-unit-row__rent strong {
            font-family: 'Fira Code', 'Fira Sans', monospace;
            font-variant-numeric: tabular-nums;
        }
        .public-vacancy-theme .vacancy-filter--market {
            padding: clamp(1rem, 2vw, 1.35rem);
            position: relative;
            overflow: hidden;
        }
        .public-vacancy-theme .vacancy-filter--market::before {
            content: '';
            position: absolute;
            inset: 0 auto 0 0;
            width: 5px;
            background: linear-gradient(180deg, #14b8a6, #0369a1);
        }
        .public-vacancy-theme .vacancy-filter .form-label,
        .public-vacancy-theme .property-unit-filter .form-label,
        .public-vacancy-theme .owner-contact-form .form-label {
            color: #2d5f59;
            font-size: .78rem;
            font-weight: 900;
            letter-spacing: .07em;
        }
        .public-vacancy-theme .vacancy-filter .form-control,
        .public-vacancy-theme .vacancy-filter .form-select,
        .public-vacancy-theme .property-unit-filter .form-control,
        .public-vacancy-theme .owner-contact-form .form-control,
        .public-vacancy-theme .owner-contact-form .form-control-sm {
            min-height: 48px;
            border-color: #bfe7df;
            border-radius: 1rem;
            color: #123c38;
            background: #fbfffe;
            font-size: 1rem;
        }
        .public-vacancy-theme .vacancy-search-control {
            position: relative;
        }
        .public-vacancy-theme .vacancy-search-control i {
            color: #0f766e;
        }
        .public-vacancy-theme .vacancy-results-head h2,
        .public-vacancy-theme .property-units-head__title {
            color: #123c38;
            font-weight: 900;
            letter-spacing: -.04em;
            text-wrap: balance;
        }
        .public-vacancy-theme .vacancy-results-head__count,
        .public-vacancy-theme .property-units-head__count {
            border: 1px solid #c7ebe5;
            border-radius: 999px;
            color: #0f5f58;
            background: #effdfa;
            padding: .45rem .8rem;
            font-weight: 900;
        }
        .public-vacancy-theme .vacancy-property-grid {
            align-items: stretch;
        }
        .public-vacancy-theme .property-summary-card--market {
            display: flex;
            flex-direction: column;
            overflow: hidden;
            padding: 0;
            border-color: #d1eee8;
            border-radius: 1.35rem;
            box-shadow: var(--vac-shadow-sm);
        }
        .public-vacancy-theme .property-card-link:hover .property-summary-card--market,
        .public-vacancy-theme .property-card-link:focus .property-summary-card--market {
            border-color: #8bded2;
            box-shadow: var(--vac-shadow-md);
            transform: translateY(-5px);
        }
        .public-vacancy-theme .property-summary-card__media {
            margin: 0;
            border-radius: 0;
            aspect-ratio: 16 / 10;
        }
        .public-vacancy-theme .property-summary-card__media img {
            transition: transform .35s ease;
        }
        .public-vacancy-theme .property-card-link:hover .property-summary-card__media img,
        .public-vacancy-theme .property-card-link:focus .property-summary-card__media img {
            transform: scale(1.035);
        }
        .public-vacancy-theme .property-summary-card__type,
        .public-vacancy-theme .property-summary-card__units,
        .public-vacancy-theme .property-gallery__count,
        .public-vacancy-theme .property-units-pill {
            min-height: 30px;
            display: inline-flex;
            align-items: center;
            border-radius: 999px;
            font-weight: 900;
        }
        .public-vacancy-theme .property-summary-card__units,
        .public-vacancy-theme .property-units-pill {
            background: #0f766e !important;
            color: #ffffff !important;
        }
        .public-vacancy-theme .property-summary-card__body {
            padding: 1.05rem 1.05rem 1.15rem;
        }
        .public-vacancy-theme .property-summary-card--market .property-summary-card__title {
            color: #123c38;
            font-size: 1.14rem;
            font-weight: 900;
        }
        .public-vacancy-theme .property-summary-card__location,
        .public-vacancy-theme .listing-card__location {
            color: #5f7f79;
        }
        .public-vacancy-theme .property-summary-card__amenities span,
        .public-vacancy-theme .property-unit-row__amenities span,
        .public-vacancy-theme .listing-card__meta .badge {
            border-color: #c7ebe5;
            color: #2d5f59;
            background: #f1fbf8;
        }
        .public-vacancy-theme .property-summary-card--market .property-summary-card__cta {
            border-top-color: #d7f1ec;
            color: #0f5f58;
        }
        .public-vacancy-theme .property-summary-card--market .property-summary-card__cta i {
            background: #0f766e;
        }
        .public-vacancy-theme .property-showcase-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
            gap: 1rem;
            align-items: stretch;
        }
        .public-vacancy-theme .property-gallery {
            overflow: hidden;
            padding: .75rem;
            min-height: 100%;
        }
        .public-vacancy-theme .property-gallery__hero {
            position: relative;
            overflow: hidden;
            border-radius: 1.1rem;
            aspect-ratio: 16 / 10;
            background: #e8f8f4;
        }
        .public-vacancy-theme .property-gallery__hero img,
        .public-vacancy-theme .property-gallery__thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .public-vacancy-theme .property-gallery__thumbs {
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: .55rem;
            margin-top: .65rem;
        }
        .public-vacancy-theme .property-gallery__thumb {
            min-height: 56px;
            overflow: hidden;
            border: 2px solid transparent;
            border-radius: .8rem;
            padding: 0;
            background: #effdfa;
            cursor: pointer;
        }
        .public-vacancy-theme .property-gallery__thumb.is-active {
            border-color: #0f766e;
            box-shadow: 0 0 0 3px rgba(20, 184, 166, .18);
        }
        .public-vacancy-theme .property-gallery__placeholder {
            min-height: 22rem;
            display: grid;
            place-items: center;
            gap: .65rem;
            color: #5f7f79;
            text-align: center;
        }
        .public-vacancy-theme .property-focus {
            padding: clamp(1rem, 2vw, 1.4rem);
        }
        .public-vacancy-theme .property-focus__eyebrow {
            border-color: #bfe7df;
            color: #0f5f58;
            background: #effdfa;
            font-weight: 900;
        }
        .public-vacancy-theme .property-focus__title {
            color: #123c38;
            font-size: clamp(1.45rem, 2.3vw, 2.15rem);
            font-weight: 900;
            letter-spacing: -.04em;
        }
        .public-vacancy-theme .property-focus__stat-card {
            border-color: #c7ebe5;
            background: #f8fffd;
        }
        .public-vacancy-theme .property-focus__stat-value {
            color: #0f5f58;
            font-weight: 900;
        }
        .public-vacancy-theme .property-hero-actions {
            display: flex;
            flex-wrap: wrap;
            gap: .55rem;
        }
        .public-vacancy-theme #unlock-contact {
            scroll-margin-top: 6.4rem;
        }
        .public-vacancy-theme .vacancy-inquiry-card {
            overflow: hidden;
            border-top: 5px solid #0f766e !important;
        }
        .public-vacancy-theme .vacancy-inquiry-card .card-header {
            border-bottom-color: #d7f1ec;
            background: linear-gradient(180deg, #ffffff, #f4fffc);
        }
        .public-vacancy-theme .vacancy-inquiry-card .card-title {
            color: #123c38;
            font-weight: 900;
        }
        .public-vacancy-theme .vacancy-inquiry-card .card-subtitle {
            color: #5f7f79;
            line-height: 1.5;
        }
        .public-vacancy-theme .owner-contact-intro,
        .public-vacancy-theme .owner-contact-paywall,
        .public-vacancy-theme .owner-contact-sheet {
            border-color: #d7f1ec;
            background: #f8fffd;
        }
        .public-vacancy-theme .owner-contact-row__icon {
            color: #ffffff;
            background: linear-gradient(135deg, #0f766e, #0369a1);
        }
        .public-vacancy-theme .owner-contact-paywall__price {
            color: #0f5f58;
            font-family: 'Fira Code', 'Fira Sans', monospace;
            font-weight: 900;
        }
        .public-vacancy-theme .owner-contact-cta {
            width: 100%;
            min-height: 48px;
        }
        .public-vacancy-theme .property-units-modal .modal-content {
            border: 1px solid #c7ebe5;
            border-radius: 1.35rem;
            box-shadow: var(--vac-shadow-lg);
        }
        .public-vacancy-theme .property-units-modal__header {
            border-bottom-color: #d7f1ec;
            background: #f8fffd;
        }
        .public-vacancy-theme .property-unit-row {
            display: grid;
            grid-template-columns: minmax(150px, 1.1fr) minmax(180px, 1fr) minmax(180px, 1fr) minmax(130px, .8fr) auto;
            gap: .85rem;
            align-items: center;
            padding: 1rem;
            border-bottom: 1px solid #d7f1ec;
        }
        .public-vacancy-theme .property-unit-row:last-child {
            border-bottom: 0;
        }
        .public-vacancy-theme .property-unit-row__unit {
            color: #0f766e;
            font-weight: 900;
        }
        .public-vacancy-theme .property-unit-row__title {
            color: #123c38;
            font-size: 1rem;
            font-weight: 900;
            margin: .15rem 0 0;
        }
        .public-vacancy-theme .property-unit-row__facts,
        .public-vacancy-theme .property-unit-row__amenities {
            display: flex;
            flex-wrap: wrap;
            gap: .4rem;
        }
        .public-vacancy-theme .property-unit-row__facts span {
            border-radius: 999px;
            padding: .24rem .55rem;
            color: #385f5a;
            background: #effdfa;
            font-weight: 800;
            font-size: .78rem;
        }
        .public-vacancy-theme .property-unit-row__rent span {
            color: #6c8782;
            font-size: .82rem;
        }
        .public-vacancy-theme .vacancy-pagination .page-link {
            min-width: 42px;
            min-height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-color: #bfe7df;
            color: #0f5f58;
            font-weight: 900;
        }
        .public-vacancy-theme .vacancy-pagination .page-item.active .page-link {
            border-color: #0f766e;
            background: #0f766e;
        }
        @media (max-width: 991.98px) {
            .public-vacancy-theme .property-showcase-grid {
                grid-template-columns: 1fr;
            }
            .public-vacancy-theme .property-unit-row {
                grid-template-columns: 1fr 1fr;
            }
            .public-vacancy-theme .property-unit-row__action {
                grid-column: 1 / -1;
            }
            .public-vacancy-theme .property-unit-row__action .btn {
                width: 100%;
            }
        }
        @media (max-width: 767.98px) {
            .public-vacancy-theme .app-content > .container {
                padding-left: .85rem;
                padding-right: .85rem;
            }
            .public-vacancy-theme .vacancy-hero--market {
                border-radius: 1.25rem;
                padding: 1.15rem;
            }
            .public-vacancy-theme .vacancy-hero--market h1 {
                font-size: clamp(2.05rem, 13vw, 3.1rem);
                letter-spacing: -.055em;
            }
            .public-vacancy-theme .vacancy-hero__actions,
            .public-vacancy-theme .property-hero-actions {
                display: grid;
                grid-template-columns: 1fr;
            }
            .public-vacancy-theme .vacancy-hero__actions .btn,
            .public-vacancy-theme .property-hero-actions .btn {
                width: 100%;
            }
            .public-vacancy-theme .vacancy-kpis--market {
                grid-template-columns: 1fr;
            }
            .public-vacancy-theme .vacancy-filter--market .col-lg-3.d-flex,
            .public-vacancy-theme .property-unit-filter .col-lg-4.d-flex {
                display: grid !important;
                grid-template-columns: 1fr;
            }
            .public-vacancy-theme .property-units-modal .modal-dialog {
                margin: .65rem;
                max-width: calc(100vw - 1.3rem);
            }
            .public-vacancy-theme .property-units-modal .modal-content {
                max-height: calc(100dvh - 1.3rem);
                border-radius: 1rem;
            }
            .public-vacancy-theme .property-units-modal .modal-body {
                padding: .85rem;
            }
            .public-vacancy-theme .property-units-modal .property-unit-filter {
                top: 0;
                padding: .75rem;
                border-radius: 1rem !important;
            }
            .public-vacancy-theme .property-gallery {
                padding: .55rem;
            }
            .public-vacancy-theme .property-gallery__hero {
                aspect-ratio: 4 / 3;
                border-radius: .95rem;
            }
            .public-vacancy-theme .property-gallery__thumbs {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }
            .public-vacancy-theme .property-focus__stats {
                grid-template-columns: 1fr;
            }
            .public-vacancy-theme .owner-contact-paywall__head,
            .public-vacancy-theme .property-units-head {
                align-items: flex-start;
                flex-direction: column;
            }
            .public-vacancy-theme .property-unit-row {
                grid-template-columns: 1fr;
                gap: .65rem;
            }
            .public-vacancy-theme .property-units-modal .modal-dialog {
                margin: .55rem;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .public-vacancy-theme *,
            .public-vacancy-theme *::before,
            .public-vacancy-theme *::after {
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
                scroll-behavior: auto !important;
                transition-duration: .01ms !important;
            }
        }

/* source: properties/index.php */
.property-list-card .property-toolbar {
        gap: 0.75rem;
    }
    .property-list-card .property-search-form {
        min-width: min(100%, 38rem);
    }
    .property-list-card .property-toolbar-actions {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        justify-content: flex-end;
        align-items: center;
    }
    .property-list-card .property-actions {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 0.35rem;
        justify-content: flex-end;
    }
    .property-list-card .property-actions form {
        margin: 0;
    }
    @media (max-width: 767.98px) {
        .property-list-card .property-toolbar {
            align-items: stretch !important;
        }
        .property-list-card .property-search-form {
            width: 100%;
            min-width: 0;
        }
        .property-list-card .property-toolbar-actions {
            width: 100%;
            justify-content: stretch;
        }
        .property-list-card .property-toolbar-actions > * {
            flex: 1 1 calc(50% - 0.5rem);
            min-width: 0;
        }
        .property-list-card .property-toolbar-actions > .btn {
            width: 100%;
        }
    }

/* source: properties/view.php */
.property-view-card .property-summary {
        gap: 0.75rem;
    }
    .property-view-card .property-summary-main,
    .property-view-card .property-summary-meta {
        min-width: 0;
    }
    .property-view-card .property-summary-meta {
        text-align: right;
    }
    .property-view-card .property-toolbar {
        gap: 0.5rem;
    }
    @media (max-width: 767.98px) {
        .property-view-card .property-summary-meta {
            text-align: left;
            width: 100%;
        }
        .property-view-card .property-toolbar > .btn {
            flex: 1 1 calc(50% - 0.5rem);
            min-width: 0;
            width: 100%;
        }
    }

/* source: tenants/index.php */
.tenant-list-toolbar form {
        min-width: min(100%, 34rem);
    }
    .tenant-list-card {
        min-height: 26rem;
    }
    .tenant-list-card .tenant-table-wrap {
        min-height: 18rem;
        padding-bottom: 5rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .tenant-list-card .tenant-table {
        width: 1900px !important;
        min-width: 1900px !important;
        max-width: none !important;
        table-layout: fixed;
    }
    .tenant-list-card .tenant-table th,
    .tenant-list-card .tenant-table td {
        vertical-align: middle;
    }
    .tenant-list-card .tenant-table col.tenant-col-name { width: 230px; }
    .tenant-list-card .tenant-table col.tenant-col-assignment { width: 290px; }
    .tenant-list-card .tenant-table col.tenant-col-next-due { width: 190px; }
    .tenant-list-card .tenant-table col.tenant-col-rent-status { width: 120px; }
    .tenant-list-card .tenant-table col.tenant-col-credit { width: 160px; }
    .tenant-list-card .tenant-table col.tenant-col-kin { width: 240px; }
    .tenant-list-card .tenant-table col.tenant-col-email { width: 260px; }
    .tenant-list-card .tenant-table col.tenant-col-phone { width: 160px; }
    .tenant-list-card .tenant-table col.tenant-col-status { width: 110px; }
    .tenant-list-card .tenant-table col.tenant-col-actions { width: 130px; }
    .tenant-list-card .tenant-table th {
        color: #53657a;
        font-size: .76rem;
        letter-spacing: .035em;
        text-transform: uppercase;
        white-space: nowrap;
    }
    .tenant-list-card .tenant-name-cell {
        min-width: 260px;
        max-width: none;
    }
    .tenant-list-card .tenant-assignment-cell,
    .tenant-list-card .tenant-kin-cell {
        min-width: 190px;
        max-width: 250px;
    }
    .tenant-list-card .tenant-email-cell {
        min-width: 180px;
        max-width: 240px;
        overflow-wrap: anywhere;
    }
    .tenant-list-card .tenant-phone-cell,
    .tenant-list-card .tenant-date-cell,
    .tenant-list-card .tenant-money-cell,
    .tenant-list-card .tenant-status-cell,
    .tenant-list-card .tenant-action-cell {
        white-space: nowrap;
    }
    .tenant-list-card .tenant-name-cell,
    .tenant-list-card .tenant-name-cell > div,
    .tenant-list-card .tenant-email-cell,
    .tenant-list-card .tenant-phone-cell {
        white-space: nowrap !important;
        overflow-wrap: normal !important;
        word-break: keep-all !important;
    }
    .tenant-list-card .tenant-email-cell {
        min-width: 230px;
        max-width: none;
    }
    .tenant-list-card .tenant-phone-cell {
        min-width: 145px;
    }
    .tenant-list-card .tenant-actions-dropdown .dropdown-toggle {
        min-width: 6.2rem;
    }
    .tenant-mobile-list {
        display: none;
        padding: .82rem;
        gap: .75rem;
    }
    .tenant-mobile-card {
        border: 1px solid #dbe6f3;
        border-radius: 1rem;
        background: #fff;
        box-shadow: 0 12px 28px rgba(20, 47, 78, .08);
        padding: .95rem;
    }
    .tenant-mobile-title-row {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: .75rem;
    }
    .tenant-mobile-name {
        color: #263f5c;
        font-size: 1rem;
        font-weight: 800;
        line-height: 1.22;
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
        padding-bottom: .08rem;
    }
    .tenant-mobile-meta {
        color: #667085;
        font-size: .84rem;
        line-height: 1.35;
    }
    .tenant-mobile-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .65rem;
        margin-top: .78rem;
    }
    .tenant-mobile-field {
        min-width: 0;
        border-radius: .8rem;
        background: #f7fafd;
        padding: .62rem .68rem;
    }
    .tenant-mobile-label {
        color: #7a8ca2;
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .055em;
        text-transform: uppercase;
        margin-bottom: .18rem;
    }
    .tenant-mobile-value {
        color: #263f5c;
        font-size: .88rem;
        font-weight: 650;
        line-height: 1.28;
    }
    .tenant-mobile-nowrap {
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
        padding-bottom: .05rem;
    }
    .tenant-mobile-actions {
        margin-top: .85rem;
    }
    .tenant-mobile-actions .dropdown-toggle {
        width: 100%;
    }
    .tenant-mobile-empty {
        border: 1px dashed #cbd8e7;
        border-radius: 1rem;
        color: #6b7f96;
        padding: 1rem;
        text-align: center;
    }
    .tenant-list-card .tenant-actions-dropdown .dropdown-menu {
        min-width: 12.5rem;
        padding: .45rem;
        border: 1px solid #d7e2f0;
        border-radius: .85rem;
        box-shadow: 0 18px 45px rgba(15, 23, 42, .16);
    }
    .tenant-list-card .tenant-actions-dropdown form {
        margin: 0;
    }
    .tenant-list-card .tenant-actions-dropdown .dropdown-item {
        border-radius: .55rem;
        color: #253247;
        font-size: .88rem;
        line-height: 1.25;
        padding: .58rem .7rem;
        white-space: normal;
    }
    .tenant-list-card .tenant-actions-dropdown .dropdown-item:hover,
    .tenant-list-card .tenant-actions-dropdown .dropdown-item:focus {
        background: #eef4ff;
        color: #14213d;
    }
    .tenant-list-card .tenant-actions-dropdown .dropdown-item.text-danger:hover,
    .tenant-list-card .tenant-actions-dropdown .dropdown-item.text-danger:focus {
        background: #fff1f2;
        color: #b42318 !important;
    }
    @media (max-width: 767.98px) {
        .tenant-list-toolbar {
            align-items: stretch !important;
        }
        .tenant-list-toolbar form {
            width: 100%;
            min-width: 0;
        }
        .tenant-list-toolbar form .form-control {
            min-width: 0;
        }
        .tenant-list-toolbar .btn,
        .tenant-add-btn {
            width: 100%;
        }
        .tenant-list-card .card-header {
            align-items: flex-start !important;
            flex-direction: column;
            gap: .25rem;
        }
        .tenant-list-card .tenant-mobile-list {
            display: none !important;
        }
        .tenant-list-card .tenant-table-wrap {
            display: block !important;
            overflow-x: auto !important;
            overflow-y: visible;
        }
        .tenant-list-card .tenant-table {
            display: table !important;
            width: 1900px !important;
            min-width: 1900px !important;
            max-width: none !important;
            table-layout: fixed;
        }
        .tenant-list-card .tenant-table thead { display: table-header-group !important; }
        .tenant-list-card .tenant-table tbody { display: table-row-group !important; }
        .tenant-list-card .tenant-table tr { display: table-row !important; width: auto !important; padding: 0 !important; border-bottom: 0; }
        .tenant-list-card .tenant-table th,
        .tenant-list-card .tenant-table td {
            display: table-cell !important;
            width: auto !important;
            padding: .72rem .78rem !important;
            border-top: 1px solid #e3ebf6 !important;
            overflow-wrap: normal !important;
            word-break: normal !important;
        }
        .tenant-list-card .tenant-table td::before {
            display: none !important;
            content: none !important;
        }
    }

/* source: tenants/view.php */
.tenant-view-page .tenant-hero {
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.03), rgba(59, 130, 246, 0.08));
}
.tenant-view-page .tenant-hero-label {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.35rem;
}
.tenant-view-page .tenant-hero-name {
    font-size: 1.45rem;
    line-height: 1.2;
    color: #0f172a;
    margin-bottom: 0.5rem;
}
.tenant-view-page .tenant-chip {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(15, 23, 42, 0.14);
    border-radius: 999px;
    padding: 0.2rem 0.6rem;
    font-size: 0.72rem;
    color: #334155;
    background: #fff;
}
.tenant-view-page .tenant-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}
.tenant-view-page .tenant-actions .btn {
    white-space: nowrap;
}
.tenant-view-page .tenant-stat {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.8rem;
    background: #fff;
    padding: 0.85rem 1rem;
    height: 100%;
}
.tenant-view-page .tenant-stat-label {
    display: block;
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
    margin-bottom: 0.25rem;
}
.tenant-view-page .tenant-stat-value {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}
.tenant-view-page .tenant-panel {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.8rem;
    background: #fff;
    padding: 1rem;
    height: 100%;
}
.tenant-view-page .tenant-panel-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 0.8rem;
}
.tenant-view-page .tenant-field {
    margin-bottom: 0.8rem;
}
.tenant-view-page .tenant-field:last-child {
    margin-bottom: 0;
}
.tenant-view-page .tenant-field-label {
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    margin-bottom: 0.2rem;
}
.tenant-view-page .tenant-field-value {
    font-weight: 600;
    color: #0f172a;
    line-height: 1.35;
}
.tenant-view-page .tenant-table th {
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}
.tenant-view-page .tenant-table td {
    vertical-align: middle;
}
@media (max-width: 767.98px) {
    .tenant-view-page .tenant-actions {
        justify-content: flex-start;
    }
    .tenant-view-page .tenant-actions .btn {
        flex: 1 1 calc(50% - 0.5rem);
    }
    .tenant-view-page .tenant-hero-name {
        font-size: 1.2rem;
    }
}

/* Inline attribute cleanup helpers */
.text-pre-wrap{white-space:pre-wrap}.js-progress-width{width:0}.table-col-row{width:100px}.table-col-field{width:160px}.table-col-number{width:60px}.twofa-qr-image{max-width:220px}.window-days-input{width:100px;max-width:100%}.tenant-ledger-select{min-width:240px}.tenant-ledger-notes{max-width:180px}.sticky-offset-6{top:6rem}.arrears-dispatch-limit{width:90px;max-width:100%}.property-stat-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}

        @media (max-width: 575.98px) {
            .public-vacancy-theme.public-vacancy-property-page .app-content > .container {
                padding-bottom: 0.75rem !important;
            }
            .public-vacancy-theme.public-vacancy-property-page .vacancy-inquiry-card {
                margin-bottom: 0.75rem !important;
            }
        }

