/* Assessify dashboard — bright liquid glass treatment */
:root {
    --glass-text: #1c3150;
    --glass-muted: #6d7e98;
    --glass-border: rgba(167, 187, 201, .42);
    --glass-white: rgba(255, 255, 255, .16);
    --glass-white-strong: rgba(255, 255, 255, .24);
    --glass-blue: #3f82c5;
    --glass-teal: #178d9a;
}

/* First-open property survey */
.assessify-dashboard .property-survey-backdrop { position:fixed; z-index:10000 !important; inset:0; display:flex; align-items:center; justify-content:center; overflow-y:auto; padding:1.25rem; background:rgba(22,48,70,.42); backdrop-filter:blur(9px); }
.assessify-dashboard .property-survey-modal { width:min(100%, 680px); max-height:calc(100vh - 2.5rem); overflow-y:auto; padding:1.45rem 1.55rem 1.25rem; color:var(--glass-text); background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,249,251,.96)); border:1px solid rgba(255,255,255,.8); border-radius:22px; box-shadow:0 24px 80px rgba(18,55,81,.25); }
.assessify-dashboard .property-survey-topline { display:flex; align-items:center; justify-content:space-between; color:var(--glass-teal); font-size:.61rem; font-weight:900; letter-spacing:.16em; }
.assessify-dashboard .property-survey-close { width:2rem; height:2rem; padding:0; color:#6d7e98; background:transparent; border:0; border-radius:50%; font-size:1.5rem; line-height:1; cursor:pointer; }
.assessify-dashboard .property-survey-close:hover { color:var(--glass-text); background:rgba(23,141,154,.1); }
.assessify-dashboard .property-survey-heading { display:flex; align-items:flex-start; gap:.85rem; margin:.4rem 0 1rem; }
.assessify-dashboard .property-survey-icon { display:grid; width:2.7rem; height:2.7rem; flex:0 0 2.7rem; place-items:center; color:#fff; background:linear-gradient(135deg,#178d9a,#3f82c5); border-radius:12px; font-size:1.35rem; box-shadow:0 7px 16px rgba(23,141,154,.2); }
.assessify-dashboard .property-survey-heading h2 { margin:0; color:#173752; font-size:1.25rem; font-weight:850; }
.assessify-dashboard .property-survey-heading p { max-width:560px; margin:.35rem 0 0; color:var(--glass-muted); font-size:.75rem; line-height:1.55; }
.assessify-dashboard .property-survey-property { display:flex; align-items:center; gap:.65rem; margin:0 0 1rem; padding:.65rem .75rem; color:#36556a; background:rgba(228,246,245,.7); border:1px solid rgba(23,141,154,.18); border-radius:10px; }
.assessify-dashboard .property-survey-property > i { color:var(--glass-teal); font-size:1.15rem; }
.assessify-dashboard .property-survey-property strong { display:block; overflow:hidden; color:#173752; font-size:.73rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.assessify-dashboard .property-survey-property span { display:block; margin-top:.15rem; color:var(--glass-muted); font-size:.64rem; font-weight:700; }
.assessify-dashboard .property-survey-progress { display:flex; align-items:center; gap:.75rem; margin-bottom:1rem; color:var(--glass-muted); font-size:.66rem; font-weight:700; }
.assessify-dashboard .property-survey-progress > div { height:5px; flex:1; overflow:hidden; background:#dcecef; border-radius:99px; }
.assessify-dashboard .property-survey-progress i { display:block; width:0; height:100%; background:linear-gradient(90deg,#178d9a,#3f82c5); border-radius:99px; transition:width .2s ease; }
.assessify-dashboard .property-survey-question { display:none; margin:0 0 .7rem; padding:.7rem .8rem .75rem; border:1px solid rgba(167,187,201,.42); border-radius:12px; background:rgba(255,255,255,.64); }
.assessify-dashboard .property-survey-question.is-active { display:block; }
.assessify-dashboard .property-survey-question legend { float:none; width:100%; margin:0 0 .55rem; color:#36556a; font-size:.75rem; font-weight:800; line-height:1.4; }
.assessify-dashboard .property-survey-question legend span { display:inline-grid; width:1.45rem; height:1.45rem; margin-right:.45rem; place-items:center; color:#178d9a; background:#e4f6f5; border-radius:50%; font-size:.62rem; vertical-align:middle; }
.assessify-dashboard .property-survey-options { display:flex; flex-wrap:wrap; gap:.45rem; }
.assessify-dashboard .property-survey-options label { position:relative; cursor:pointer; }
.assessify-dashboard .property-survey-options input { position:absolute; opacity:0; pointer-events:none; }
.assessify-dashboard .property-survey-options label span { display:block; min-width:4.1rem; padding:.38rem .62rem; color:#668096; border:1px solid #d7e5e9; border-radius:7px; text-align:center; font-size:.67rem; font-weight:750; transition:all .15s ease; }
.assessify-dashboard .property-survey-followup { margin-top:.7rem; padding:.65rem .7rem; background:#f1faf9; border:1px solid rgba(23,141,154,.2); border-radius:9px; }
.assessify-dashboard .property-survey-followup label { display:block; margin-bottom:.35rem; color:#36556a; font-size:.68rem; font-weight:800; }
.assessify-dashboard .property-survey-followup div { display:flex; align-items:center; max-width:220px; overflow:hidden; color:#178d9a; background:#fff; border:1px solid #cfe3e6; border-radius:7px; }
.assessify-dashboard .property-survey-followup div span { padding-left:.65rem; font-size:.75rem; font-weight:800; }
.assessify-dashboard .property-survey-followup input { width:100%; padding:.48rem .55rem; color:#173752; background:transparent; border:0; outline:0; font-size:.72rem; }
.assessify-dashboard .property-survey-options label:hover span, .assessify-dashboard .property-survey-options input:checked + span { color:#fff; background:#178d9a; border-color:#178d9a; box-shadow:0 4px 10px rgba(23,141,154,.18); }
.assessify-dashboard .property-survey-actions { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:1rem; }
.assessify-dashboard .property-survey-skip, .assessify-dashboard .property-survey-back, .assessify-dashboard .property-survey-next, .assessify-dashboard .property-survey-submit { padding:.65rem .85rem; border-radius:9px; font-size:.72rem; font-weight:800; cursor:pointer; }
.assessify-dashboard .property-survey-skip { color:#6d7e98; background:transparent; border:0; }
.assessify-dashboard .property-survey-navigation { display:flex; align-items:center; gap:.45rem; }
.assessify-dashboard .property-survey-back { color:#6d7e98; background:transparent; border:1px solid #d7e5e9; }
.assessify-dashboard .property-survey-back:disabled { opacity:.4; cursor:default; }
.assessify-dashboard .property-survey-next { color:#fff; background:#178d9a; border:0; }
.assessify-dashboard .property-survey-submit { color:#fff; background:#18506d; border:0; }
.assessify-dashboard .property-survey-submit:hover { background:#123d55; }
.assessify-dashboard .property-survey-error { margin:.7rem 0 0; color:#b23a48; font-size:.69rem; font-weight:700; }
@media(max-width:600px) { .assessify-dashboard .property-survey-backdrop { align-items:flex-start; padding:.6rem; } .assessify-dashboard .property-survey-modal { max-height:calc(100vh - 1.2rem); padding:1.1rem; border-radius:17px; } .assessify-dashboard .property-survey-heading h2 { font-size:1.05rem; } }

body.assessify-dashboard {
    color: var(--glass-text);
    background-color: #ffffff;
    background-image:
        radial-gradient(circle at 8% 0%, rgba(226, 238, 246, .5), transparent 28rem),
        linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
    min-height: 100vh;
}

body.assessify-dashboard::before {
    content: "";
    position: fixed;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    opacity: .1;
    background-image: radial-gradient(rgba(255, 255, 255, .45) .7px, transparent .7px);
    background-size: 7px 7px;
    mask-image: linear-gradient(to bottom, black, transparent 85%);
}

.assessify-dashboard .red-alert {
    position: fixed !important;
    z-index: 2000;
    top: 1.25rem;
    right: 1.25rem;
    display: none !important;
    width: min(420px, calc(100vw - 2.5rem));
    min-height: 58px;
    padding: .9rem 1rem .9rem 3.25rem;
    color: #8f3f49;
    background: rgba(255, 246, 247, .96);
    border: 1px solid rgba(200, 90, 99, .28);
    border-radius: 13px;
    box-shadow: 0 18px 38px rgba(122, 48, 58, .18), inset 0 1px 0 rgba(255, 255, 255, .8);
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.assessify-dashboard .red-alert::before {
    position: absolute;
    top: 50%;
    left: 1rem;
    display: grid;
    width: 1.55rem;
    height: 1.55rem;
    place-items: center;
    color: #fff;
    background: #c85a63;
    border-radius: 50%;
    content: "!";
    font-size: .85rem;
    font-weight: 900;
    transform: translateY(-50%);
}

.assessify-dashboard .red-alert.is-visible {
    display: flex !important;
    align-items: center;
}

.assessify-dashboard .red-alert a {
    color: #7f3540 !important;
    font-weight: 800;
    text-decoration: underline;
}

@media (max-width: 600px) {
    .assessify-dashboard .red-alert {
        top: .75rem;
        right: .75rem;
        width: calc(100vw - 1.5rem);
    }
}

.assessify-dashboard .layout-container,
.assessify-dashboard .content-wrapper {
    background: transparent;
}

/* Frosted chrome: translucent enough to let the background show through. */
.assessify-dashboard .layout-menu,
.assessify-dashboard .layout-navbar {
    background: rgba(255, 255, 255, .12) !important;
    border: 1px solid var(--glass-border);
    box-shadow: 0 18px 44px rgba(20, 74, 103, .18), inset 0 1px 0 rgba(255, 255, 255, .55);
    backdrop-filter: blur(24px) saturate(125%);
    -webkit-backdrop-filter: blur(24px) saturate(125%);
}

.assessify-dashboard .layout-menu {
    display: block !important;
    border-top: 0;
    border-bottom: 0;
    border-left: 0;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.assessify-dashboard .menu-header-text,
.assessify-dashboard .menu-header,
.assessify-dashboard .menu-link,
.assessify-dashboard .top-summary,
.assessify-dashboard .navbar-nav,
.assessify-dashboard .navbar-nav a {
    color: var(--glass-muted) !important;
}

.assessify-dashboard .menu-header-text {
    letter-spacing: .14em;
    font-size: .66rem;
    color: var(--glass-muted) !important;
}

.assessify-dashboard .menu-link {
    margin: .2rem .7rem;
    border-radius: 8px;
    transition: background .2s ease, box-shadow .2s ease;
}

.assessify-dashboard .menu-link:hover,
.assessify-dashboard .menu-item.active > .menu-link {
    color: #17466c !important;
    background: rgba(255, 255, 255, .64);
    box-shadow: inset 0 1px 0 #fff, 0 8px 20px rgba(62, 108, 143, .1);
}

.assessify-dashboard .menu-item.active > .menu-link {
    color: #173752 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.assessify-dashboard .menu-item.active {
    background: transparent !important;
    box-shadow: none !important;
}

.assessify-dashboard .menu-item.active > .menu-link .menu-icon {
    color: #173752 !important;
}

.assessify-dashboard .menu-link .menu-icon {
    color: var(--glass-teal);
}

.assessify-dashboard .guest-register-menu-item > .menu-link {
    color: #18506d !important;
    background: rgba(227, 248, 246, .58);
    border: 1px solid rgba(23, 141, 154, .16);
}

.assessify-dashboard .guest-login-menu-item > .menu-link {
    color: #18506d !important;
    background: rgba(255, 255, 255, .62);
    border: 1px solid rgba(23, 141, 154, .12);
}

.assessify-dashboard .dashboard-login-item,
.assessify-dashboard .dashboard-register-item {
    margin-left: .35rem;
}

.assessify-dashboard .dashboard-login-button {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .55rem .8rem;
    color: #18506d !important;
    background: rgba(255, 255, 255, .7);
    border: 1px solid rgba(23, 141, 154, .2);
    border-radius: 9px;
    font-size: .72rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.assessify-dashboard .dashboard-login-button:hover {
    color: #17466c !important;
    background: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(23, 93, 116, .14);
}

.assessify-dashboard .dashboard-register-button {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .55rem .8rem;
    color: #fff !important;
    background: linear-gradient(135deg, #18506d, #178d9a);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 9px;
    box-shadow: 0 7px 16px rgba(23, 93, 116, .18);
    font-size: .72rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.assessify-dashboard .dashboard-register-button:hover {
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(23, 93, 116, .26);
}

.assessify-dashboard .guest-account-prompt {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: .75rem;
    padding: 1.25rem 1.4rem;
    color: var(--glass-text);
    background: linear-gradient(135deg, rgba(227, 248, 246, .72), rgba(255, 255, 255, .62));
    border: 1px solid rgba(23, 141, 154, .2);
    border-radius: 13px;
}

.assessify-dashboard .guest-account-icon {
    display: grid;
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 2.8rem;
    place-items: center;
    color: #178d9a;
    background: rgba(255, 255, 255, .75);
    border: 1px solid rgba(23, 141, 154, .2);
    border-radius: 11px;
    font-size: 1.35rem;
}

.assessify-dashboard .guest-account-copy {
    min-width: 0;
    flex: 1;
}

.assessify-dashboard .guest-account-eyebrow {
    display: block;
    margin-bottom: .2rem;
    color: #178d9a;
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.assessify-dashboard .guest-account-copy h5 {
    margin: .25rem 0 .35rem;
    color: #173752;
    font-size: 1rem;
    font-weight: 800;
}

.assessify-dashboard .guest-account-copy p {
    margin: .25rem 0 0;
    color: #6d7e98;
    font-size: .74rem;
    line-height: 1.5;
}

.assessify-dashboard .guest-account-button {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    flex: 0 0 auto;
    padding: .65rem .8rem;
    color: #fff !important;
    background: #18506d;
    border-radius: 8px;
    font-size: .7rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.assessify-dashboard .guest-account-button:hover {
    color: #fff !important;
    background: #178d9a;
}

.assessify-dashboard .dashboard-empty-auth-actions {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-top: .7rem;
    color: #6d7e98;
    font-size: .76rem;
}

.assessify-dashboard .dashboard-empty-auth-actions a {
    color: #178d9a;
    font-weight: 800;
    text-decoration: none;
}

.assessify-dashboard .dashboard-empty-auth-actions a:hover {
    color: #18506d;
    text-decoration: underline;
}

@media (max-width: 650px) {
    .assessify-dashboard .guest-account-prompt {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .assessify-dashboard .guest-account-copy {
        flex-basis: calc(100% - 4rem);
    }

    .assessify-dashboard .guest-account-button {
        margin-left: 3.8rem;
    }
}

.assessify-dashboard #layout-navbar {
    top: 1.1rem;
    min-height: 4.6rem;
    border-radius: 8px;
}

.assessify-dashboard .app-brand-logo img {
    max-height: 2.2rem;
}

.assessify-dashboard .app-brand-link {
    display: inline-flex;
    align-items: center;
    padding: .28rem .42rem;
    border-radius: 8px;
    /*background: rgba(19, 50, 77, .9);*/
    /*box-shadow: 0 8px 18px rgba(50, 81, 108, .14), inset 0 1px 0 rgba(255, 255, 255, .18);*/
}

.assessify-dashboard .search-bar-top {
    color: #f7fbff !important;
    background: rgba(19, 50, 77, .9) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 8px !important;
    box-shadow: inset 0 1px 2px rgba(0, 10, 20, .12), 0 5px 15px rgba(0, 10, 20, .12);
}

.assessify-dashboard .search-bar-top::placeholder {
    color: rgba(247, 251, 255, .68);
}

.assessify-dashboard .dashboard-search-wrap {
    position: relative;
    align-items: center;
}

.assessify-dashboard .dashboard-search-loader {
    position: absolute;
    right: 0;
    bottom: -9px;
    left: 0;
    display: none;
    height: 3px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(19, 50, 77, .16);
}

.assessify-dashboard .dashboard-search-loader.is-visible {
    display: block;
}

.assessify-dashboard .dashboard-search-loader span {
    display: block;
    width: 38%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, #47c6c1, transparent);
    animation: dashboard-search-loading 1.1s ease-in-out infinite;
}

.assessify-dashboard .immersive-mode {
    position: relative;
}

.assessify-dashboard .general_loader {
    position: absolute;
    z-index: 20;
    inset: 0;
    display: none;
    min-height: 240px;
    place-items: center;
    background: rgba(247, 250, 252, .5);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.assessify-dashboard .general_loader.is-loading {
    display: grid;
}

.assessify-dashboard .general_loader::after {
    width: 34px;
    height: 34px;
    border: 3px solid rgba(23, 141, 154, .2);
    border-top-color: #178d9a;
    border-radius: 50%;
    content: "";
    animation: dashboard-content-loading .7s linear infinite;
}

@keyframes dashboard-search-loading {
    0% { transform: translateX(-140%); }
    100% { transform: translateX(360%); }
}

@keyframes dashboard-content-loading {
    to { transform: rotate(360deg); }
}

.assessify-dashboard .immersive-mode {
    padding-top: 2.1rem;
}

.assessify-dashboard .container-xxl.flex-grow-1.immersive-mode {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.assessify-dashboard .nav-tabs {
    /*gap: .55rem;*/
    border-bottom: 1px solid rgba(255, 255, 255, .22);
    margin-bottom: 1.25rem;
}

.assessify-dashboard .nav-tabs .nav-link {
    color: #6f8195 !important;
    background: rgba(255, 255, 255, .48) !important;
    border: 1px solid rgba(122, 153, 173, .22) !important;
    border-radius: 11px 11px 0 0;
    font-weight: 600;
    transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.assessify-dashboard .nav-tabs .nav-link:hover,
.assessify-dashboard .nav-tabs .nav-link.active {
    color: #fff !important;
    background: linear-gradient(135deg, #18506d, #178d9a) !important;
    border-color: rgba(23, 111, 133, .72) !important;
    border-bottom-color: transparent;
    box-shadow: 0 7px 16px rgba(23, 93, 116, .2), inset 0 1px 0 rgba(255, 255, 255, .22);
    transform: translateY(-1px);
}

.assessify-dashboard .nav-tabs .nav-link:not(.active):hover {
    color: #18506d !important;
    background: rgba(255, 255, 255, .78) !important;
    border-color: rgba(23, 141, 154, .34) !important;
    box-shadow: 0 5px 12px rgba(43, 92, 115, .1);
}

/* Panels stay in their existing Bootstrap grid; only their surface is changed. */
.assessify-dashboard .card {
    position: relative;
    overflow: hidden;
    color: var(--glass-text);
    background: rgba(255, 255, 255, .1) !important;
    border: 1px solid var(--glass-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 16px 38px rgba(20, 74, 103, .18), inset 0 1px 0 rgba(255, 255, 255, .45);
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.assessify-dashboard .card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: rgba(255, 255, 255, .42);
}

.assessify-dashboard .card-header,
.assessify-dashboard .card-title,
.assessify-dashboard .card h4,
.assessify-dashboard .card h5,
.assessify-dashboard .card h6,
.assessify-dashboard .card p,
.assessify-dashboard .card label,
.assessify-dashboard .card small,
.assessify-dashboard .card td,
.assessify-dashboard .card th {
    color: var(--glass-text);
}

.assessify-dashboard .card-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.assessify-dashboard .text-muted,
.assessify-dashboard .gray-font,
.assessify-dashboard small {
    color: var(--glass-muted) !important;
}

.assessify-dashboard .text-primary,
.assessify-dashboard .green,
.assessify-dashboard .property-icons i {
    color: var(--glass-teal) !important;
}

.assessify-dashboard .widget-options,
.assessify-dashboard .drag-map {
    color: rgba(239, 247, 255, .72);
    z-index: 2;
}

.assessify-dashboard .widget-options:hover,
.assessify-dashboard .drag-map:hover {
    color: var(--glass-teal);
}

.assessify-dashboard #map,
.assessify-dashboard .map-card {
    border-radius: 8px;
    overflow: hidden;
}

.assessify-dashboard .form-control,
.assessify-dashboard .form-select,
.assessify-dashboard select {
    /*color: var(--glass-text) !important;*/
    background-color: rgba(255, 255, 255, .06) !important;
    border-color: rgba(255, 255, 255, .26) !important;
}

.assessify-dashboard option {
    color: #18324d;
}

.assessify-dashboard .badge.bg-label-primary,
.assessify-dashboard .badge.bg-label-info {
    background: rgba(46, 166, 181, .15) !important;
    color: #147e8b !important;
}

.assessify-dashboard .open_close_menu {
    filter: drop-shadow(0 4px 10px rgba(60, 91, 120, .2));
}

.assessify-dashboard .chevron-menu {
    display: inline-grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    padding: 0;
    color: #18506d;
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(121, 158, 178, .28);
    border-radius: 50%;
    cursor: pointer;
}

.assessify-dashboard .chevron-menu:hover,
.assessify-dashboard .chevron-menu:focus-visible {
    color: #178d9a;
    background: #fff;
    outline: 2px solid rgba(23, 141, 154, .25);
    outline-offset: 2px;
}

.assessify-dashboard #layout-navbar .dropdown-menu .dropdown-item[type="button"] {
    width: 100%;
    color: #315269 !important;
    background: transparent;
    border: 0;
    text-align: left;
}

.assessify-dashboard .dashboard-first-search {
    display: flex;
    min-height: 260px;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding: 2.5rem 1rem;
    color: #6b8193;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(121, 158, 178, .22);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(42, 89, 113, .07);
}

.assessify-dashboard .dashboard-first-search-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    margin-bottom: .75rem;
    place-items: center;
    color: #178d9a;
    background: #e3f8f6;
    border-radius: 14px;
    font-size: 1.45rem;
}

.assessify-dashboard .dashboard-first-search h2 {
    margin: 0;
    color: #173752;
    font-size: 1.2rem;
    font-weight: 800;
}

.assessify-dashboard .dashboard-first-search p {
    max-width: 34rem;
    margin: .45rem auto 1rem;
    font-size: .78rem;
    line-height: 1.6;
}

.assessify-dashboard .dashboard-first-search .guest-account-button {
    border: 0;
}

.assessify-dashboard .dashboard-first-search small {
    margin-top: .6rem;
    color: #178d9a;
    font-size: .68rem;
    font-weight: 700;
}

.assessify-dashboard .dashboard-pending-property-label {
    margin-bottom: .5rem;
    color: #178d9a;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.assessify-dashboard .dashboard-pending-property h2 {
    max-width: 42rem;
}

.assessify-dashboard .dashboard-pending-property-apn {
    margin-top: .35rem;
    color: #315269;
    font-size: .72rem;
}

/* Replace the vertical sidebar with a compact horizontal menu. */
.assessify-dashboard .layout-container {
    display: block !important;
    position: relative;
    min-height: 100vh;
    overflow: visible !important;
}

.assessify-dashboard .layout-menu {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 3.4rem !important;
    max-height: 4.25rem;
    z-index: 30;
    overflow: hidden;
    border-left: 0;
    border-right: 0;
    border-radius: 0 !important;
}

.assessify-dashboard .layout-menu .menu-inner {
    display: flex;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center;
    /*gap: .25rem;*/
    width: 100%;
    height: auto !important;
    min-height: 3.4rem;
    padding: .45rem 1.25rem !important;
    overflow-x: auto;
    overflow-y: hidden;
}

.assessify-dashboard .layout-menu .menu-header {
    display: none;
}

.assessify-dashboard .layout-menu .menu-item {
    flex: 0 0 auto;
    width: auto !important;
    max-width: none !important;
    align-self: center;
}

.assessify-dashboard .layout-menu .menu-item > .menu-sub {
    display: none !important;
}

.assessify-dashboard .layout-menu .menu-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
    margin: 0 .15rem;
    padding: .5rem .8rem;
    width: auto !important;
    max-width: none !important;
    white-space: nowrap;
}

.assessify-dashboard .layout-menu .menu-link > div {
    display: inline-block;
    width: auto !important;
}

.assessify-dashboard .layout-page {
    position: relative;
    z-index: 1;
    clear: both;
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh;
    padding-left: 0 !important;
    margin-left: 0 !important;
    background-color: #ffffff;
    background-image:
        linear-gradient(rgb(255 255 255 / 90%), rgb(255 255 255 / 90%)), url(../img/la_map_background.jpg);
    background-blend-mode: normal;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}

.assessify-dashboard .layout-page > .content-wrapper {
    min-height: calc(100vh - 8rem);
}

.assessify-dashboard #layout-navbar {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    background: rgba(19, 50, 77, .9) !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 20;
    border-radius: 0 !important;
    border-left: 0;
    border-right: 0;
}

/* The old layout reserved space for a sidebar. Keep a definite content
   offset now that both navigation bars are in normal horizontal flow. */
.assessify-dashboard .layout-page .immersive-mode {
    position: relative;
    z-index: 1;
    padding-top: 2.5rem !important;
}

.assessify-dashboard #layout-navbar .navbar-nav,
.assessify-dashboard #layout-navbar .navbar-nav a,
.assessify-dashboard #layout-navbar .top-summary {
    color: rgba(247, 251, 255, .82) !important;
}

/* Keep the account menu above the page and readable on its light surface. */
.assessify-dashboard #layout-navbar,
.assessify-dashboard #layout-navbar > .d-flex,
.assessify-dashboard #layout-navbar .navbar-nav,
.assessify-dashboard #layout-navbar .nav-item.dropdown {
    overflow: visible !important;
}

.assessify-dashboard #layout-navbar .dropdown-menu {
    z-index: 2000;
    min-width: 13rem;
    padding: .45rem 0;
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(121, 158, 178, .25);
    box-shadow: 0 18px 38px rgba(20, 55, 82, .2);
}

.assessify-dashboard #layout-navbar .dropdown-menu .dropdown-item {
    color: #315269 !important;
}

.assessify-dashboard #layout-navbar .dropdown-menu .dropdown-item:hover,
.assessify-dashboard #layout-navbar .dropdown-menu .dropdown-item:focus {
    color: #173752 !important;
    background: rgba(42, 178, 181, .1);
}

.assessify-dashboard #layout-navbar .dropdown-menu .text-muted {
    color: #7890a0 !important;
}

.assessify-dashboard #navbar-collapse {
    width: 100%;
}

.assessify-dashboard .open_close_menu {
    display: none !important;
}

@media (max-width: 767.98px) {
    .assessify-dashboard .layout-menu .menu-inner {
        padding-inline: .65rem !important;
    }

    .assessify-dashboard .layout-menu .menu-link {
        padding-inline: .65rem;
    }

    .assessify-dashboard #layout-navbar {
        width: 100% !important;
        margin: 0 !important;
    }
}

/* Evidence-strength score and transparent refund scenario. */
.assessify-dashboard .assessify-score-card { gap: .35rem; padding-top: .2rem; }
.assessify-dashboard .assessify-score-heading { display:flex; align-items:center; justify-content:center; gap:.35rem; color:#173752; font-size:.8rem; font-weight:800; }
.assessify-dashboard .assessify-tooltip { display:inline-grid; width:1.15rem; height:1.15rem; place-items:center; padding:0; color:#178d9a; background:#e3f8f6; border:1px solid rgba(23,141,154,.25); border-radius:50%; font-size:.62rem; font-weight:800; line-height:1; cursor:help; }
.assessify-dashboard .assessify-score-band { display:block; margin-top:.1rem; color:#178d9a; font-size:.9rem; text-align:center; }
.assessify-dashboard .score-band-insufficient .assessify-score-band { color:#70818b; }
.assessify-dashboard .score-band-limited .assessify-score-band { color:#a77a2f; }
.assessify-dashboard .score-band-developing .assessify-score-band { color:#9a762d; }
.assessify-dashboard .score-band-strong .assessify-score-band { color:#2b7f78; }
.assessify-dashboard .score-band-very-strong .assessify-score-band { color:#178d9a; }
.assessify-dashboard .assessify-score-description { max-width:19rem; margin:.35rem auto 0; color:#6b8193; font-size:.64rem; line-height:1.45; text-align:center; }
.assessify-dashboard .assessify-score-range { display:flex; align-items:center; justify-content:space-between; gap:.5rem; width:100%; margin-top:.55rem; padding-top:.55rem; border-top:1px solid rgba(121,158,178,.18); color:#6b8193; font-size:.62rem; }
.assessify-dashboard .assessify-score-range span { display:inline-flex; align-items:center; gap:.25rem; }
.assessify-dashboard .assessify-score-range strong { color:#173752; font-size:.7rem; white-space:nowrap; }
.assessify-dashboard .assessify-score-confidence { color:#7890a0; font-size:.61rem; text-align:center; }
.assessify-dashboard .assessify-score-confidence b { color:#178d9a; }
.assessify-dashboard .assessify-score-drivers { display:grid; gap:.25rem; width:100%; margin-top:.55rem; padding:.6rem .65rem; color:#6b8193; background:#f5fbfc; border:1px solid rgba(23,141,154,.12); border-radius:9px; font-size:.58rem; line-height:1.35; text-align:left; }
.assessify-dashboard .assessify-score-drivers strong { color:#173752; font-size:.62rem; }
.assessify-dashboard .assessify-score-drivers span::first-letter { color:#178d9a; }
.assessify-score-mobile-meter { display:none; width:100%; height:.55rem; overflow:hidden; background:#e8f0f2; border-radius:99px; }
.assessify-score-mobile-meter span { display:block; height:100%; background:linear-gradient(90deg,#4a9ab0,#178d9a); border-radius:99px; }
.assessify-dashboard .score-band-insufficient .assessify-score-mobile-meter span { background:#8b9aa1; }
.assessify-dashboard .score-band-limited .assessify-score-mobile-meter span,.assessify-dashboard .score-band-developing .assessify-score-mobile-meter span { background:#c39b4c; }
.assessify-dashboard .score-band-strong .assessify-score-mobile-meter span { background:#3b938c; }
.assessify-dashboard .score-band-very-strong .assessify-score-mobile-meter span { background:#178d9a; }
.assessify-dashboard .assessify-property-outlook { margin:.35rem 0 .75rem; padding:.65rem .7rem; background:#eff9f9; border:1px solid rgba(23,141,154,.15); border-radius:9px; }
.assessify-dashboard .assessify-property-outlook span,.assessify-dashboard .assessify-property-outlook strong,.assessify-dashboard .assessify-property-outlook small { display:block; }
.assessify-dashboard .assessify-property-outlook span { color:#7890a0; font-size:.59rem; }
.assessify-dashboard .assessify-property-outlook strong { margin:.15rem 0; color:#178d9a; font-size:.78rem; }
.assessify-dashboard .assessify-property-outlook small { color:#6b8193; font-size:.56rem; }
.assessify-dashboard .assessify-refund-scenario .card { background:linear-gradient(145deg,#fff,#f5fbfc)!important; border-color:rgba(23,141,154,.2)!important; }
.assessify-dashboard .assessify-refund-scenario .card-body { padding:1.15rem 1.25rem!important; }
.assessify-dashboard .assessify-refund-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.assessify-dashboard .assessify-refund-kicker { display:block; color:#178d9a; font-size:.6rem; font-weight:800; letter-spacing:.12em; }
.assessify-dashboard .assessify-refund-heading h5 { margin:.25rem 0 0; color:#173752; font-size:1rem; font-weight:800; }
.assessify-dashboard .assessify-refund-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin-top:1rem; }
.assessify-dashboard .assessify-refund-grid>div { padding:.8rem; background:#f7fbfc; border:1px solid rgba(121,158,178,.16); border-radius:9px; }
.assessify-dashboard .assessify-refund-grid span,.assessify-dashboard .assessify-refund-grid strong,.assessify-dashboard .assessify-refund-grid small { display:block; }
.assessify-dashboard .assessify-refund-grid span { color:#7890a0; font-size:.61rem; line-height:1.35; }
.assessify-dashboard .assessify-refund-grid strong { margin-top:.3rem; color:#173752; font-size:1rem; }
.assessify-dashboard .assessify-refund-grid small { margin-top:.2rem; color:#178d9a; font-size:.56rem; }
.assessify-dashboard .assessify-refund-grid .assessify-refund-featured { background:#e3f8f6; border-color:rgba(23,141,154,.25); }
.assessify-dashboard .assessify-refund-grid .assessify-refund-featured strong { color:#178d9a; }
.assessify-dashboard .assessify-refund-method { margin:.85rem 0 0; color:#7890a0; font-size:.62rem; line-height:1.55; }
@media (max-width: 767.98px) {
    .assessify-dashboard #meter-widget .gauge { display:none; }
    .assessify-dashboard .assessify-score-card br { display:none; }
    .assessify-score-mobile-meter { display:block; margin:.65rem 0 .25rem; }
    .assessify-dashboard .assessify-refund-grid { grid-template-columns:1fr; }
}

.assessify-dashboard .assessify-score-drivers span { display:grid; gap:.08rem; }
.assessify-dashboard .assessify-score-drivers span b { color:#31566d; font-size:.59rem; font-weight:800; }
.assessify-dashboard .assessify-score-drivers span small { color:#7890a0; font-size:.55rem; }
.assessify-dashboard .assessify-score-drivers>a { display:inline-flex; align-items:center; gap:.2rem; margin-top:.15rem; color:#178d9a; font-size:.59rem; font-weight:800; text-decoration:none; }
.assessify-dashboard .assessify-score-drivers>a:hover { color:#18506d; }
.assessify-dashboard .assessify-score-next { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; margin-top:.65rem; }
.assessify-dashboard .assessify-score-next a { display:inline-flex; align-items:center; justify-content:center; padding:.48rem .6rem; border-radius:7px; font-size:.57rem; font-weight:800; line-height:1.2; text-align:center; text-decoration:none; }
.assessify-dashboard .assessify-score-primary-cta { color:#fff; background:#178d9a; }
.assessify-dashboard .assessify-score-primary-cta:hover { color:#fff; background:#18506d; }
.assessify-dashboard .assessify-score-secondary-cta { color:#18506d; background:#edf7f8; border:1px solid rgba(23,141,154,.2); }
.assessify-dashboard .assessify-score-secondary-cta:hover { color:#178d9a; }
.assessify-dashboard .assessify-score-disclaimer { margin:.55rem 0 0; color:#8799a5; font-size:.52rem; line-height:1.4; text-align:center; }

/* Billing workspace */
.assessify-dashboard .billing-page {
    max-width: 1180px;
    min-height: calc(100vh - 8rem);
    margin: 0 auto 2rem;
    padding: 1.5rem 1.25rem 0;
    color: #173752;
}

/* Billing owns the full content area; remove the legacy container's bottom
   reserve so a short billing view does not leave a white strip underneath. */
.assessify-dashboard:has(.billing-page) .immersive-mode {
    padding-bottom: 0 !important;
}

.assessify-dashboard .billing-heading,
.assessify-dashboard .billing-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.assessify-dashboard .billing-heading {
    align-items: flex-end;
    margin-bottom: 1.5rem;
}

.assessify-dashboard .billing-eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: #178d9a;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.assessify-dashboard .billing-heading h1,
.assessify-dashboard .billing-panel h2 {
    margin: 0;
    color: #173752;
    font-weight: 800;
}

.assessify-dashboard .billing-heading h1 {
    font-size: clamp(1.7rem, 3vw, 2.35rem);
    letter-spacing: -.03em;
}

.assessify-dashboard .billing-heading p {
    margin: .45rem 0 0;
    color: #6d8498;
}

.assessify-dashboard .billing-help-link,
.assessify-dashboard .billing-text-link {
    color: #17808e;
    font-size: .82rem;
    font-weight: 700;
}

.assessify-dashboard .billing-alert {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
    padding: .75rem 1rem;
    color: #126a61;
    background: rgba(215, 249, 238, .86);
    border: 1px solid rgba(23, 141, 154, .25);
    border-radius: 12px;
}

.assessify-dashboard .billing-stat-grid,
.assessify-dashboard .billing-main-grid,
.assessify-dashboard .billing-lower-grid {
    display: grid;
    gap: 1rem;
}

.assessify-dashboard .billing-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.assessify-dashboard .billing-main-grid {
    grid-template-columns: 1.1fr .9fr;
    margin-bottom: 1rem;
}

.assessify-dashboard .billing-lower-grid {
    grid-template-columns: 1.1fr .9fr;
}

.assessify-dashboard .billing-stat-card,
.assessify-dashboard .billing-panel {
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(121, 158, 178, .28);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(42, 89, 113, .1), inset 0 1px 0 rgba(255, 255, 255, .9);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.assessify-dashboard .billing-stat-card {
    position: relative;
    min-height: 9rem;
    padding: 1.15rem;
}

.assessify-dashboard .billing-stat-icon {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    margin-bottom: .8rem;
    place-items: center;
    color: #147e8b;
    background: rgba(42, 178, 181, .12);
    border-radius: 10px;
    font-size: 1.2rem;
}

.assessify-dashboard .billing-stat-label {
    display: block;
    color: #6d8498;
    font-size: .75rem;
    font-weight: 700;
}

.assessify-dashboard .billing-stat-card strong {
    display: block;
    margin: .15rem 0;
    color: #173752;
    font-size: 1.35rem;
    font-weight: 800;
}

.assessify-dashboard .billing-stat-card small,
.assessify-dashboard .billing-empty-card small,
.assessify-dashboard .billing-card-row small {
    display: block;
    color: #8499aa;
    font-size: .72rem;
}

.assessify-dashboard .billing-panel {
    padding: 1.35rem;
}

.assessify-dashboard .billing-panel h2 {
    font-size: 1.2rem;
}

.assessify-dashboard .billing-status {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .6rem;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 800;
}

.assessify-dashboard .billing-status span {
    width: .42rem;
    height: .42rem;
    border-radius: 50%;
}

.assessify-dashboard .billing-status.is-active { color: #137d70; background: #dff8ed; }
.assessify-dashboard .billing-status.is-active span { background: #25ae7a; }
.assessify-dashboard .billing-status.is-paused { color: #9b6521; background: #fff0d2; }
.assessify-dashboard .billing-status.is-paused span { background: #e2a044; }

.assessify-dashboard .billing-plan-price {
    display: flex;
    align-items: baseline;
    gap: .35rem;
    margin: 1.5rem 0 1.15rem;
}

.assessify-dashboard .billing-plan-price strong {
    color: #173752;
    font-size: 2rem;
    font-weight: 800;
}

.assessify-dashboard .billing-plan-price span {
    color: #7b91a1;
    font-size: .75rem;
}

.assessify-dashboard .billing-detail-list {
    border-top: 1px solid rgba(99, 137, 158, .16);
}

.assessify-dashboard .billing-detail-list > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem 0;
    border-bottom: 1px solid rgba(99, 137, 158, .12);
    font-size: .78rem;
}

.assessify-dashboard .billing-detail-list span { color: #7b91a1; }
.assessify-dashboard .billing-detail-list strong { color: #244862; }

.assessify-dashboard .billing-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1.25rem;
}

.assessify-dashboard .billing-primary-button,
.assessify-dashboard .billing-secondary-button,
.assessify-dashboard .billing-danger-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.45rem;
    padding: .55rem .85rem;
    border-radius: 9px;
    font-size: .75rem;
    font-weight: 800;
    cursor: pointer;
}

.assessify-dashboard .billing-primary-button {
    color: #fff;
    background: #18506d;
    border: 1px solid #18506d;
}

.assessify-dashboard .billing-secondary-button {
    color: #176f7c;
    background: rgba(255, 255, 255, .55);
    border: 1px solid rgba(23, 141, 154, .35);
}

.assessify-dashboard .billing-secure-icon,
.assessify-dashboard .billing-muted-icon { color: #8aa1b0; font-size: 1.3rem; }

.assessify-dashboard .billing-card-row,
.assessify-dashboard .billing-empty-card {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 1.5rem 0 1.1rem;
    padding: .85rem;
    background: rgba(228, 243, 247, .65);
    border: 1px solid rgba(85, 153, 170, .18);
    border-radius: 12px;
}

.assessify-dashboard .billing-card-row strong,
.assessify-dashboard .billing-empty-card strong { display: block; color: #244862; font-size: .8rem; }
.assessify-dashboard .billing-card-brand,
.assessify-dashboard .billing-empty-card > span { color: #178d9a; font-size: 1.65rem; }
.assessify-dashboard .billing-card-row > i { margin-left: auto; color: #91a8b6; }

.assessify-dashboard .billing-invoice-list { margin-top: 1rem; }
.assessify-dashboard .billing-invoice-row { display: flex; align-items: center; justify-content: space-between; padding: .75rem 0; border-bottom: 1px solid rgba(99, 137, 158, .14); }
.assessify-dashboard .billing-invoice-row > span { display: grid; grid-template-columns: 1.7rem auto; column-gap: .45rem; align-items: center; }
.assessify-dashboard .billing-invoice-row > span > i { grid-row: 1 / span 2; color: #178d9a; font-size: 1.2rem; }
.assessify-dashboard .billing-invoice-row strong { color: #244862; font-size: .78rem; }
.assessify-dashboard .billing-invoice-row small { color: #8aa0af; font-size: .68rem; }
.assessify-dashboard .billing-paid { color: #168471; font-size: .7rem; }
.assessify-dashboard .billing-empty-state { display: flex; align-items: center; gap: .75rem; min-height: 5rem; color: #8aa0af; }
.assessify-dashboard .billing-empty-state i { color: #178d9a; font-size: 1.5rem; }
.assessify-dashboard .billing-empty-state p { margin: 0; font-size: .78rem; }

.assessify-dashboard .billing-cancel-panel { border-color: rgba(205, 118, 108, .25); }
.assessify-dashboard .billing-cancel-panel h2 { margin-top: .45rem; }
.assessify-dashboard .billing-cancel-panel p { margin: .65rem 0 1.2rem; color: #7b8793; font-size: .78rem; line-height: 1.55; }
.assessify-dashboard .billing-danger-button { color: #b1544b; background: rgba(255, 242, 239, .8); border: 1px solid rgba(190, 104, 92, .35); }
.assessify-dashboard .billing-payment-update-form { margin-top: 1rem; }
.assessify-dashboard .billing-payment-update-button { padding: 0; border: 0; cursor: pointer; font: inherit; }

@media (max-width: 850px) {
    .assessify-dashboard .billing-stat-grid,
    .assessify-dashboard .billing-main-grid,
    .assessify-dashboard .billing-lower-grid { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .assessify-dashboard .billing-page { padding: 1rem .7rem 0; }
    .assessify-dashboard .billing-heading { align-items: flex-start; flex-direction: column; }
    .assessify-dashboard .billing-panel { padding: 1rem; }
}

/* Support hub */
.public-contact-interior {
    padding-top: 70px;
    overflow-x: hidden;
}

.assessify-dashboard .support-page {
    max-width: 1120px;
    min-height: calc(100vh - 8rem);
    margin: 0 auto;
    padding: 1.5rem 1.25rem 3rem;
    color: #173752;
}

.assessify-dashboard .support-heading,
.assessify-dashboard .support-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.assessify-dashboard .support-heading {
    align-items: flex-end;
    margin-bottom: 1.5rem;
}

.assessify-dashboard .support-eyebrow {
    display: block;
    margin-bottom: .35rem;
    color: #178d9a;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.assessify-dashboard .support-heading h1,
.assessify-dashboard .support-ai-card h2,
.assessify-dashboard .support-form-card h2 {
    margin: 0;
    color: #173752;
    font-weight: 800;
}

.assessify-dashboard .support-heading h1 { font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -.03em; }
.assessify-dashboard .support-heading p { margin: .45rem 0 0; color: #6d8498; }
.assessify-dashboard .support-response-badge { color: #18776e; background: #e1f8ee; border: 1px solid #c4ecdd; border-radius: 999px; padding: .45rem .7rem; font-size: .72rem; font-weight: 700; }
.assessify-dashboard .support-alert { display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; padding: .75rem 1rem; color: #126a61; background: #e0f8ec; border: 1px solid #bfe9d8; border-radius: 12px; }
.assessify-dashboard .support-verification-card { display: flex; align-items: center; gap: .85rem; margin-bottom: 1rem; padding: .85rem 1rem; color: #244862; background: rgba(255, 255, 255, .76); border: 1px solid rgba(23, 141, 154, .24); border-radius: 14px; box-shadow: 0 8px 20px rgba(42, 89, 113, .07); }
.assessify-dashboard .support-verification-card .support-eyebrow { margin-bottom: .15rem; }
.assessify-dashboard .support-verification-card strong { display: block; font-size: .82rem; }
.assessify-dashboard .support-verification-card strong b { color: #178d9a; font-size: 1.08rem; letter-spacing: .14em; }
.assessify-dashboard .support-verification-card p { margin: .2rem 0 0; color: #7890a0; font-size: .72rem; }
.assessify-dashboard .support-verification-icon { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 2.35rem; place-items: center; color: #178d9a; background: #e2f8f5; border-radius: 10px; font-size: 1.25rem; }

.assessify-dashboard .support-main-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 1rem; }
.assessify-dashboard .support-ai-card,
.assessify-dashboard .support-form-card,
.assessify-dashboard .support-tip { border: 1px solid rgba(121, 158, 178, .28); border-radius: 18px; box-shadow: 0 12px 30px rgba(42, 89, 113, .1), inset 0 1px 0 rgba(255, 255, 255, .9); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.assessify-dashboard .support-ai-card { position: relative; overflow: hidden; padding: 1.5rem; background: linear-gradient(145deg, rgba(23, 80, 109, .94), rgba(23, 141, 154, .9)); color: #fff; }
.assessify-dashboard .support-ai-card::after { content: ""; position: absolute; width: 14rem; height: 14rem; right: -5rem; bottom: -6rem; border-radius: 50%; background: rgba(255, 255, 255, .13); }
.assessify-dashboard .support-ai-card .support-eyebrow { color: #a6f0ee; }
.assessify-dashboard .support-ai-card h2 { position: relative; z-index: 1; color: #fff; font-size: 1.65rem; }
.assessify-dashboard .support-ai-card p { position: relative; z-index: 1; max-width: 26rem; margin: .65rem 0 1.4rem; color: rgba(255, 255, 255, .78); line-height: 1.6; }
.assessify-dashboard .support-ai-orb { display: grid; width: 3rem; height: 3rem; margin-bottom: 1.15rem; place-items: center; padding: .24rem; background: #d9fbfa; border: 2px solid rgba(255, 255, 255, .72); border-radius: 14px; box-shadow: 0 8px 18px rgba(0, 30, 48, .16); }
.assessify-dashboard .support-ai-orb img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: center; }
.assessify-dashboard .support-ai-button { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: .45rem; padding: .68rem .95rem; color: #18506d; background: #fff; border-radius: 9px; font-size: .8rem; font-weight: 800; }
.assessify-dashboard .support-ai-note { position: relative; z-index: 1; display: flex; align-items: center; gap: .35rem; margin-top: 1.15rem; color: rgba(255, 255, 255, .7); font-size: .7rem; }
.assessify-dashboard .support-form-card { padding: 1.5rem; background: rgba(255, 255, 255, .82); }
.assessify-dashboard .support-form-card h2 { font-size: 1.25rem; }
.assessify-dashboard .support-card-icon { color: #178d9a; font-size: 1.45rem; }
.assessify-dashboard .support-form { margin-top: 1.2rem; }
.assessify-dashboard .support-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.assessify-dashboard .support-form label { display: block; margin-bottom: .8rem; color: #48647b; font-size: .75rem; font-weight: 700; }
.assessify-dashboard .support-form input,
.assessify-dashboard .support-form textarea { display: block; width: 100%; margin-top: .32rem; padding: .65rem .75rem; color: #1d3e58; background: rgba(247, 252, 253, .82); border: 1px solid rgba(105, 149, 169, .25); border-radius: 9px; outline: none; font: inherit; font-size: .8rem; resize: vertical; }
.assessify-dashboard .support-form input:focus,
.assessify-dashboard .support-form textarea:focus { border-color: #38aab0; box-shadow: 0 0 0 3px rgba(56, 170, 176, .12); }
.assessify-dashboard .support-submit-button { display: inline-flex; align-items: center; gap: .45rem; padding: .68rem 1rem; color: #fff; background: #18506d; border: 0; border-radius: 9px; font-size: .8rem; font-weight: 800; cursor: pointer; }
.assessify-dashboard .support-errors { margin-bottom: .75rem; padding: .55rem .7rem; color: #a44b44; background: #fff0ee; border-radius: 8px; font-size: .75rem; }
.assessify-dashboard .support-footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.assessify-dashboard .support-tip { display: flex; align-items: center; gap: .75rem; padding: 1rem; background: rgba(255, 255, 255, .7); }
.assessify-dashboard .support-tip > i { color: #178d9a; font-size: 1.45rem; }
.assessify-dashboard .support-tip strong { display: block; color: #244862; font-size: .8rem; }
.assessify-dashboard .support-tip span { display: block; margin-top: .2rem; color: #7b91a1; font-size: .72rem; }
.assessify-dashboard .support-tip a { margin-left: auto; color: #178d9a; }
.assessify-dashboard .support-tickets-panel { margin-top: 1rem; padding: 1.35rem; background: rgba(255, 255, 255, .8); border: 1px solid rgba(121, 158, 178, .28); border-radius: 18px; box-shadow: 0 12px 30px rgba(42, 89, 113, .1), inset 0 1px 0 rgba(255, 255, 255, .9); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.assessify-dashboard .support-tickets-panel h2 { margin: 0; color: #173752; font-size: 1.2rem; font-weight: 800; }
.assessify-dashboard .support-ticket-count { padding: .38rem .62rem; color: #176c78; background: rgba(42, 178, 181, .12); border-radius: 999px; font-size: .7rem; font-weight: 800; }
.assessify-dashboard .support-tickets-intro { margin: -.45rem 0 1rem; color: #6d8498; font-size: .78rem; line-height: 1.55; }
.assessify-dashboard .support-tickets-empty { display: flex; align-items: center; gap: .75rem; padding: 1rem; color: #315269; background: rgba(242, 249, 250, .78); border: 1px solid rgba(121, 158, 178, .18); border-radius: 12px; }
.assessify-dashboard .support-tickets-empty > i { color: #178d9a; font-size: 1.45rem; }
.assessify-dashboard .support-tickets-empty strong, .assessify-dashboard .support-tickets-empty span { display: block; }
.assessify-dashboard .support-tickets-empty strong { font-size: .8rem; }
.assessify-dashboard .support-tickets-empty span { margin-top: .18rem; color: #7890a0; font-size: .72rem; }
.assessify-dashboard .support-ticket-list { display: grid; gap: .7rem; }
.assessify-dashboard .support-ticket-card { padding: 1rem; background: rgba(247, 252, 253, .78); border: 1px solid rgba(121, 158, 178, .2); border-radius: 13px; }
.assessify-dashboard .support-ticket-card-top, .assessify-dashboard .support-ticket-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.assessify-dashboard .support-ticket-number { color: #178d9a; font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.assessify-dashboard .support-ticket-status { padding: .28rem .55rem; border-radius: 999px; font-size: .64rem; font-weight: 800; }
.assessify-dashboard .support-ticket-status--sent { color: #176c60; background: #e0f8ec; }
.assessify-dashboard .support-ticket-status--pending { color: #806b2c; background: #fff7d9; }
.assessify-dashboard .support-ticket-status--failed { color: #a44b44; background: #fff0ee; }
.assessify-dashboard .support-ticket-card h3 { margin: .65rem 0 .35rem; color: #244862; font-size: .86rem; font-weight: 800; }
.assessify-dashboard .support-ticket-card p { margin: 0; color: #6d8498; font-size: .76rem; line-height: 1.55; }
.assessify-dashboard .support-ticket-chat { display: grid; gap: .65rem; margin-top: .95rem; }
.assessify-dashboard .support-chat-message { max-width: 88%; padding: .8rem .9rem; border: 1px solid rgba(121, 158, 178, .2); border-radius: 14px; box-shadow: 0 5px 14px rgba(42, 89, 113, .05); }
.assessify-dashboard .support-chat-message--client { justify-self: end; color: #eafafa; background: linear-gradient(145deg, #18506d, #178d9a); border-color: rgba(23, 141, 154, .32); border-bottom-right-radius: 5px; }
.assessify-dashboard .support-chat-message--support { justify-self: start; color: #315269; background: rgba(255, 255, 255, .9); border-bottom-left-radius: 5px; }
.assessify-dashboard .support-chat-message-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin-bottom: .35rem; }
.assessify-dashboard .support-chat-message-heading strong { color: inherit; font-size: .7rem; font-weight: 800; }
.assessify-dashboard .support-chat-message-heading time { color: inherit; opacity: .68; font-size: .62rem; white-space: nowrap; }
.assessify-dashboard .support-chat-message p { color: inherit; opacity: .9; white-space: pre-wrap; overflow-wrap: anywhere; }
.assessify-dashboard .support-ticket-reply-form { display: grid; gap: .55rem; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid rgba(121, 158, 178, .16); }
.assessify-dashboard .support-ticket-reply-form label { color: #48647b; font-size: .72rem; font-weight: 800; }
.assessify-dashboard .support-ticket-reply-form textarea { display: block; width: 100%; margin-top: .3rem; padding: .65rem .75rem; color: #1d3e58; background: rgba(255, 255, 255, .84); border: 1px solid rgba(105, 149, 169, .25); border-radius: 9px; outline: none; font: inherit; font-size: .78rem; resize: vertical; }
.assessify-dashboard .support-ticket-reply-form textarea:focus { border-color: #38aab0; box-shadow: 0 0 0 3px rgba(56, 170, 176, .12); }
.assessify-dashboard .support-ticket-reply-form .support-submit-button { justify-self: end; }
.assessify-dashboard .support-ticket-card-bottom { margin-top: .85rem; padding-top: .7rem; border-top: 1px solid rgba(121, 158, 178, .16); color: #7890a0; font-size: .68rem; }
.assessify-dashboard .support-ticket-card-bottom i { color: #178d9a; }
.assessify-dashboard .support-feedback-card { margin-top: 1rem; padding: 1.2rem 1.35rem; background: rgba(255,255,255,.78); border: 1px solid rgba(23,141,154,.2); border-radius: 16px; box-shadow: 0 10px 24px rgba(42,89,113,.06); }
.assessify-dashboard .support-feedback-card > p { margin: -.45rem 0 1rem; color: #6d8498; font-size: .78rem; line-height: 1.6; }
.assessify-dashboard .support-feedback-form { display: grid; grid-template-columns: minmax(180px,.45fr) 1fr auto; align-items: end; gap: .75rem; }
.assessify-dashboard .support-feedback-form label { color: #48647b; font-size: .72rem; font-weight: 700; }
.assessify-dashboard .support-feedback-form select, .assessify-dashboard .support-feedback-form textarea { display: block; width: 100%; margin-top: .3rem; padding: .62rem .7rem; color: #315269; background: #f7fcfd; border: 1px solid #dbe7eb; border-radius: 8px; font: inherit; font-size: .75rem; }
.assessify-dashboard .support-feedback-form textarea { resize: vertical; }

/* Keep uploaded profile photos centered and clipped inside the menu avatar. */
.assessify-dashboard #layout-navbar .avatar-initial { overflow: hidden; }
.assessify-dashboard #layout-navbar .dashboard-profile-avatar { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }

/* Profile and account security */
.assessify-dashboard .profile-page { max-width: 1120px; min-height: calc(100vh - 8rem); margin: 0 auto; padding: 1.5rem 1.25rem 3rem; color: #173752; }
.assessify-dashboard .profile-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.assessify-dashboard .profile-heading h1, .assessify-dashboard .profile-panel h2 { margin: 0; color: #173752; font-weight: 800; }
.assessify-dashboard .profile-heading h1 { font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -.03em; }
.assessify-dashboard .profile-heading p { margin: .45rem 0 0; color: #6d8498; }
.assessify-dashboard .profile-eyebrow { display: block; margin-bottom: .35rem; color: #178d9a; font-size: .66rem; font-weight: 800; letter-spacing: .14em; }
.assessify-dashboard .profile-avatar-large { width: 4.25rem; height: 4.25rem; padding: .18rem; background: rgba(255, 255, 255, .72); border: 1px solid rgba(121, 158, 178, .3); border-radius: 50%; box-shadow: 0 10px 24px rgba(42, 89, 113, .14); }
.assessify-dashboard .profile-avatar-large img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.assessify-dashboard .profile-alert { display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; padding: .75rem 1rem; color: #126a61; background: rgba(224, 248, 236, .9); border: 1px solid #bfe9d8; border-radius: 12px; }
.assessify-dashboard .profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.assessify-dashboard .profile-security-grid { margin-top: 1rem; }
.assessify-dashboard .profile-panel { padding: 1.35rem; background: rgba(255, 255, 255, .8); border: 1px solid rgba(121, 158, 178, .28); border-radius: 18px; box-shadow: 0 12px 30px rgba(42, 89, 113, .1), inset 0 1px 0 rgba(255, 255, 255, .9); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.assessify-dashboard .profile-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.15rem; }
.assessify-dashboard .profile-panel h2 { font-size: 1.2rem; }
.assessify-dashboard .profile-panel-icon { color: #178d9a; font-size: 1.45rem; }
.assessify-dashboard .profile-danger-icon { color: #c16a63; font-size: 1.45rem; }
.assessify-dashboard .profile-detail-list { display: grid; gap: .72rem; }
.assessify-dashboard .profile-detail-list > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .72rem; border-bottom: 1px solid rgba(121, 158, 178, .16); }
.assessify-dashboard .profile-detail-list span { color: #7890a0; font-size: .76rem; }
.assessify-dashboard .profile-detail-list strong { color: #315269; font-size: .8rem; text-align: right; }
.assessify-dashboard .profile-info-note { display: flex; align-items: flex-start; gap: .5rem; margin-top: 1rem; padding: .7rem .8rem; color: #597489; background: rgba(228, 246, 247, .7); border-radius: 10px; font-size: .72rem; line-height: 1.45; }
.assessify-dashboard .profile-info-note i { flex: 0 0 auto; color: #178d9a; font-size: 1rem; }
.assessify-dashboard .profile-form { display: grid; gap: .72rem; }
.assessify-dashboard .profile-form label { color: #48647b; font-size: .75rem; font-weight: 700; }
.assessify-dashboard .profile-form input { display: block; width: 100%; margin-top: .3rem; padding: .65rem .75rem; color: #1d3e58; background: rgba(247, 252, 253, .82); border: 1px solid rgba(105, 149, 169, .25); border-radius: 9px; outline: none; font: inherit; font-size: .8rem; }
.assessify-dashboard .profile-form input:focus { border-color: #38aab0; box-shadow: 0 0 0 3px rgba(56, 170, 176, .12); }
.assessify-dashboard .profile-primary-button, .assessify-dashboard .profile-secondary-button, .assessify-dashboard .profile-danger-button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; padding: .68rem .95rem; border: 0; border-radius: 9px; font-size: .78rem; font-weight: 800; cursor: pointer; }
.assessify-dashboard .profile-primary-button { color: #fff; background: #18506d; }
.assessify-dashboard .profile-secondary-button { color: #176c78; background: rgba(42, 178, 181, .12); }
.assessify-dashboard .profile-errors { padding: .55rem .7rem; color: #a44b44; background: #fff0ee; border-radius: 8px; font-size: .75rem; }
.assessify-dashboard .profile-panel-copy { margin: -.45rem 0 1.1rem; color: #6d8498; font-size: .8rem; line-height: 1.55; }
.assessify-dashboard .profile-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.assessify-dashboard .profile-toggle-row strong, .assessify-dashboard .profile-toggle-row span { display: block; }
.assessify-dashboard .profile-toggle-row strong { color: #315269; font-size: .82rem; }
.assessify-dashboard .profile-toggle-row span { margin-top: .2rem; color: #7890a0; font-size: .72rem; }
.assessify-dashboard .profile-danger-panel { border-color: rgba(193, 106, 99, .25); }
.assessify-dashboard .profile-danger-button { color: #a44b44; background: rgba(193, 106, 99, .12); }

@media (max-width: 800px) {
    .assessify-dashboard .support-main-grid,
    .assessify-dashboard .support-footer-grid,
    .assessify-dashboard .profile-grid { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .assessify-dashboard .support-page { padding: 1rem .7rem 2rem; }
    .assessify-dashboard .support-heading { align-items: flex-start; flex-direction: column; }
    .assessify-dashboard .support-form-card,
    .assessify-dashboard .support-ai-card,
    .assessify-dashboard .profile-panel { padding: 1rem; }
    .assessify-dashboard .support-form-row { grid-template-columns: 1fr; gap: 0; }
    .assessify-dashboard .profile-page { padding: 1rem .7rem 2rem; }
    .assessify-dashboard .profile-heading { align-items: flex-start; }
    .assessify-dashboard .profile-toggle-row { align-items: flex-start; flex-direction: column; }
    .assessify-dashboard .support-feedback-card { padding: 1rem; }
    .assessify-dashboard .support-feedback-form { grid-template-columns: 1fr; align-items: stretch; }
}

/* Comparison grid: turn the legacy Bootstrap columns into a readable matrix. */
.assessify-dashboard #grid-widget .card-body {
    padding: 0 !important;
}

.assessify-dashboard #grid-widget .row.margin-10.flex-nowrap {
    align-items: stretch;
    gap: .30rem;
    margin: 0 !important;
    padding: 1rem;
    overflow-x: auto;
    scrollbar-color: rgba(23, 141, 154, .45) transparent;
}

/* Once the deferred response is inserted, the loader itself must stop being
   a flex row; otherwise the matrix and its summary become side-by-side items. */
.assessify-dashboard #grid-widget .comparison-matrix-deferred:has(.adjustment-value-label) {
    display: block;
    min-height: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.assessify-dashboard #grid-widget .grid-area {
    flex: 0 0 245px;
    width: 245px !important;
    max-width: 245px !important;
    min-width: 245px;
    padding: 0 !important;
    overflow: hidden;
    color: #203b59;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(116, 153, 177, .28) !important;
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(51, 91, 119, .1), inset 0 1px 0 rgba(255, 255, 255, .9);
}

.assessify-dashboard #grid-widget .grid-area-subject {
    flex: 0 0 245px;
    flex-basis: 245px;
    width: 245px !important;
    max-width: 245px !important;
    min-width: 245px;
    background: rgba(235, 249, 249, .86);
    border-color: rgba(23, 141, 154, .36) !important;
}

.assessify-dashboard #grid-widget .grid-area > .row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-content: start;
    margin: 0 !important;
}

.assessify-dashboard #grid-widget .grid-area-subject > .row {
    grid-template-columns: 1.35fr 1fr 1.7fr;
}

.assessify-dashboard #grid-widget .grid-area > .row > [class*="col-"] {
    display: flex;
    align-items: center;
    width: auto !important;
    max-width: none !important;
    min-height: 2.2rem !important;
    margin: 0 !important;
    padding: .48rem .6rem !important;
    /* Replace the legacy per-cell outline with the same horizontal matrix
       separator used by every column. The card itself remains outlined. */
    box-sizing: border-box;
    border: 0 !important;
    border-bottom: 1px solid rgba(113, 145, 165, .17) !important;
    font-size: .72rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.assessify-dashboard #grid-widget .grid-area > .row > .col-12 {
    grid-column: 1 / -1;
    justify-content: center;
    min-height: 3rem !important;
    color: #174f72;
    background: rgba(196, 232, 238, .48);
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.assessify-dashboard #grid-widget .grid-area-subject > .row > .col-4 {
    grid-column: 1;
}

.assessify-dashboard #grid-widget .grid-area-subject > .row > .col-3 {
    grid-column: 2;
}

.assessify-dashboard #grid-widget .grid-area-subject > .row > .col-5 {
    grid-column: 3;
}

.assessify-dashboard #grid-widget .grid-area-subject > .row > .col-4:nth-child(1),
.assessify-dashboard #grid-widget .grid-area-subject > .row > .col-3:nth-child(2),
.assessify-dashboard #grid-widget .grid-area-subject > .row > .col-5:nth-child(3) {
    min-height: 3rem !important;
    color: #174f72;
    background: rgba(196, 232, 238, .48);
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
}

/* Comparable cards use a full-width 3rem distance row. Give the subject's
   corresponding proximity row the same track so the separators stay aligned
   before the shared row-height synchronizer runs. */
.assessify-dashboard #grid-widget .grid-area-subject > .row > [class*="col-"]:nth-child(n+10):nth-child(-n+12) {
    min-height: 3rem !important;
}

.assessify-dashboard #grid-widget .grid-area > .row > .min-height-50 {
    min-height: 3.05rem !important;
}

.assessify-dashboard #grid-widget .grid-area > .row > .min-height-25 {
    min-height: 2.2rem !important;
}

.assessify-dashboard #grid-widget .grid-area a {
    color: #138493;
    font-weight: 700;
}

.assessify-dashboard #grid-widget .grid-area .blur {
    color: #7190a5 !important;
    filter: blur(3px);
    user-select: none;
}

.assessify-dashboard #grid-widget .adjustment-value-label {
    flex: 0 0 auto;
    width: 100% !important;
    color: #153c5a;
    font-size: 1.18rem;
    font-weight: 800;
    letter-spacing: .01em;
}

.assessify-dashboard #grid-widget .adjustment-value-label + .align-left {
    flex: 0 0 auto;
    width: 100% !important;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    color: #137d89;
    font-size: 1.4rem;
    font-weight: 800;
    max-width: 100%;
    box-sizing: border-box;
}

.assessify-dashboard #grid-widget .row.m-2:has(.adjustment-value-label) {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box;
    gap: 1rem;
    margin: 1.25rem !important;
    padding: 1rem 1.25rem;
    border: 1px solid rgba(23, 141, 154, .34);
    border-radius: 16px;
    background: rgba(239, 252, 252, .86);
    box-shadow: 0 10px 26px rgba(32, 91, 111, .14), inset 0 1px 0 rgba(255, 255, 255, .95);
}

.assessify-dashboard #grid-widget .adjustment-value-label + .align-left .green,
.assessify-dashboard #grid-widget .adjustment-value-label + .align-left .red {
    font-size: clamp(1.55rem, 2.5vw, 2.2rem);
    line-height: 1;
    letter-spacing: -.02em;
}

.assessify-dashboard #grid-widget .adjustment-value-label + .align-left .small-font {
    font-size: .78rem;
    font-weight: 700;
}

.assessify-dashboard #grid-widget .report-data-btn {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    margin: 0;
    padding: .7rem 1rem;
    color: #fff !important;
    background: linear-gradient(135deg, #18506d, #178d9a) !important;
    border: 0 !important;
    border-radius: 10px;
    box-shadow: 0 8px 18px rgba(23, 93, 116, .2);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.1;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.assessify-dashboard #grid-widget .report-data-btn:hover,
.assessify-dashboard #grid-widget .report-data-btn:focus-visible {
    color: #fff !important;
    background: linear-gradient(135deg, #123e58, #147d88) !important;
    box-shadow: 0 11px 24px rgba(23, 93, 116, .27);
    transform: translateY(-1px);
}

.assessify-dashboard #grid-widget .adjustment-value-label + .align-left .report-data-btn {
    margin-left: auto;
}

@media (max-width: 600px) {
    .assessify-dashboard #grid-widget .adjustment-value-label + .align-left .report-data-btn {
        width: 100%;
        margin: .35rem 0 0;
    }
}

/* Property summary card: clear hierarchy for address, score, and facts. */
.assessify-dashboard #info-widget .card {
    min-height: 100%;
    background: rgba(255, 255, 255, .82) !important;
    border-color: rgba(73, 137, 158, .28) !important;
}

.assessify-dashboard #info-widget .small-widgets {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: 1.35rem !important;
}

.assessify-dashboard #info-widget .widget-options {
    top: .85rem;
    right: .9rem;
}

.assessify-dashboard #info-widget .card-title.text-primary {
    max-width: calc(100% - 1rem);
    margin: 0;
    color: #145f78 !important;
    font-size: clamp(1rem, 1.7vw, 1.25rem);
    font-weight: 800;
    line-height: 1.25;
}

.assessify-dashboard #info-widget .card-body h4 {
    margin: .15rem 0 .65rem;
    color: #607991;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.assessify-dashboard #info-widget .card-body > p {
    display: flex;
    align-items: center;
    min-height: 2.7rem;
    margin: 0 0 .8rem !important;
    padding: .65rem .8rem;
    color: #23425d;
    background: linear-gradient(100deg, rgba(41, 174, 176, .13), rgba(110, 189, 217, .1));
    border: 1px solid rgba(41, 156, 166, .2);
    border-radius: 11px;
    font-size: .82rem;
}

.assessify-dashboard #info-widget .property-icons {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .4rem;
    margin: 0 !important;
}

.assessify-dashboard #info-widget .property-icons > div {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    width: 100% !important;
    min-height: 2.7rem;
    padding: .4rem .45rem !important;
    background: rgba(232, 247, 249, .68);
    border: 1px solid rgba(85, 153, 170, .18);
    border-radius: 10px;
}

.assessify-dashboard #info-widget .property-icons i {
    grid-row: 1 / -1;
    width: 1.15rem;
    margin-right: .25rem;
    color: #168a98 !important;
    font-size: .9rem;
    text-align: center;
}

.assessify-dashboard #info-widget .property-icons h4 {
    margin: 0;
    color: #21425d !important;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: 0;
}

.assessify-dashboard #info-widget .property-icons > div::after {
    content: attr(title);
    grid-column: 2;
    color: #7590a2;
    font-size: .56rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
}

/* Score hero: make the meter feel intentional and proportional to the property card. */
.assessify-dashboard #meter-widget {
    align-self: stretch;
}

.assessify-dashboard #meter-widget .card {
    height: 100%;
    min-height: 14rem;
    background: linear-gradient(145deg, rgba(232, 249, 250, .9), rgba(255, 255, 255, .78)) !important;
    border-color: rgba(23, 141, 154, .32) !important;
}

.assessify-dashboard #meter-widget .card-body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 14rem;
    padding: 1rem !important;
}

.assessify-dashboard #meter-widget .gauge-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: .5rem 0 0;
}

.assessify-dashboard #meter-widget .gauge-wrapper > label {
    margin-bottom: .7rem;
    color: #42637b !important;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-align: center;
}

.assessify-dashboard #meter-widget .gauge-wrapper > label b {
    color: #138d99 !important;
    font-size: 1.05rem;
}

.assessify-dashboard #meter-widget .gauge {
    width: 200px;
    height: 100px;
    transform: scale(1.1);
    transform-origin: center bottom;
    margin-bottom: .55rem;
    box-shadow: 0 -4px 12px rgba(19, 82, 103, .22);
}

.assessify-dashboard #meter-widget .gauge-center {
    background: #183b55;
    box-shadow: 0 -10px 18px -10px rgba(0, 38, 57, .6);
}

.assessify-dashboard #meter-widget .gauge-center .label {
    color: rgba(255, 255, 255, .72);
}

.assessify-dashboard #meter-widget .gauge-center .number {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: .03em;
}

@media (max-width: 767.98px) {
    .assessify-dashboard #info-widget .small-widgets {
        padding: 1rem !important;
    }

    .assessify-dashboard #info-widget .property-icons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .assessify-dashboard #grid-widget .row.margin-10.flex-nowrap {
        padding: .7rem;
    }

    .assessify-dashboard #grid-widget .grid-area {
        flex-basis: 215px;
        width: 215px !important;
        min-width: 215px;
    }

    .assessify-dashboard #grid-widget .grid-area-subject {
        flex: 0 0 215px;
        flex-basis: 215px;
        width: 215px !important;
        max-width: 215px !important;
        min-width: 215px;
    }

    .assessify-dashboard #grid-widget .row.m-2:has(.adjustment-value-label) {
        align-items: flex-start;
        flex-direction: column;
        margin: 1rem .7rem !important;
    }

    .assessify-dashboard #grid-widget .adjustment-value-label + .align-left {
        width: 100% !important;
    }
}

@media (max-width: 1199.98px) {
    .assessify-dashboard #layout-navbar {
        top: .75rem;
        border-radius: 8px;
    }
}

@media (max-width: 767.98px) {
    .assessify-dashboard .immersive-mode {
        padding-top: 1rem;
    }

    .assessify-dashboard #layout-navbar {
        min-height: 4rem;
    }

    .assessify-dashboard .search-bar-top {
        max-width: 12rem;
    }

    .assessify-dashboard .card {
        border-radius: 8px !important;
    }
}

@media (prefers-reduced-transparency: reduce) {
    .assessify-dashboard .layout-menu,
    .assessify-dashboard .layout-navbar,
    .assessify-dashboard .card {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}

/* Mobile dashboard usability: keep controls tappable and let the dense
   analysis areas scroll only where a comparison matrix genuinely needs it. */
@media (max-width: 600px) {
    /* Prevent the horizontal navigation strip or wide legacy widgets from
       expanding the document itself. Individual comparison areas keep their
       own touch-scrolling container where needed. */
    .assessify-dashboard {
        overflow-x: hidden !important;
    }

    .assessify-dashboard .layout-wrapper,
    .assessify-dashboard .layout-container,
    .assessify-dashboard .layout-page,
    .assessify-dashboard .content-wrapper {
        max-width: 100vw !important;
        overflow-x: hidden;
    }

    .assessify-dashboard .layout-menu {
        max-height: none;
    }

    .assessify-dashboard .layout-menu .menu-inner {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        gap: .2rem;
        min-height: 0;
        padding: .4rem .55rem !important;
        overflow: hidden;
    }

    .assessify-dashboard .layout-menu .menu-item {
        min-width: 0;
    }

    .assessify-dashboard .layout-menu .menu-link {
        width: 100% !important;
        min-width: 0;
        margin: 0;
        padding: .45rem .55rem;
        overflow: hidden;
        font-size: .78rem;
    }

    .assessify-dashboard .layout-menu .menu-link > div {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* The navbar is deliberately a two-row phone toolbar: search first,
       account/help controls second. This avoids Bootstrap's desktop flex
       sizing clipping the input and the credit balance. */
    .assessify-dashboard #layout-navbar {
        min-height: 0 !important;
        height: auto !important;
        overflow: visible !important;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse {
        display: flex !important;
        align-items: stretch;
        flex-direction: column;
        flex-wrap: wrap;
        gap: .35rem;
        padding: .55rem .65rem .65rem;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse > .navbar-nav:first-child {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        width: 100%;
        min-height: 2.5rem;
        min-width: 0;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse > .navbar-nav:first-child .app-brand-link {
        display: none;
    }

    .assessify-dashboard .dashboard-search-wrap,
    .assessify-dashboard .search-bar-top {
        width: 100%;
        max-width: none !important;
        min-width: 0;
    }

    .assessify-dashboard .dashboard-search-wrap {
        flex: 1 1 auto;
    }

    .assessify-dashboard .search-bar-top {
        height: 2.5rem;
        min-height: 2.5rem;
        padding: .55rem .75rem;
        font-size: .86rem;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse > .navbar-nav:last-child {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        width: 100%;
        min-width: 0;
        min-height: 2.25rem;
        justify-content: flex-end;
        flex-wrap: nowrap;
        gap: .2rem;
        overflow: hidden;
    }

    .assessify-dashboard #layout-navbar .top-summary {
        display: inline-flex;
        align-items: center;
        margin: 0 !important;
        padding: .25rem .35rem !important;
        font-size: .68rem;
        white-space: nowrap;
    }

    .assessify-dashboard #layout-navbar .dashboard-register-item,
    .assessify-dashboard #layout-navbar .dashboard-register-button {
        font-size: .68rem;
    }

    /* The horizontal menu already contains Register for guests; avoid a
       second copy in the compact account-controls row. */
    .assessify-dashboard #layout-navbar .dashboard-register-item {
        display: none;
    }

    .assessify-dashboard #layout-navbar .navbar-nav:last-child > span {
        display: none;
    }

    .assessify-dashboard #layout-navbar .dashboard-tour-trigger {
        min-width: 2.25rem;
        min-height: 2.25rem;
        padding: .35rem;
    }

    .assessify-dashboard #layout-navbar .dashboard-tour-trigger span {
        display: none;
    }

    .assessify-dashboard #layout-navbar .dropdown-user .nav-link {
        padding: .15rem .25rem;
    }

    .assessify-dashboard #layout-navbar .dropdown-user img {
        width: 2rem;
        height: 2rem;
    }

    .assessify-dashboard .map-widget #map {
        height: 320px !important;
    }

    .assessify-dashboard #comparable-widget,
    .assessify-dashboard #roll-widget {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    .assessify-dashboard .wizard-dashboard-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .assessify-dashboard .wizard-dashboard-edit {
        justify-content: center;
    }
}

.dt-search input
{
    margin-right:10px !important;
}

/* Dashboard card alignment: keep the summary, funnel, map, and analysis
   sections in a predictable rhythm instead of mixing nested Bootstrap widths. */
.assessify-dashboard .dashboard-analysis-layout,
.assessify-dashboard .dashboard-matrix-layout,
.assessify-dashboard .dashboard-history-layout {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin-right: 0;
    margin-left: 0;
}

.assessify-dashboard .dashboard-analysis-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(20rem, .9fr);
    gap: 1.25rem;
    align-items: start;
    margin-bottom: 1.25rem;
}

.assessify-dashboard .dashboard-analysis-layout > .first-card,
.assessify-dashboard .dashboard-analysis-layout > .funnel-widget,
.assessify-dashboard .dashboard-analysis-layout > .map-widget,
.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding-right: 0;
    padding-left: 0;
}

.assessify-dashboard .dashboard-summary-grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 1rem;
    margin: 0;
}

.assessify-dashboard .dashboard-summary-grid > .meter-widget,
.assessify-dashboard .dashboard-summary-grid > .info-widget {
    width: 100%;
    margin: 0 !important;
    padding-right: 0;
    padding-left: 0;
}

.assessify-dashboard .dashboard-analysis-layout > .map-widget,
.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    margin: 0 !important;
    padding-right: 0;
    padding-left: 0;
}

.assessify-dashboard .dashboard-summary-grid > .meter-widget .card,
.assessify-dashboard .dashboard-summary-grid > .info-widget .card {
    height: 100%;
}

.assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card {
    height: auto;
    min-height: 0;
}

.assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
    grid-column: 2;
    grid-row: 1;
}

.assessify-dashboard .dashboard-analysis-layout > .map-widget {
    grid-row: 2;
}

.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario {
    grid-column: 2;
    grid-row: 2;
}

.assessify-dashboard .dashboard-matrix-layout > #grid-widget {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding-right: 0;
    padding-left: 0;
}

.assessify-dashboard .dashboard-matrix-layout {
    margin-bottom: 1.25rem;
}

.assessify-dashboard .dashboard-history-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    align-items: stretch;
}

.assessify-dashboard .dashboard-history-layout > #comparable-widget,
.assessify-dashboard .dashboard-history-layout > #roll-widget {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding-right: 0;
    padding-left: 0;
}

.assessify-dashboard .dashboard-history-layout > #comparable-widget .card,
.assessify-dashboard .dashboard-history-layout > #roll-widget .card {
    height: 100%;
}

.assessify-dashboard .dashboard-history-layout > #roll-widget > .row {
    height: 100%;
    margin: 0;
}

@media (max-width: 991.98px) {
    .assessify-dashboard .dashboard-analysis-layout {
        grid-template-columns: 1fr;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        grid-column: 1;
        grid-row: 2;
        order: 2;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        grid-column: 1;
        grid-row: 3;
        order: 3;
    }

    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario {
        grid-column: 1;
        grid-row: 4;
        order: 4;
    }
}

@media (max-width: 767.98px) {
    .assessify-dashboard .dashboard-summary-grid,
    .assessify-dashboard .dashboard-history-layout {
        grid-template-columns: 1fr;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget,
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario { grid-column: 1; }
}

/* Keep the supporting cards compact so the dashboard stays scannable. */
.assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
    width: min(100%, 320px);
    height: auto !important;
    aspect-ratio: 1 / 1;
    padding: .45rem !important;
}

.assessify-dashboard .dashboard-analysis-layout > .map-widget #map {
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
}

.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .card-body {
    padding: .8rem 1rem !important;
}

.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .assessify-refund-heading h5 {
    font-size: .9rem;
}

.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .assessify-refund-grid {
    gap: .55rem;
    margin-top: .7rem;
}

.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .assessify-refund-grid > div {
    padding: .6rem .7rem;
}

.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .assessify-refund-method {
    margin-top: .6rem;
    font-size: .58rem;
}

@media (max-width: 767.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: min(100%, 290px);
        height: auto !important;
        margin-right: auto;
        margin-left: auto;
    }
}

/* Final dashboard composition: promote the nested widgets into one clean
   responsive grid so each visual section gets a deliberate footprint. */
@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        align-items: start;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid {
        display: contents;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget,
    .assessify-dashboard .dashboard-analysis-layout > .map-widget,
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        width: 100%;
        min-width: 0;
        padding-right: 0;
        padding-left: 0;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget { grid-column: 1 / span 5; grid-row: 1; }
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget { grid-column: 6 / span 3; grid-row: 1; }
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget { grid-column: 9 / span 4; grid-row: 1; }
    .assessify-dashboard .dashboard-analysis-layout > .map-widget { grid-column: 1 / span 4; grid-row: 2; }
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario { grid-column: 5 / span 8; grid-row: 2; }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card {
        height: 100%;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: min(100%, 280px);
        height: auto !important;
        aspect-ratio: 1 / 1;
        margin-right: auto;
        margin-left: auto;
    }

    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .card {
        min-height: 280px;
    }

    .assessify-dashboard .assessify-score-drivers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assessify-dashboard .assessify-score-drivers > strong,
    .assessify-dashboard .assessify-score-drivers > a {
        grid-column: 1 / -1;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .assessify-dashboard .dashboard-analysis-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid {
        display: contents;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget { grid-column: 1; grid-row: 1; }
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget { grid-column: 2; grid-row: 1; }
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget { grid-column: 1 / -1; grid-row: 2; }
    .assessify-dashboard .dashboard-analysis-layout > .map-widget { grid-column: 1; grid-row: 3; }
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario { grid-column: 2; grid-row: 3; }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: min(100%, 280px);
        height: auto !important;
        aspect-ratio: 1 / 1;
        margin-right: auto;
        margin-left: auto;
    }
}

@media (max-width: 767.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: min(100%, 220px) !important;
        height: 220px !important;
        aspect-ratio: 1 / 1;
    }
}

/* SVG score meter based on the supplied Assessify Score demo. */
.assessify-dashboard #meter-widget .assessify-score-gauge-wrap {
    position: relative;
    width: 100%;
    min-height: 245px;
    padding: 0 8px;
}

.assessify-dashboard #meter-widget .assessify-score-gauge {
    display: block;
    width: min(100%, 520px);
    height: auto;
    margin: 0 auto;
    overflow: visible;
}

.assessify-dashboard #meter-widget .assessify-score-gauge-bg,
.assessify-dashboard #meter-widget .assessify-score-gauge-fill {
    fill: none;
    stroke-width: 23;
    stroke-linecap: round;
}

.assessify-dashboard #meter-widget .assessify-score-gauge-bg {
    stroke: #edf2f2;
}

.assessify-dashboard #meter-widget .assessify-score-gauge-fill {
    stroke: #008b6d;
    transition: stroke-dashoffset 700ms cubic-bezier(.2, .8, .2, 1), stroke 250ms ease;
}

.assessify-dashboard #meter-widget .assessify-score-gauge-dot {
    fill: #fff;
    stroke: #008b6d;
    stroke-width: 7;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .12));
    transition: cx 700ms cubic-bezier(.2, .8, .2, 1), cy 700ms cubic-bezier(.2, .8, .2, 1), stroke 250ms ease;
}

.assessify-dashboard #meter-widget .score-band-insufficient .assessify-score-gauge-fill,
.assessify-dashboard #meter-widget .score-band-insufficient .assessify-score-gauge-dot { stroke: #8796a1; }
.assessify-dashboard #meter-widget .score-band-limited .assessify-score-gauge-fill,
.assessify-dashboard #meter-widget .score-band-limited .assessify-score-gauge-dot,
.assessify-dashboard #meter-widget .score-band-developing .assessify-score-gauge-fill,
.assessify-dashboard #meter-widget .score-band-developing .assessify-score-gauge-dot { stroke: #d88a00; }
.assessify-dashboard #meter-widget .score-band-strong .assessify-score-gauge-fill,
.assessify-dashboard #meter-widget .score-band-strong .assessify-score-gauge-dot { stroke: #1678a2; }

.assessify-dashboard #meter-widget .assessify-score-center {
    position: absolute;
    top: 105px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    white-space: nowrap;
}

.assessify-dashboard #meter-widget .assessify-score-number {
    color: #102a43;
    font-size: clamp(2.6rem, 5vw, 3.8rem);
    line-height: .94;
    letter-spacing: -3px;
    font-weight: 840;
}

.assessify-dashboard #meter-widget .assessify-score-number small {
    color: #82949e;
    font-size: 1.35rem;
    letter-spacing: -.8px;
}

.assessify-dashboard #meter-widget .assessify-score-center .assessify-score-band {
    display: inline-block;
    margin-top: 8px;
    padding: 5px 10px;
    color: #08745b;
    background: #e4f6ef;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
}

.assessify-dashboard #meter-widget .score-band-insufficient .assessify-score-band { color: #536976; background: #edf1f2; }
.assessify-dashboard #meter-widget .score-band-limited .assessify-score-band,
.assessify-dashboard #meter-widget .score-band-developing .assessify-score-band { color: #8a5c05; background: #fff2d9; }
.assessify-dashboard #meter-widget .score-band-strong .assessify-score-band { color: #126384; background: #e4f3f9; }

.assessify-dashboard #meter-widget .assessify-score-scale {
    position: absolute;
    right: 8%;
    bottom: 5px;
    left: 8%;
    display: flex;
    justify-content: space-between;
    color: #81939e;
    font-size: .68rem;
    font-weight: 700;
}

.assessify-dashboard #meter-widget .assessify-score-mobile-meter { display: none !important; }

@media (max-width: 767.98px) {
    .assessify-dashboard #meter-widget .assessify-score-gauge-wrap {
        min-height: 225px;
    }

    .assessify-dashboard #meter-widget .assessify-score-center {
        top: 94px;
    }

    .assessify-dashboard #meter-widget .assessify-score-number {
        font-size: 3.1rem;
    }
}

/* Keep the map compact on phones as well; this final rule follows the legacy
   mobile widget defaults above. */
@media (max-width: 767.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: min(100%, 220px) !important;
        height: 220px !important;
        aspect-ratio: 1 / 1;
    }
}

/* Final visual pass for the analysis dashboard. The dashboard background is
   intentionally quiet so the data cards, rather than a decorative map,
   provide the visual hierarchy. */
.assessify-dashboard .main-container {
    width: 100%;
    max-width: 1800px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0 1rem;
}

.assessify-dashboard .layout-page {
    background: #f4f8fa !important;
    background-image: none !important;
}

.assessify-dashboard .dashboard-analysis-layout {
    gap: 1rem;
    align-items: stretch;
}

.assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget,
.assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget,
.assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
    align-self: stretch;
    display: flex;
}

.assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget .card,
.assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget .card,
.assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card {
    width: 100%;
    background: #fff !important;
    border-color: #d8e5eb !important;
    box-shadow: 0 8px 24px rgba(24, 80, 109, .08), inset 0 1px 0 rgba(255, 255, 255, .9);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget .card-body,
.assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget .card-body {
    width: 100%;
}

.assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card {
    overflow: hidden;
}

.assessify-dashboard .dashboard-analysis-layout > .funnel-widget .funnel-card-header {
    padding: 1rem 1rem .7rem;
    border-bottom: 1px solid #e7eef2;
    font-size: .92rem;
}

.assessify-dashboard .dashboard-analysis-layout > .funnel-widget .funnel-table-scroll {
    max-height: 315px;
    padding: 0 1rem 1rem;
}

.assessify-dashboard .dashboard-analysis-layout > .map-widget,
.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario {
    align-self: start;
}

.assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
    width: 220px;
    height: 220px !important;
    margin: 0;
    padding: .4rem !important;
    background: #fff !important;
    border-color: #d8e5eb !important;
    box-shadow: 0 8px 24px rgba(24, 80, 109, .08);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .card {
    min-height: 0;
    background: #fff !important;
    border-color: #d8e5eb !important;
    box-shadow: 0 8px 24px rgba(24, 80, 109, .08);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .card-body {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget { grid-column: 1 / span 4; }
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget { grid-column: 5 / span 3; }
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget { grid-column: 8 / span 5; }
    .assessify-dashboard .dashboard-analysis-layout > .map-widget { grid-column: 1 / span 3; }
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario { grid-column: 4 / span 9; }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        margin-left: 0;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        margin: 0;
    }
}

@media (max-width: 767.98px) {
    .assessify-dashboard .main-container {
        padding-right: .75rem;
        padding-left: .75rem;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: min(100%, 220px);
        height: 220px !important;
        margin-right: auto;
        margin-left: auto;
    }

    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .card-body {
        min-height: 0;
    }
}

@media (max-width: 767.98px) {
    .assessify-dashboard .dashboard-analysis-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid {
        display: contents;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget { grid-column: 1; grid-row: 1; }
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget { grid-column: 1; grid-row: 2; }
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget { grid-column: 1; grid-row: 3; }
    .assessify-dashboard .dashboard-analysis-layout > .map-widget { grid-column: 1; grid-row: 4; }
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario { grid-column: 1; grid-row: 5; }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: min(100%, 220px) !important;
        height: 220px !important;
        aspect-ratio: 1 / 1;
        margin-right: auto;
        margin-left: auto;
    }
}

/* Property summary now owns the tax-impact summary, keeping the top row
   focused and eliminating a detached, oversized impact panel. */
.assessify-dashboard .main-container {
    max-width: none;
}

.assessify-dashboard .dashboard-analysis-layout {
    align-items: start;
}

.assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget,
.assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget,
.assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
    align-self: start;
}

.assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget .card,
.assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget .card,
.assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card {
    height: auto;
    min-height: 0;
}

.assessify-dashboard #info-widget .small-widgets {
    padding: 1.1rem !important;
}

.assessify-dashboard #info-widget .assessify-property-impact {
    margin-top: .95rem;
    padding: .9rem .8rem .75rem;
    background: #f7fbfc;
    border: 1px solid #dcebed;
    border-radius: 14px;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-heading {
    gap: .5rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-kicker {
    font-size: .54rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-heading h5 {
    font-size: .86rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid {
    grid-template-columns: 1fr;
    gap: .35rem;
    margin-top: .65rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .5rem;
    padding: .48rem .6rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid span {
    font-size: .57rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid strong {
    margin-top: 0;
    font-size: .84rem;
    white-space: nowrap;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid small {
    display: none;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-method {
    margin-top: .55rem;
    font-size: .54rem;
    line-height: 1.4;
}

@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget { grid-column: 1 / span 4; }
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget { grid-column: 5 / span 4; }
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget { grid-column: 9 / span 4; }
    .assessify-dashboard .dashboard-analysis-layout > .map-widget { grid-column: 1 / span 4; grid-row: 2; }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: 340px;
        height: 340px !important;
        margin-left: 0;
    }
}

/* Two-row desktop composition: the Score occupies the left side while the
   Property, Funnel, and Map form a clean right-hand workspace. */
@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget {
        grid-column: 1 / span 4;
        grid-row: 1 / span 2;
        align-self: stretch;
        display: flex;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget .card {
        height: 100% !important;
        min-height: 0;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget {
        grid-column: 5 / span 4;
        grid-row: 1;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        grid-column: 9 / span 4;
        grid-row: 1;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        grid-column: 5 / span 8;
        grid-row: 2;
        align-self: stretch;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: 100%;
        height: 340px !important;
        margin: 0;
    }
}

/* Keep the property summary and comparable funnel as one aligned top row.
   The map starts in the following grid row, beneath the complete row. */
@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        align-self: stretch;
        display: flex;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .funnel-table-scroll {
        flex: 1 1 auto;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        align-self: start;
        margin-top: 0 !important;
    }
}

/* Compact top-row cards: the property summary and funnel should end at the
   same deliberate height, leaving the larger map clearly in the next row. */
@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card {
        height: 360px !important;
        min-height: 360px !important;
    }

    .assessify-dashboard #info-widget .small-widgets {
        gap: .2rem;
        overflow: hidden;
        padding: .8rem !important;
    }

    .assessify-dashboard #info-widget .card-title.text-primary {
        font-size: 1rem;
    }

    .assessify-dashboard #info-widget .card-body h4 {
        margin-bottom: .35rem;
    }

    .assessify-dashboard #info-widget .card-body > p {
        min-height: 0;
        margin-bottom: .45rem !important;
        padding: .45rem .6rem;
        font-size: .72rem;
    }

    .assessify-dashboard #info-widget .assessify-property-outlook {
        margin: .25rem 0 .45rem;
        padding: .45rem .55rem;
    }

    .assessify-dashboard #info-widget .assessify-property-outlook strong {
        font-size: .7rem;
    }

    .assessify-dashboard #info-widget .assessify-property-outlook small {
        font-size: .52rem;
    }

    .assessify-dashboard #info-widget .property-icons > div {
        min-height: 2.35rem;
        padding: .3rem .35rem !important;
    }

    .assessify-dashboard #info-widget .property-icons h4 {
        font-size: .74rem;
    }

    .assessify-dashboard #info-widget .assessify-property-impact {
        margin-top: .6rem;
        padding: .6rem .55rem .5rem;
    }

    .assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .3rem;
        margin-top: .45rem;
    }

    .assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid > div {
        display: block;
        min-width: 0;
        padding: .4rem .35rem;
    }

    .assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid span {
        min-height: 2.1em;
        font-size: .5rem;
    }

    .assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid strong {
        display: block;
        margin-top: .2rem;
        font-size: .72rem;
    }

    .assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-method {
        margin-top: .4rem;
        font-size: .5rem;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .funnel-table-scroll {
        max-height: 285px;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: 300px;
        height: 300px !important;
    }
}

@media (max-width: 767.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: min(100%, 280px) !important;
        height: 280px !important;
    }
}

/* Sales Ranking: a compact, readable comparable-sales workspace. */
.assessify-dashboard #funnel-widget .funnel-card {
    background: #fff !important;
    border-color: #d8e5eb !important;
    box-shadow: 0 8px 24px rgba(24, 80, 109, .08);
}

.assessify-dashboard #funnel-widget .funnel-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    padding: .95rem 1rem .75rem;
    border-bottom: 1px solid #e7eef2;
}

.assessify-dashboard #funnel-widget .funnel-card-eyebrow {
    display: block;
    color: #178d9a;
    font-size: .54rem;
    font-weight: 850;
    letter-spacing: .13em;
}

.assessify-dashboard #funnel-widget .funnel-card-header {
    margin: .22rem 0 0;
    padding: 0;
    color: #173752;
    border: 0;
    font-size: .95rem;
    font-weight: 850;
}

.assessify-dashboard #funnel-widget .funnel-card-heading p {
    margin: .2rem 0 0;
    color: #7890a0;
    font-size: .6rem;
    line-height: 1.4;
}

.assessify-dashboard #funnel-widget .funnel-card-icon {
    display: grid;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    place-items: center;
    color: #178d9a;
    background: #e6f7f5;
    border: 1px solid rgba(23, 141, 154, .17);
    border-radius: 10px;
    font-size: 1.05rem;
}

.assessify-dashboard #funnel-widget .funnel-table-scroll {
    display: flex;
    min-height: 0;
    max-height: none;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 0 .85rem .75rem;
    overflow: auto;
}

.assessify-dashboard #funnel-widget .funnel-table-scroll .dt-container {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    color: #7890a0;
}

.assessify-dashboard #funnel-widget .funnel-table-scroll .dt-layout-row:first-child {
    flex: 0 0 auto;
    margin: .65rem 0 .45rem;
}

.assessify-dashboard #funnel-widget .dt-search,
.assessify-dashboard #funnel-widget .dt-search label {
    display: flex;
    align-items: center;
}

.assessify-dashboard #funnel-widget .dt-search {
    justify-content: flex-end;
    gap: .35rem;
}

.assessify-dashboard #funnel-widget .dt-search label {
    gap: .4rem;
    color: #6c8391;
    font-size: .61rem;
    font-weight: 750;
}

.assessify-dashboard #funnel-widget .dt-search input {
    width: 9rem;
    height: 1.85rem;
    margin: 0 !important;
    padding: .3rem .55rem;
    color: #173752 !important;
    background: #f8fbfc !important;
    border: 1px solid #d5e5e9 !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    font-size: .65rem;
}

.assessify-dashboard #funnel-widget .dt-search input:focus {
    border-color: #66b8b8 !important;
    box-shadow: 0 0 0 3px rgba(23, 141, 154, .1) !important;
    outline: 0;
}

.assessify-dashboard #funnel-widget .dt-layout-table {
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    overflow: visible;
}

.assessify-dashboard #funnel-widget .dt-layout-table .dt-layout-cell {
    min-width: 0;
}

.assessify-dashboard #funnel-widget .funnel-summary-table thead {
    display: table-header-group;
}

.assessify-dashboard #funnel-widget .funnel-summary-table {
    width: 100% !important;
    min-width: 900px;
    margin: 0 !important;
    border-collapse: separate;
    border-spacing: 0 .28rem;
    table-layout: auto;
}

.assessify-dashboard #funnel-widget .funnel-summary-table thead th {
    position: static;
    z-index: auto;
    top: auto;
    padding: .55rem .55rem;
    color: #5e7788 !important;
    background: #f2f8f9 !important;
    border: 0 !important;
    font-size: .53rem;
    font-weight: 850;
    letter-spacing: .04em;
    line-height: 1.25;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    vertical-align: middle;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody tr:first-child td {
    border-top-width: 1px !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table thead th:first-child {
    min-width: 15rem;
    border-radius: 8px 0 0 8px;
    text-align: left;
}

.assessify-dashboard #funnel-widget .funnel-summary-table thead th:last-child {
    border-radius: 0 8px 8px 0;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody td {
    padding: .62rem .55rem;
    color: #3c596b !important;
    background: #fff !important;
    border-top: 1px solid #e4edef !important;
    border-bottom: 1px solid #e4edef !important;
    font-size: .65rem;
    line-height: 1.35;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody td:first-child {
    max-width: 17rem;
    overflow-wrap: anywhere;
    border-left: 1px solid #e4edef !important;
    border-radius: 9px 0 0 9px;
    color: #234c64 !important;
    font-weight: 750;
    text-align: left;
    white-space: normal;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody td:last-child {
    border-right: 1px solid #e4edef !important;
    border-radius: 0 9px 9px 0;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody td:nth-child(2),
.assessify-dashboard #funnel-widget .funnel-summary-table tbody td:nth-child(3) {
    color: #178d9a !important;
    font-weight: 850;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody tr {
    transition: transform .16s ease;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody tr:hover {
    transform: translateX(2px);
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody tr:hover td {
    background: #effaf8 !important;
    border-color: #cde9e4 !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody tr.red-bg td {
    color: #7c5550 !important;
    background: #fff3ef !important;
    border-color: #f1d8d0 !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody tr.red-bg:hover td {
    background: #ffebe5 !important;
}

.assessify-dashboard #funnel-widget .dataTables_empty,
.assessify-dashboard #funnel-widget .dt-empty {
    padding: 1.5rem !important;
    color: #7890a0 !important;
    text-align: center !important;
}

.assessify-dashboard #funnel-widget .funnel-table-scroll::-webkit-scrollbar,
.assessify-dashboard #funnel-widget .dt-layout-table::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}

.assessify-dashboard #funnel-widget .funnel-table-scroll::-webkit-scrollbar-thumb,
.assessify-dashboard #funnel-widget .dt-layout-table::-webkit-scrollbar-thumb {
    background: #c5dadd;
    border-radius: 999px;
}

@media (max-width: 767.98px) {
    .assessify-dashboard #funnel-widget .funnel-card-heading {
        padding: .85rem .8rem .7rem;
    }

    .assessify-dashboard #funnel-widget .funnel-card-heading p {
        max-width: 15rem;
    }

    .assessify-dashboard #funnel-widget .funnel-table-scroll {
        padding-right: .65rem;
        padding-left: .65rem;
    }

    .assessify-dashboard #funnel-widget .dt-search {
        justify-content: flex-start;
    }

    .assessify-dashboard #funnel-widget .dt-search input {
        width: 8rem;
    }
}

/* Give the complete desktop analysis workspace enough room for the property
   impact details and several ranked sales rows. The Score card spans both
   rows, so it grows with the map instead of leaving the lower area behind. */
@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card {
        height: 480px !important;
        min-height: 480px !important;
    }

    .assessify-dashboard #info-widget .small-widgets {
        overflow-x: hidden;
        overflow-y: auto;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .funnel-table-scroll {
        max-height: none;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        height: 480px !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget .card {
        height: 100% !important;
    }
}

/* Improve readability in the first two summary cards while retaining their
   compact desktop footprint. */
.assessify-dashboard #meter-widget .assessify-score-heading {
    font-size: .95rem;
}

.assessify-dashboard #meter-widget .assessify-score-center .assessify-score-band {
    font-size: .9rem;
}

.assessify-dashboard #meter-widget .assessify-score-description {
    font-size: .72rem;
}

.assessify-dashboard #meter-widget .assessify-score-range {
    font-size: .7rem;
}

.assessify-dashboard #meter-widget .assessify-score-range strong {
    font-size: .8rem;
}

.assessify-dashboard #meter-widget .assessify-score-confidence {
    font-size: .69rem;
}

.assessify-dashboard #meter-widget .assessify-score-drivers {
    font-size: .66rem;
}

.assessify-dashboard #meter-widget .assessify-score-drivers strong {
    font-size: .72rem;
}

.assessify-dashboard #meter-widget .assessify-score-drivers span b {
    font-size: .68rem;
}

.assessify-dashboard #meter-widget .assessify-score-drivers span small {
    font-size: .62rem;
}

.assessify-dashboard #meter-widget .assessify-score-drivers > a {
    font-size: .66rem;
}

.assessify-dashboard #meter-widget .assessify-score-next a {
    font-size: .64rem;
}

.assessify-dashboard #meter-widget .assessify-score-disclaimer {
    font-size: .58rem;
}

.assessify-dashboard #info-widget .card-title.text-primary {
    font-size: clamp(1.08rem, 1.7vw, 1.28rem);
}

.assessify-dashboard #info-widget .card-body h4 {
    font-size: .84rem;
}

.assessify-dashboard #info-widget .card-body > p {
    font-size: .78rem;
}

.assessify-dashboard #info-widget .assessify-property-outlook span {
    font-size: .64rem;
}

.assessify-dashboard #info-widget .assessify-property-outlook strong {
    font-size: .82rem;
}

.assessify-dashboard #info-widget .assessify-property-outlook small {
    font-size: .6rem;
}

.assessify-dashboard #info-widget .property-icons i {
    font-size: 1rem;
}

.assessify-dashboard #info-widget .property-icons h4 {
    font-size: .84rem;
}

.assessify-dashboard #info-widget .property-icons > div::after {
    font-size: .61rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-kicker {
    font-size: .59rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-heading h5 {
    font-size: .94rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid span {
    font-size: .56rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-grid strong {
    font-size: .8rem;
}

.assessify-dashboard #info-widget .assessify-property-impact .assessify-refund-method {
    font-size: .56rem;
}

@media (max-width: 767.98px) {
    .assessify-dashboard #meter-widget .assessify-score-description {
        font-size: .74rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers span small {
        font-size: .64rem;
    }

    .assessify-dashboard #info-widget .card-title.text-primary {
        font-size: 1.1rem;
    }
}

/* Put the financial outcome first in the Score column and keep that column
   from becoming disproportionately wide on large screens. */
.assessify-dashboard #meter-widget .card-body {
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
    overflow: auto;
}

.assessify-dashboard #meter-widget .assessify-priority-impact {
    width: 100%;
    flex: 0 0 auto;
    margin: 0 0 1rem;
    padding: .85rem .8rem .7rem;
    background: #f7fbfc;
    border: 1px solid #dcebed;
    border-radius: 14px;
}

.assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-heading {
    gap: .5rem;
}

.assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-kicker {
    font-size: .58rem;
}

.assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-heading h5 {
    margin-top: .2rem;
    font-size: .94rem;
}

.assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .35rem;
    margin-top: .6rem;
}

.assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-grid > div {
    min-width: 0;
    padding: .48rem .4rem;
}

.assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-grid span {
    min-height: 2.2em;
    font-size: .56rem;
}

.assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-grid strong {
    margin-top: .25rem;
    font-size: .82rem;
}

.assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-method {
    margin-top: .5rem;
    font-size: .56rem;
    line-height: 1.45;
}

@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget {
        width: min(100%, 520px);
        max-width: 520px;
        justify-self: start;
    }

    .assessify-dashboard #meter-widget .card-body {
        height: 100%;
    }
}

@media (max-width: 767.98px) {
    .assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-grid {
        grid-template-columns: 1fr;
    }
}

/* Keep DataTables' controls and the ranking table in one scroll context. The
   previous nested flex/overflow rules could make the table body slide under
   or clip the header and the first row. */
.assessify-dashboard #funnel-widget .funnel-card {
    display: flex;
    min-height: 0;
    flex-direction: column;
}

.assessify-dashboard #funnel-widget .funnel-table-scroll {
    display: block !important;
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
}

.assessify-dashboard #funnel-widget .funnel-table-scroll .dt-container {
    display: block !important;
    width: 100%;
    min-width: 0;
    min-height: 0;
}

.assessify-dashboard #funnel-widget .dt-layout-row.dt-layout-table {
    display: block !important;
    min-height: 0;
    flex: 1 1 auto;
    overflow: visible !important;
}

.assessify-dashboard #funnel-widget .dt-layout-table {
    display: block !important;
    min-height: 0;
    overflow: visible !important;
}

.assessify-dashboard #funnel-widget .dt-layout-table .dt-layout-cell {
    display: block !important;
    width: 100%;
    min-width: 0;
}

.assessify-dashboard #funnel-widget .funnel-summary-table {
    display: table !important;
    width: 100% !important;
    min-width: 900px;
}

.assessify-dashboard #funnel-widget .funnel-summary-table thead {
    display: table-header-group !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table thead tr {
    display: table-row !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody {
    display: table-row-group !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tr {
    display: table-row !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table th,
.assessify-dashboard #funnel-widget .funnel-summary-table td {
    display: table-cell !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table thead th {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
}

/* Give every Sales Ranking field its own lane. Automatic table sizing lets a
   long address consume the available width and squeezes the metrics out of
   view. */
.assessify-dashboard #funnel-widget .funnel-summary-table {
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table col.funnel-col-address {
    width: 24% !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table col.funnel-col-metric {
    width: 8.444% !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table thead th:first-child,
.assessify-dashboard #funnel-widget .funnel-summary-table tbody td:first-child {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table thead th:not(:first-child),
.assessify-dashboard #funnel-widget .funnel-summary-table tbody td:not(:first-child) {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

.assessify-dashboard #funnel-widget .funnel-summary-table thead th:not(:first-child) {
    white-space: normal;
}

.assessify-dashboard #funnel-widget .funnel-table-scroll {
    overflow-x: hidden;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody td {
    overflow: hidden;
    text-overflow: ellipsis;
}

.assessify-dashboard #funnel-widget .funnel-summary-table tbody td:first-child {
    overflow-wrap: anywhere;
    text-overflow: clip;
    white-space: normal;
}

/* Latest dashboard composition: keep the subject views together in a capped
   left rail and give Sales Ranking the wider right-hand workspace. */
@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout {
        grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        column-gap: 1rem;
        row-gap: 1rem;
        align-items: start;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid {
        display: contents;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget {
        grid-column: 1;
        grid-row: 1;
        width: 100%;
        max-width: 520px;
        align-self: start;
        display: flex;
    }

    .assessify-dashboard #meter-widget .card,
    .assessify-dashboard #meter-widget .card-body {
        height: auto !important;
        min-height: 0 !important;
    }

    .assessify-dashboard #meter-widget .card-body {
        overflow: visible;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget {
        grid-column: 1;
        grid-row: 2;
        width: 100%;
        align-self: start;
        display: flex;
    }

    .assessify-dashboard #info-widget .card {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        grid-column: 1;
        grid-row: 3;
        width: 100%;
        align-self: start;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: 100%;
        max-width: 520px;
        height: auto !important;
        aspect-ratio: 1 / 1;
        margin: 0;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget #map {
        width: 100%;
        height: 100% !important;
        min-height: 0 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        grid-column: 2;
        grid-row: 1 / span 3;
        width: 100%;
        min-width: 0;
        align-self: stretch;
        display: flex;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card {
        width: 100%;
        height: 100% !important;
        min-height: 0 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .funnel-table-scroll {
        min-height: 0;
        max-height: none;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .assessify-dashboard .dashboard-analysis-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid {
        display: contents;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget { grid-column: 1; grid-row: 1; }
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget { grid-column: 2; grid-row: 1; }
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget { grid-column: 1 / -1; grid-row: 2; }
    .assessify-dashboard .dashboard-analysis-layout > .map-widget { grid-column: 1 / -1; grid-row: 3; }
}

/* Restore the intended desktop relationship: the capped Score card is the
   first column, Property Information sits directly beside it, and the wider
   Sales Ranking workspace occupies the remaining column. */
@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout {
        grid-template-columns: minmax(0, 520px) minmax(0, .8fr) minmax(0, 1.2fr);
        grid-template-rows: auto auto;
        gap: .75rem;
        align-items: start;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid {
        display: contents;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget {
        grid-column: 1;
        grid-row: 1 / span 2;
        width: 100%;
        max-width: 520px;
        align-self: stretch;
        display: flex;
    }

    .assessify-dashboard #meter-widget .card {
        width: 100%;
        height: 100% !important;
        min-height: 0 !important;
    }

    .assessify-dashboard #meter-widget .card-body {
        height: 100%;
        overflow: auto;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        align-self: stretch;
        display: flex;
    }

    .assessify-dashboard #info-widget .card {
        width: 100%;
        height: 480px !important;
        min-height: 480px !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        grid-column: 3;
        grid-row: 1;
        width: 100%;
        min-width: 0;
        align-self: stretch;
        display: flex;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card {
        width: 100%;
        height: 480px !important;
        min-height: 480px !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        grid-column: 2 / -1;
        grid-row: 2;
        width: 100%;
        align-self: start;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card {
        width: 100%;
        max-width: none !important;
        height: 480px !important;
        aspect-ratio: auto;
        margin: 0;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget #map {
        width: 100%;
        height: 100% !important;
        min-height: 0 !important;
    }
}

/* Property value summary: use the open area below the fact icons for the
   three numbers homeowners need most when reviewing their assessment. */
.assessify-dashboard #info-widget .property-value-summary {
    flex: 0 0 auto;
    width: 100%;
    margin-top: auto;
    padding: .75rem;
    background: linear-gradient(145deg, #f5fbfc, #eef8f8);
    border: 1px solid #d4e9eb;
    border-radius: 14px;
}

.assessify-dashboard #info-widget .property-value-summary-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .55rem;
}

.assessify-dashboard #info-widget .property-value-summary-heading span {
    color: #168a98;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.assessify-dashboard #info-widget .property-value-summary-heading small {
    color: #7890a0;
    font-size: .52rem;
    line-height: 1.2;
    text-align: right;
}

.assessify-dashboard #info-widget .property-value-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .4rem;
}

.assessify-dashboard #info-widget .property-value-metric {
    min-width: 0;
    padding: .55rem .5rem .5rem;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(85, 153, 170, .18);
    border-radius: 10px;
}

.assessify-dashboard #info-widget .property-value-metric > span {
    display: block;
    min-height: 2.2em;
    color: #617c8d;
    font-size: .56rem;
    font-weight: 800;
    line-height: 1.25;
}

.assessify-dashboard #info-widget .property-value-metric strong {
    display: block;
    margin-top: .2rem;
    overflow: hidden;
    color: #21425d;
    font-size: clamp(.82rem, 1.1vw, 1.15rem);
    font-weight: 900;
    letter-spacing: -.04em;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.assessify-dashboard #info-widget .property-value-metric small {
    display: block;
    margin-top: .24rem;
    overflow: hidden;
    color: #7890a0;
    font-size: .51rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.assessify-dashboard #info-widget .property-value-metric-roll {
    background: rgba(228, 246, 245, .88);
    border-color: rgba(23, 141, 154, .24);
}

.assessify-dashboard #info-widget .property-value-metric-roll strong {
    color: #145f78;
    font-size: clamp(.92rem, 1.3vw, 1.3rem);
}

.assessify-dashboard #info-widget .property-value-metric-adjustment strong {
    color: #16778b;
}

.assessify-dashboard #info-widget .property-value-metric-reduction {
    background: linear-gradient(145deg, #e8f8f0, #f8fcfa);
    border-color: rgba(23, 141, 154, .24);
}

.assessify-dashboard #info-widget .property-value-metric-reduction strong {
    color: #08745b;
}

.assessify-dashboard #info-widget .property-value-metric-tax {
    background: linear-gradient(145deg, #f3f7fc, #fff);
    border-color: rgba(63, 130, 197, .2);
}

.assessify-dashboard #info-widget .property-value-metric-tax strong {
    color: #18506d;
}

@media (max-width: 767.98px) {
    .assessify-dashboard #info-widget .property-value-summary {
        margin-top: .75rem;
    }

    .assessify-dashboard #info-widget .property-value-summary-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: .15rem;
    }

    .assessify-dashboard #info-widget .property-value-summary-heading small {
        text-align: left;
    }

    .assessify-dashboard #info-widget .property-value-summary-grid {
        grid-template-columns: 1fr;
    }

    .assessify-dashboard #info-widget .property-value-metric > span {
        min-height: 0;
    }

    .assessify-dashboard #info-widget .property-value-metric strong {
        font-size: 1.15rem;
    }
}

/* Keep the location views as independent cards; their final responsive order
   is defined below with the map and Sales Ranking workspaces switched. */
.assessify-dashboard .map-card-shell {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    overflow: hidden;
    padding: .7rem !important;
    background: #fff !important;
    border: 1px solid #d8e5eb !important;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(24, 80, 109, .08);
}

.assessify-dashboard .map-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    flex: 0 0 auto;
    padding: 0 .15rem;
}

.assessify-dashboard .map-card-heading span,
.assessify-dashboard .map-card-heading strong {
    display: block;
}

.assessify-dashboard .map-card-heading span {
    color: #178d9a;
    font-size: .53rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.assessify-dashboard .map-card-heading strong {
    margin-top: .12rem;
    color: #173752;
    font-size: .82rem;
    font-weight: 800;
}

.assessify-dashboard .map-card-heading > i {
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 1.9rem;
    place-items: center;
    color: #178d9a;
    background: #e8f7f7;
    border-radius: 9px;
    font-size: 1.05rem;
}

.assessify-dashboard .map-card-surface {
    position: relative;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
    background: #edf5f6;
    border-radius: 12px;
}

.assessify-dashboard .map-card-surface #map,
.assessify-dashboard .map-card-surface #street-view {
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    border-radius: 12px;
}

.assessify-dashboard .street-view-unavailable {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    color: #6b8193;
    background: linear-gradient(145deg, #f4f9fa, #eaf4f5);
    font-size: .72rem;
    font-weight: 700;
    text-align: center;
}

.assessify-dashboard .street-view-unavailable[hidden] {
    display: none;
}

@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        grid-column: 3;
        grid-row: 2;
        width: 100%;
    }

    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget {
        grid-column: 2;
        grid-row: 2;
        width: 100%;
        min-width: 0;
        align-self: start;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .map-card-shell,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget .map-card-shell {
        width: 100%;
        height: 320px !important;
        min-height: 320px !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget {
        grid-column: 2;
        grid-row: 3;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        grid-column: 1;
        grid-row: 3;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .map-card-shell,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget .map-card-shell {
        height: 280px !important;
        min-height: 280px !important;
    }
}

@media (max-width: 767.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget {
        grid-column: 1;
        grid-row: 3;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        grid-column: 1;
        grid-row: 4;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        grid-column: 1;
        grid-row: 5;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .map-card-shell,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget .map-card-shell {
        height: 250px !important;
        min-height: 250px !important;
    }
}

/* Keep every small metric in the property card visually centered, from the
   bathroom/bedroom facts through the CA tax-rate summary. */
.assessify-dashboard #info-widget .property-icons > div {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    justify-items: center;
    text-align: center;
}

.assessify-dashboard #info-widget .property-icons i {
    grid-row: auto;
    width: auto;
    margin: 0 0 .12rem;
}

.assessify-dashboard #info-widget .property-icons h4,
.assessify-dashboard #info-widget .property-icons > div::after {
    grid-column: 1;
    text-align: center;
}

.assessify-dashboard #info-widget .property-value-metric {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.assessify-dashboard #info-widget .property-value-metric > span,
.assessify-dashboard #info-widget .property-value-metric strong,
.assessify-dashboard #info-widget .property-value-metric small {
    width: 100%;
    text-align: center;
}

.assessify-dashboard #info-widget .property-icons h4 {
    font-size: .98rem;
}

.assessify-dashboard #info-widget .property-icons > div::after {
    font-size: .68rem;
}

.assessify-dashboard #info-widget .property-value-metric > span {
    font-size: .68rem;
}

.assessify-dashboard #info-widget .property-value-metric strong {
    font-size: clamp(.98rem, 1.45vw, 1.25rem);
}

.assessify-dashboard #info-widget .property-value-metric small {
    font-size: .6rem;
}

/* Card 2 should show all property details naturally instead of putting the
   information behind an internal scrollbar. */
.assessify-dashboard #info-widget .card,
.assessify-dashboard #info-widget .small-widgets {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

/* Give the subject column enough room for its Feature, Factor, and Subject
   labels while leaving comparable-sale cards at their compact width. */
.assessify-dashboard #grid-widget .grid-area-subject {
    flex: 0 0 360px;
    flex-basis: 360px;
    width: 360px !important;
    max-width: 360px !important;
    min-width: 360px;
}

.assessify-dashboard #grid-widget .grid-area-subject > .row {
    grid-template-columns: 1.5fr .85fr 1.65fr;
}

@media (max-width: 767.98px) {
    .assessify-dashboard #grid-widget .grid-area-subject {
        flex-basis: 320px;
        width: 320px !important;
        max-width: 320px !important;
        min-width: 320px;
    }
}

@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget .map-card-shell {
        height: 321px !important;
        min-height: 321px !important;
    }
}

/* Align the Score card with the complete subject-property stack without
   introducing another hard-coded height. */
@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout {
        grid-template-rows: 480px 321px;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget {
        grid-row: 1 / span 2;
        align-self: stretch;
        min-height: 0;
    }

    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget {
        margin-bottom: 0 !important;
    }

    .assessify-dashboard #meter-widget .card {
        height: 100% !important;
        min-height: 0 !important;
    }

    .assessify-dashboard #meter-widget .card-body {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible;
    }

    .assessify-dashboard #meter-widget .assessify-score-primary-cta {
        transform: translateY(-4px);
    }

    .assessify-dashboard #info-widget .card {
        height: 480px !important;
        min-height: 480px !important;
    }

    /* Let the value summary use the open area beneath the property facts. */
    .assessify-dashboard #info-widget .property-value-summary {
        display: flex;
        flex: 1 1 auto;
        min-height: 0;
        flex-direction: column;
    }

    .assessify-dashboard #info-widget .property-value-summary-grid {
        flex: 1 1 auto;
        align-items: stretch;
    }

    .assessify-dashboard #info-widget .property-value-metric {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}

/* Mobile dashboard system
   ------------------------
   The dashboard is built from a legacy Bootstrap grid plus a few nested rows.
   Keep the desktop composition above, but give phones one predictable flow:
   toolbar, score, property, Street View, Sales Ranking, map, matrix, history.
   These rules intentionally come last so saved desktop widget dimensions and
   older media-query rules cannot create a narrow or horizontally scrolling
   phone layout. */
@media (max-width: 767.98px) {
    body.assessify-dashboard {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
        -webkit-text-size-adjust: 100%;
    }

    .assessify-dashboard,
    .assessify-dashboard *,
    .assessify-dashboard *::before,
    .assessify-dashboard *::after {
        box-sizing: border-box;
    }

    .assessify-dashboard .layout-wrapper,
    .assessify-dashboard .layout-container,
    .assessify-dashboard .layout-page,
    .assessify-dashboard .content-wrapper,
    .assessify-dashboard .container-xxl,
    .assessify-dashboard .main-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .assessify-dashboard .layout-wrapper,
    .assessify-dashboard .layout-container,
    .assessify-dashboard .layout-page,
    .assessify-dashboard .content-wrapper {
        overflow-x: hidden !important;
    }

    .assessify-dashboard .container-xxl.flex-grow-1.immersive-mode {
        margin: 0 !important;
        padding: 1rem 0 1.5rem !important;
    }

    .assessify-dashboard .main-container {
        margin: 0 !important;
        padding: 0 .75rem 1.25rem !important;
    }

    /* The mobile menu is a touch-scrolling quick-nav strip. It stays short,
       while every destination remains reachable without expanding the page. */
    .assessify-dashboard .layout-menu {
        width: 100% !important;
        height: 3.35rem !important;
        min-height: 3.35rem !important;
        max-height: 3.35rem !important;
        overflow: hidden !important;
    }

    .assessify-dashboard .layout-menu .menu-inner {
        display: flex !important;
        width: 100% !important;
        min-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        align-items: center !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: .15rem;
        padding: .4rem .55rem !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .assessify-dashboard .layout-menu .menu-inner::-webkit-scrollbar {
        display: none;
    }

    .assessify-dashboard .layout-menu .menu-inner-shadow,
    .assessify-dashboard .layout-menu .menu-header {
        display: none !important;
    }

    .assessify-dashboard .layout-menu .menu-item {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .assessify-dashboard .layout-menu .menu-link {
        display: inline-flex !important;
        width: auto !important;
        max-width: none !important;
        min-height: 2.45rem !important;
        align-items: center;
        gap: .2rem;
        margin: 0 !important;
        padding: .55rem .7rem !important;
        border-radius: 9px;
        font-size: .74rem !important;
        line-height: 1.1;
        white-space: nowrap;
    }

    .assessify-dashboard .layout-menu .menu-link > div {
        width: auto !important;
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap;
    }

    .assessify-dashboard .layout-menu .menu-link small {
        display: none;
    }

    .assessify-dashboard .layout-menu .menu-icon {
        width: 1.05rem;
        margin-right: .05rem;
        font-size: .95rem;
        text-align: center;
    }

    /* Keep the brand visible and give search its own reliable fluid lane. */
    .assessify-dashboard #layout-navbar {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        align-items: stretch !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: .55rem;
        padding: .65rem .75rem .7rem;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse > .navbar-nav:first-child {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 2.7rem;
        align-items: center !important;
        flex: 0 0 auto;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: .45rem;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse > .navbar-nav:first-child .app-brand-link {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0;
        flex: 0 0 auto;
        align-items: center;
        padding: 0 !important;
    }

    .assessify-dashboard #layout-navbar .app-brand-logo,
    .assessify-dashboard #layout-navbar .app-brand-logo img {
        display: block;
        width: clamp(82px, 26vw, 112px) !important;
        height: auto;
        max-width: 100%;
        max-height: none !important;
    }

    .assessify-dashboard #layout-navbar .dashboard-search-wrap {
        display: flex !important;
        width: auto !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
        align-items: center;
    }

    .assessify-dashboard #layout-navbar .search-bar-top {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 2.7rem;
        min-height: 2.7rem;
        padding: .55rem .7rem;
        font-size: .78rem;
    }

    .assessify-dashboard #layout-navbar .dashboard-search-loader {
        right: 0;
        bottom: -5px;
        left: 0;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse > .navbar-nav:last-child {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 2.75rem;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 0 0 auto;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: .2rem;
        overflow: visible !important;
    }

    .assessify-dashboard #layout-navbar .top-summary {
        display: inline-flex !important;
        min-width: 0;
        min-height: 2.75rem;
        align-items: center;
        flex: 0 0 auto;
        margin: 0 !important;
        padding: .25rem .3rem !important;
        font-size: .68rem;
        line-height: 1.15;
        white-space: nowrap;
    }

    .assessify-dashboard #layout-navbar .navbar-nav:last-child > span,
    .assessify-dashboard #layout-navbar .dashboard-register-item {
        display: none !important;
    }

    .assessify-dashboard #layout-navbar .dashboard-tour-trigger,
    .assessify-dashboard #layout-navbar .navbar-nav:last-child > li > a,
    .assessify-dashboard #layout-navbar .dropdown-user .nav-link {
        display: inline-flex;
        width: 2.75rem;
        min-width: 2.75rem;
        height: 2.75rem;
        min-height: 2.75rem;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
        padding: .4rem !important;
        border-radius: 9px;
    }

    .assessify-dashboard #layout-navbar .dashboard-tour-trigger span {
        display: none !important;
    }

    .assessify-dashboard #layout-navbar .dropdown-user {
        position: static !important;
        flex: 0 0 auto;
    }

    .assessify-dashboard #layout-navbar .dropdown-user .nav-link {
        padding: .2rem !important;
    }

    .assessify-dashboard #layout-navbar .dropdown-user .avatar,
    .assessify-dashboard #layout-navbar .dropdown-user .avatar-initial {
        width: 2.2rem;
        height: 2.2rem;
    }

    .assessify-dashboard #layout-navbar .dropdown-menu {
        right: .75rem !important;
        left: .75rem !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    /* Reset all movable/widget widths before assigning the phone order. */
    .assessify-dashboard .dashboard-analysis-layout {
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row;
        gap: .85rem !important;
        margin: 0 0 1rem !important;
        padding: 0 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid {
        display: contents !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget,
    .assessify-dashboard .dashboard-analysis-layout > .map-widget,
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario {
        position: static !important;
        inset: auto !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        align-self: stretch !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget { grid-column: 1; grid-row: 1; }
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget { grid-column: 1; grid-row: 2; }
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget { grid-column: 1; grid-row: 3; }
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget { grid-column: 1; grid-row: 4; }
    .assessify-dashboard .dashboard-analysis-layout > .map-widget { grid-column: 1; grid-row: 5; }
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario { grid-column: 1; grid-row: 6; }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget,
    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        display: flex !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .card {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    /* Score: no nested scroll area on a phone. The whole card must be allowed
       to grow so every driver, disclaimer, and CTA remains reachable. */
    .assessify-dashboard #meter-widget .card-body {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        padding: .95rem !important;
    }

    .assessify-dashboard #meter-widget .assessify-priority-impact {
        margin-bottom: .8rem;
        padding: .75rem .7rem .65rem;
    }

    .assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-heading h5 {
        font-size: .92rem;
        line-height: 1.25;
    }

    .assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-grid {
        grid-template-columns: 1fr !important;
        gap: .35rem;
    }

    .assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-grid > div {
        display: flex;
        min-width: 0;
        align-items: baseline;
        justify-content: space-between;
        gap: .65rem;
        padding: .55rem .6rem;
    }

    .assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-grid span {
        min-height: 0;
        font-size: .62rem;
    }

    .assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-grid strong {
        margin: 0;
        font-size: .92rem;
        white-space: nowrap;
    }

    .assessify-dashboard #meter-widget .assessify-priority-impact .assessify-refund-method {
        margin-top: .55rem;
        font-size: .59rem;
        line-height: 1.5;
    }

    .assessify-dashboard #meter-widget .assessify-score-card {
        width: 100%;
        min-width: 0;
    }

    .assessify-dashboard #meter-widget .assessify-score-gauge-wrap {
        width: 100%;
        height: clamp(205px, 54vw, 235px);
        min-height: 205px;
        padding: 0;
    }

    .assessify-dashboard #meter-widget .assessify-score-gauge {
        width: 100%;
        max-width: 520px;
    }

    .assessify-dashboard #meter-widget .assessify-score-center {
        top: clamp(80px, 23vw, 98px);
    }

    .assessify-dashboard #meter-widget .assessify-score-number {
        font-size: clamp(2.7rem, 11vw, 3.4rem);
    }

    .assessify-dashboard #meter-widget .assessify-score-number small {
        font-size: 1.15rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-scale {
        right: 3%;
        bottom: 3px;
        left: 3%;
    }

    .assessify-dashboard #meter-widget .assessify-score-description {
        max-width: none;
        margin-top: .5rem;
        font-size: .74rem;
        line-height: 1.5;
    }

    .assessify-dashboard #meter-widget .assessify-score-range {
        flex-wrap: wrap;
        margin-top: .65rem;
        padding-top: .65rem;
        font-size: .68rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-range strong {
        margin-left: auto;
        font-size: .8rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers {
        gap: .4rem;
        margin-top: .65rem;
        padding: .75rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers span {
        gap: .12rem;
        padding-bottom: .35rem;
        border-bottom: 1px solid rgba(121, 158, 178, .14);
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers span:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers span b {
        font-size: .7rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers span small {
        font-size: .66rem;
        line-height: 1.35;
    }

    .assessify-dashboard #meter-widget .assessify-score-next {
        margin-top: .8rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-primary-cta {
        width: 100%;
        min-height: 2.75rem;
        padding: .7rem .8rem;
        font-size: .74rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-disclaimer {
        margin-top: .65rem;
        font-size: .62rem;
        line-height: 1.5;
    }

    /* Property card: long addresses and APNs wrap instead of pushing the card
       wider than the viewport. */
    .assessify-dashboard #info-widget .card,
    .assessify-dashboard #info-widget .small-widgets {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .assessify-dashboard #info-widget .small-widgets {
        gap: .45rem;
        padding: 1rem !important;
    }

    .assessify-dashboard #info-widget .card-title.text-primary,
    .assessify-dashboard #info-widget .card-body h4 {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .assessify-dashboard #info-widget .card-title.text-primary {
        padding-right: 0;
        font-size: clamp(1.05rem, 5vw, 1.25rem);
        line-height: 1.25;
    }

    .assessify-dashboard #info-widget .card-body h4 {
        font-size: .8rem;
        letter-spacing: .06em;
    }

    .assessify-dashboard #info-widget .card-body > p {
        min-height: 0;
        margin-bottom: .35rem !important;
        padding: .6rem .7rem;
        font-size: .76rem;
        line-height: 1.35;
    }

    .assessify-dashboard #info-widget .assessify-property-outlook {
        margin: .2rem 0 .35rem;
        padding: .65rem .7rem;
    }

    .assessify-dashboard #info-widget .assessify-property-outlook span {
        font-size: .62rem;
    }

    .assessify-dashboard #info-widget .assessify-property-outlook strong {
        font-size: .85rem;
    }

    .assessify-dashboard #info-widget .assessify-property-outlook small {
        font-size: .59rem;
        line-height: 1.35;
    }

    .assessify-dashboard #info-widget .dashboard-report-shortcut {
        position: static !important;
        width: fit-content;
        max-width: 100%;
        min-height: 2.5rem;
        align-self: flex-start;
        margin: 0 0 .25rem;
        padding: .55rem .7rem;
        font-size: .68rem;
    }

    .assessify-dashboard #info-widget .property-icons {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .45rem;
    }

    .assessify-dashboard #info-widget .property-icons > div {
        min-width: 0;
        min-height: 3.6rem;
        padding: .5rem .35rem !important;
    }

    .assessify-dashboard #info-widget .property-icons i {
        font-size: 1.05rem;
    }

    .assessify-dashboard #info-widget .property-icons h4 {
        font-size: .92rem;
    }

    .assessify-dashboard #info-widget .property-icons > div::after {
        font-size: .62rem;
    }

    .assessify-dashboard #info-widget .property-value-summary {
        width: 100%;
        margin-top: .55rem;
        padding: .75rem;
    }

    .assessify-dashboard #info-widget .property-value-summary-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: .2rem;
    }

    .assessify-dashboard #info-widget .property-value-summary-heading span {
        font-size: .62rem;
    }

    .assessify-dashboard #info-widget .property-value-summary-heading small {
        font-size: .59rem;
        text-align: left;
    }

    .assessify-dashboard #info-widget .property-value-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .45rem;
    }

    .assessify-dashboard #info-widget .property-value-metric {
        min-width: 0;
        padding: .65rem .5rem .6rem;
    }

    .assessify-dashboard #info-widget .property-value-metric > span {
        min-height: 0;
        font-size: .66rem;
        line-height: 1.3;
    }

    .assessify-dashboard #info-widget .property-value-metric strong {
        margin-top: .25rem;
        font-size: clamp(1rem, 5vw, 1.25rem);
    }

    .assessify-dashboard #info-widget .property-value-metric small {
        font-size: .58rem;
        white-space: normal;
    }

    .assessify-dashboard #info-widget .property-value-metric-tax {
        grid-column: 1 / -1;
    }

    /* Both map cards fill the phone column and retain a stable visual height
       while the Google map/Street View surface flexes inside the shell. */
    .assessify-dashboard .dashboard-analysis-layout > .map-widget .map-card-shell,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget .map-card-shell {
        width: 100% !important;
        height: clamp(230px, 72vw, 315px) !important;
        min-height: clamp(230px, 72vw, 315px) !important;
        aspect-ratio: auto !important;
        padding: .65rem !important;
    }

    .assessify-dashboard .map-card-heading {
        min-width: 0;
        gap: .5rem;
    }

    .assessify-dashboard .map-card-heading > div {
        min-width: 0;
    }

    .assessify-dashboard .map-card-heading span,
    .assessify-dashboard .map-card-heading strong {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .assessify-dashboard .map-card-heading span {
        font-size: .56rem;
    }

    .assessify-dashboard .map-card-heading strong {
        font-size: .88rem;
    }

    .assessify-dashboard .map-card-heading > i {
        width: 1.85rem;
        height: 1.85rem;
        flex-basis: 1.85rem;
        font-size: .98rem;
    }

    .assessify-dashboard .map-card-surface {
        width: 100%;
        min-height: 0;
    }

    .assessify-dashboard .map-card-surface #map,
    .assessify-dashboard .map-card-surface #street-view {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    /* Sales Ranking becomes a stack of self-labelled sale cards on phones.
       This preserves all ten fields without squeezing ten columns into 300px. */
    .assessify-dashboard #funnel-widget .funnel-card {
        width: 100% !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .assessify-dashboard #funnel-widget .funnel-card-heading {
        min-width: 0;
        padding: .9rem .85rem .75rem;
    }

    .assessify-dashboard #funnel-widget .funnel-card-heading > div {
        min-width: 0;
    }

    .assessify-dashboard #funnel-widget .funnel-card-heading p {
        max-width: none;
        font-size: .66rem;
        line-height: 1.45;
    }

    .assessify-dashboard #funnel-widget .funnel-card-icon {
        width: 2.1rem;
        height: 2.1rem;
        flex-basis: 2.1rem;
    }

    .assessify-dashboard #funnel-widget .funnel-table-scroll {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: .7rem .7rem .85rem !important;
        overflow: visible !important;
    }

    .assessify-dashboard #funnel-widget .funnel-table-scroll .dt-container,
    .assessify-dashboard #funnel-widget .dt-layout-row,
    .assessify-dashboard #funnel-widget .dt-layout-table,
    .assessify-dashboard #funnel-widget .dt-layout-table .dt-layout-cell {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .assessify-dashboard #funnel-widget .dt-layout-row:first-child {
        margin: 0 0 .65rem !important;
    }

    .assessify-dashboard #funnel-widget .dt-search,
    .assessify-dashboard #funnel-widget .dt-search label {
        display: flex !important;
        width: 100% !important;
        min-width: 0;
        align-items: stretch;
    }

    .assessify-dashboard #funnel-widget .dt-search {
        justify-content: stretch;
    }

    .assessify-dashboard #funnel-widget .dt-search label {
        gap: .35rem;
        flex-direction: column;
        color: #6c8391;
        font-size: .65rem;
        font-weight: 750;
    }

    .assessify-dashboard #funnel-widget .dt-search input {
        width: 100% !important;
        height: 2.55rem;
        margin: 0 !important;
        padding: .55rem .65rem;
        font-size: .76rem;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-spacing: 0;
        table-layout: auto !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table colgroup,
    .assessify-dashboard #funnel-widget .funnel-summary-table thead {
        display: none !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody {
        display: grid !important;
        width: 100% !important;
        gap: .65rem;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody tr {
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr);
        gap: .18rem;
        margin: 0 !important;
        padding: .75rem .7rem;
        background: #fbfdfd !important;
        border: 1px solid #dfecef !important;
        border-radius: 11px;
        transform: none !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody tr:hover {
        transform: none !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td,
    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:first-child,
    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:last-child {
        display: grid !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        grid-template-columns: minmax(5.7rem, .85fr) minmax(0, 1.15fr);
        gap: .5rem;
        align-items: baseline;
        padding: .18rem 0 !important;
        color: #3c596b !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        font-size: .72rem;
        line-height: 1.35;
        text-align: right !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        overflow: visible;
        text-overflow: clip;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td::before {
        display: block;
        min-width: 0;
        color: #7890a0;
        content: attr(data-label);
        font-size: .59rem;
        font-weight: 800;
        letter-spacing: .02em;
        line-height: 1.25;
        text-align: left;
        text-transform: uppercase;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:first-child {
        display: block !important;
        margin-bottom: .25rem;
        padding: 0 0 .5rem !important;
        color: #234c64 !important;
        border-bottom: 1px solid #e1ecee !important;
        font-size: .8rem;
        font-weight: 800;
        text-align: left !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:first-child::before {
        margin-bottom: .16rem;
        font-size: .57rem;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:nth-child(2),
    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:nth-child(3) {
        color: #178d9a !important;
        font-weight: 850;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody tr.red-bg td {
        color: #7c5550 !important;
        background: transparent !important;
        border-color: transparent !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody tr.red-bg td:first-child {
        border-bottom-color: #f1d8d0 !important;
    }

    .assessify-dashboard #funnel-widget .dataTables_empty,
    .assessify-dashboard #funnel-widget .dt-empty {
        display: block !important;
        padding: 1rem !important;
        text-align: center !important;
    }

    /* Matrix remains horizontally scrollable only inside its own comparison
       rail. The document itself never inherits the matrix width. */
    .assessify-dashboard .dashboard-matrix-layout,
    .assessify-dashboard .dashboard-history-layout {
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: .85rem !important;
        margin: 0 0 1rem !important;
        padding: 0 !important;
    }

    .assessify-dashboard .dashboard-matrix-layout > #grid-widget,
    .assessify-dashboard .dashboard-history-layout > #comparable-widget,
    .assessify-dashboard .dashboard-history-layout > #roll-widget {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .assessify-dashboard #grid-widget,
    .assessify-dashboard #grid-widget > .card,
    .assessify-dashboard #comparable-widget,
    .assessify-dashboard #comparable-widget > .card,
    .assessify-dashboard #roll-widget,
    .assessify-dashboard #roll-widget > .row,
    .assessify-dashboard #roll-widget .wizard-dashboard-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .assessify-dashboard #grid-widget > .card,
    .assessify-dashboard #comparable-widget > .card {
        overflow: hidden !important;
    }

    .assessify-dashboard #grid-widget .card-header {
        display: flex;
        min-width: 0;
        align-items: center;
        flex-wrap: wrap;
        gap: .55rem;
        margin: 0 !important;
        padding: .85rem .9rem !important;
        font-size: .88rem;
        line-height: 1.3;
    }

    .assessify-dashboard #grid-widget .case-calculator-trigger {
        float: none !important;
        max-width: 100%;
        min-height: 2.45rem;
        margin: 0 !important;
        padding: .55rem .65rem;
        font-size: .65rem;
        line-height: 1.25;
        white-space: normal;
    }

    .assessify-dashboard #grid-widget .card-body {
        width: 100%;
        min-width: 0;
        overflow: visible !important;
    }

    .assessify-dashboard #grid-widget .row.margin-10.flex-nowrap {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex-wrap: nowrap !important;
        margin: 0 !important;
        padding: .7rem !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch;
    }

    .assessify-dashboard #grid-widget .grid-area {
        flex: 0 0 245px;
        width: 245px !important;
        min-width: 245px !important;
        max-width: 245px !important;
    }

    .assessify-dashboard #grid-widget .grid-area-subject {
        flex: 0 0 300px;
        width: 300px !important;
        min-width: 300px !important;
        max-width: 300px !important;
    }

    .assessify-dashboard #grid-widget .row.m-2:has(.adjustment-value-label) {
        width: auto !important;
        max-width: none !important;
        margin: 1rem .7rem !important;
        padding: .9rem 1rem;
    }

    .assessify-dashboard #grid-widget .comparison-matrix-deferred {
        width: 100%;
        min-width: 0;
    }

    .assessify-dashboard #comparable-widget .card-header {
        padding: .85rem .9rem !important;
        font-size: .88rem;
    }

    .assessify-dashboard #roll-widget > .row {
        display: block !important;
        margin: 0 !important;
    }

    .assessify-dashboard #roll-widget .wizard-dashboard-card {
        padding: 1rem;
    }

    .assessify-dashboard .wizard-dashboard-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .assessify-dashboard .wizard-dashboard-edit {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 359.98px) {
    .assessify-dashboard .main-container {
        padding-right: .6rem !important;
        padding-left: .6rem !important;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse {
        padding-right: .6rem;
        padding-left: .6rem;
    }

    .assessify-dashboard #layout-navbar .app-brand-logo,
    .assessify-dashboard #layout-navbar .app-brand-logo img {
        width: 76px !important;
    }

    .assessify-dashboard #layout-navbar .top-summary {
        padding-right: .15rem !important;
        padding-left: .15rem !important;
        font-size: .64rem;
    }

    .assessify-dashboard #layout-navbar .dashboard-tour-trigger,
    .assessify-dashboard #layout-navbar .navbar-nav:last-child > li > a,
    .assessify-dashboard #layout-navbar .dropdown-user .nav-link {
        width: 2.55rem;
        min-width: 2.55rem;
        height: 2.55rem;
        min-height: 2.55rem;
    }

    .assessify-dashboard #info-widget .property-value-summary-grid {
        gap: .35rem;
    }

    .assessify-dashboard #info-widget .property-value-metric {
        padding-right: .35rem;
        padding-left: .35rem;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td,
    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:first-child {
        grid-template-columns: minmax(5.25rem, .8fr) minmax(0, 1.2fr);
        font-size: .68rem;
    }
}

/* Public tax history: use the source records as a compact, Zillow-style
   table instead of turning the Prop 13 values into an opaque chart. */
.assessify-dashboard .public-tax-history-card {
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    background: #fff !important;
    border: 1px solid #d8e5eb !important;
    box-shadow: 0 8px 24px rgba(24, 80, 109, .08);
}

.assessify-dashboard .public-tax-history-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .8rem;
    padding: 1rem 1.15rem .8rem;
    border-bottom: 1px solid #e7eef2;
}

.assessify-dashboard .public-tax-history-header > div {
    min-width: 0;
}

.assessify-dashboard .public-tax-history-kicker {
    display: block;
    color: #178d9a;
    font-size: .56rem;
    font-weight: 850;
    letter-spacing: .13em;
    line-height: 1.2;
}

.assessify-dashboard .public-tax-history-header h5 {
    margin: .25rem 0 0;
    color: #173752;
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.2;
}

.assessify-dashboard .public-tax-history-header p {
    margin: .3rem 0 0;
    color: #7890a0;
    font-size: .67rem;
    line-height: 1.45;
}

.assessify-dashboard .public-tax-history-source {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .25rem;
    padding: .35rem .5rem;
    color: #23766d;
    background: #e7f7f3;
    border: 1px solid rgba(23, 141, 154, .14);
    border-radius: 999px;
    font-size: .59rem;
    font-weight: 800;
    white-space: nowrap;
}

.assessify-dashboard .public-tax-history-table-wrap {
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
    overflow-x: auto;
    padding: 0 .9rem;
}

.assessify-dashboard .public-tax-history-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    color: #244862;
}

.assessify-dashboard .public-tax-history-table th,
.assessify-dashboard .public-tax-history-table td {
    min-width: 0;
    padding: .63rem .35rem;
    border-bottom: 1px solid #edf2f3;
    vertical-align: middle;
}

.assessify-dashboard .public-tax-history-table thead th {
    color: #7890a0;
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .04em;
    line-height: 1.25;
    text-align: left;
    text-transform: uppercase;
}

.assessify-dashboard .public-tax-history-table thead th:nth-child(1) { width: 18%; }
.assessify-dashboard .public-tax-history-table thead th:nth-child(2) { width: 38%; text-align: right; }
.assessify-dashboard .public-tax-history-table thead th:nth-child(3) { width: 44%; text-align: right; }

.assessify-dashboard .public-tax-history-table tbody tr:last-child th,
.assessify-dashboard .public-tax-history-table tbody tr:last-child td {
    border-bottom: 0;
}

.assessify-dashboard .public-tax-history-table tbody tr:hover {
    background: #f8fcfc;
}

.assessify-dashboard .public-tax-history-table tbody th {
    color: #234c64;
    font-size: .77rem;
    font-weight: 850;
    line-height: 1.25;
    text-align: left;
    white-space: nowrap;
}

.assessify-dashboard .public-tax-history-table tbody th small {
    display: inline-flex;
    margin-left: .25rem;
    padding: .17rem .3rem;
    color: #23766d;
    background: #e7f7f3;
    border-radius: 4px;
    font-size: .48rem;
    font-weight: 850;
    letter-spacing: .02em;
    vertical-align: middle;
}

.assessify-dashboard .public-tax-history-table tbody td {
    color: #5f7888;
    font-size: .73rem;
    line-height: 1.25;
    text-align: right;
    white-space: nowrap;
}

.assessify-dashboard .public-tax-history-table tbody td strong {
    display: block;
    color: #173752;
    font-size: .78rem;
    font-weight: 850;
}

.assessify-dashboard .public-tax-history-table .public-tax-history-value-cell {
    text-align: right;
}

.assessify-dashboard .public-tax-history-table .public-tax-history-value-cell strong {
    display: inline;
}

.assessify-dashboard .public-tax-history-table .public-tax-history-change {
    display: inline-block;
    margin-left: .35rem;
    color: #178d9a;
    font-size: .62rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.2;
}

.assessify-dashboard .public-tax-history-table .public-tax-history-change.is-negative {
    color: #c76a4f;
}

.assessify-dashboard .public-tax-history-table .public-tax-history-unavailable {
    color: #91a2ac;
    font-size: .78rem;
}

.assessify-dashboard .public-tax-history-note {
    margin: 0;
    padding: .65rem 1.15rem .9rem;
    color: #7890a0;
    font-size: .59rem;
    line-height: 1.45;
}

.assessify-dashboard .public-tax-history-empty {
    display: flex;
    min-height: 180px;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    padding: 1.5rem;
    color: #6b8193;
    text-align: left;
}

.assessify-dashboard .public-tax-history-empty > i {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;
    place-items: center;
    color: #178d9a;
    background: #e7f7f3;
    border-radius: 10px;
    font-size: 1.2rem;
}

.assessify-dashboard .public-tax-history-empty strong,
.assessify-dashboard .public-tax-history-empty span {
    display: block;
}

.assessify-dashboard .public-tax-history-empty strong {
    color: #173752;
    font-size: .8rem;
}

.assessify-dashboard .public-tax-history-empty span {
    margin-top: .2rem;
    font-size: .67rem;
    line-height: 1.45;
}

@media (max-width: 767.98px) {
    .assessify-dashboard .public-tax-history-card {
        height: auto !important;
    }

    .assessify-dashboard .public-tax-history-header {
        padding: .9rem .9rem .75rem;
    }

    .assessify-dashboard .public-tax-history-header h5 {
        font-size: .95rem;
    }

    .assessify-dashboard .public-tax-history-header p {
        font-size: .63rem;
    }

    .assessify-dashboard .public-tax-history-source {
        padding: .3rem .4rem;
        font-size: .52rem;
    }

    .assessify-dashboard .public-tax-history-table-wrap {
        padding: 0 .7rem;
    }

    .assessify-dashboard .public-tax-history-table th,
    .assessify-dashboard .public-tax-history-table td {
        padding: .58rem .25rem;
    }

    .assessify-dashboard .public-tax-history-table thead th {
        font-size: .53rem;
    }

    .assessify-dashboard .public-tax-history-table tbody th,
    .assessify-dashboard .public-tax-history-table tbody td,
    .assessify-dashboard .public-tax-history-table tbody td strong {
        font-size: .69rem;
    }

    .assessify-dashboard .public-tax-history-table tbody th small {
        display: block;
        width: fit-content;
        margin: .2rem 0 0;
    }

    .assessify-dashboard .public-tax-history-note {
        padding: .6rem .9rem .8rem;
        font-size: .56rem;
    }
}

@media (max-width: 359.98px) {
    .assessify-dashboard .public-tax-history-header {
        align-items: flex-start;
        flex-direction: column;
        gap: .45rem;
    }

    .assessify-dashboard .public-tax-history-source {
        align-self: flex-start;
    }
}

/* Final responsive shell hardening. The original dashboard shell uses a
   flex row with an absolutely positioned navbar at tablet sizes. Re-establish
   normal document flow before the card layout is applied so the viewport is
   never wider than the device. */
@media (max-width: 991.98px) {
    html:has(body.assessify-dashboard) {
        overflow-x: hidden;
    }

    body.assessify-dashboard {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    .assessify-dashboard .layout-wrapper.layout-content-navbar,
    .assessify-dashboard .layout-container {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .assessify-dashboard .layout-menu {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: 3.35rem !important;
        min-height: 3.35rem !important;
        max-height: 3.35rem !important;
        margin: 0 !important;
        overflow: hidden !important;
        background-image: none !important;
        background: rgba(255, 255, 255, .94) !important;
        border: 1px solid rgba(167, 187, 201, .42);
        box-shadow: 0 5px 18px rgba(24, 80, 109, .08);
    }

    .assessify-dashboard .layout-menu .menu-inner {
        display: flex !important;
        width: 100% !important;
        min-width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        align-items: center !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: .15rem;
        padding: .4rem .6rem !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .assessify-dashboard .layout-menu .menu-inner::-webkit-scrollbar {
        display: none;
    }

    .assessify-dashboard .layout-menu .menu-inner-shadow,
    .assessify-dashboard .layout-menu .menu-header,
    .assessify-dashboard .open_close_menu,
    .assessify-dashboard .layout-overlay,
    .assessify-dashboard .content-backdrop {
        display: none !important;
    }

    .assessify-dashboard .layout-menu .menu-item {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
    }

    .assessify-dashboard .layout-menu .menu-link {
        display: inline-flex !important;
        width: auto !important;
        max-width: none !important;
        min-height: 2.45rem !important;
        align-items: center;
        gap: .25rem;
        margin: 0 !important;
        padding: .55rem .7rem !important;
        border-radius: 9px;
        font-size: .74rem !important;
        line-height: 1.1;
        white-space: nowrap;
    }

    .assessify-dashboard .layout-menu .menu-link > div {
        width: auto !important;
        max-width: none !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap;
    }

    .assessify-dashboard .layout-menu .menu-link small {
        display: none !important;
    }

    .assessify-dashboard .layout-menu .menu-icon {
        width: 1.05rem;
        margin-right: .05rem;
        font-size: .95rem;
        text-align: center;
    }

    .assessify-dashboard .layout-page {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
    }

    .assessify-dashboard .content-wrapper {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-top: 0 !important;
        padding: 0 !important;
    }

    .assessify-dashboard #layout-navbar {
        position: relative !important;
        inset: auto !important;
        display: block !important;
        width: calc(100% - 1rem) !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        margin: .6rem .5rem 0 !important;
        overflow: visible !important;
        border-radius: 14px !important;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        align-items: stretch !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: .55rem;
        padding: .65rem .75rem .7rem !important;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse > .navbar-nav:first-child {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 2.7rem;
        align-items: center !important;
        flex: 0 0 auto;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: .45rem;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse > .navbar-nav:first-child .app-brand-link {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0;
        flex: 0 0 auto;
        align-items: center;
        padding: 0 !important;
    }

    .assessify-dashboard #layout-navbar .app-brand-logo,
    .assessify-dashboard #layout-navbar .app-brand-logo img {
        display: block;
        width: clamp(76px, 20vw, 112px) !important;
        height: auto;
        max-width: 100%;
        max-height: none !important;
    }

    .assessify-dashboard #layout-navbar .dashboard-search-wrap {
        display: flex !important;
        width: auto !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
        align-items: center;
    }

    .assessify-dashboard #layout-navbar .search-bar-top {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 2.7rem;
        min-height: 2.7rem;
        padding: .55rem .7rem;
        overflow: hidden;
        font-size: .78rem;
        text-overflow: ellipsis;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse > .navbar-nav:last-child {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 2.75rem;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 0 0 auto;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: .2rem;
        overflow: visible !important;
    }

    .assessify-dashboard #layout-navbar .navbar-nav:last-child > span,
    .assessify-dashboard #layout-navbar .dashboard-register-item {
        display: none !important;
    }

    .assessify-dashboard #layout-navbar .top-summary {
        display: inline-flex !important;
        min-width: 0;
        min-height: 2.75rem;
        align-items: center;
        flex: 0 0 auto;
        margin: 0 !important;
        padding: .25rem .3rem !important;
        font-size: .68rem;
        line-height: 1.15;
        white-space: nowrap;
    }

    .assessify-dashboard #layout-navbar .dashboard-tour-trigger,
    .assessify-dashboard #layout-navbar .navbar-nav:last-child > li > a,
    .assessify-dashboard #layout-navbar .dropdown-user .nav-link {
        display: inline-flex;
        width: 2.75rem;
        min-width: 2.75rem;
        height: 2.75rem;
        min-height: 2.75rem;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
        padding: .4rem !important;
        border-radius: 9px;
    }

    .assessify-dashboard #layout-navbar .dashboard-tour-trigger span {
        display: none !important;
    }

    .assessify-dashboard #layout-navbar .dropdown-user {
        position: static !important;
        flex: 0 0 auto;
    }

    .assessify-dashboard #layout-navbar .dropdown-user .nav-link {
        padding: .2rem !important;
    }

    .assessify-dashboard #layout-navbar .dropdown-user .avatar,
    .assessify-dashboard #layout-navbar .dropdown-user .avatar-initial {
        width: 2.2rem;
        height: 2.2rem;
    }

    .assessify-dashboard #layout-navbar .dropdown-menu {
        right: .75rem !important;
        left: .75rem !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .assessify-dashboard .container-xxl.flex-grow-1.immersive-mode {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 1rem 0 1.5rem !important;
    }

    .assessify-dashboard .main-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 .75rem 1.25rem !important;
    }

    .assessify-dashboard .dashboard-analysis-layout {
        display: grid !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row;
        gap: .85rem !important;
        margin: 0 0 1rem !important;
        padding: 0 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid {
        display: contents !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget,
    .assessify-dashboard .dashboard-analysis-layout > .map-widget,
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario {
        position: static !important;
        inset: auto !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        align-self: stretch !important;
        grid-column: 1 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget { grid-row: 1 !important; }
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget { grid-row: 2 !important; }
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget { grid-row: 3 !important; }
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget { grid-row: 4 !important; }
    .assessify-dashboard .dashboard-analysis-layout > .map-widget { grid-row: 5 !important; }
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario { grid-row: 6 !important; }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget,
    .assessify-dashboard .dashboard-analysis-layout > .map-widget,
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario {
        display: flex !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .map-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .assessify-refund-scenario .card {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .assessify-dashboard .dashboard-matrix-layout,
    .assessify-dashboard .dashboard-history-layout {
        display: grid !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: .85rem !important;
        margin: 0 0 1rem !important;
        padding: 0 !important;
    }

    .assessify-dashboard .dashboard-matrix-layout > #grid-widget,
    .assessify-dashboard .dashboard-history-layout > #comparable-widget,
    .assessify-dashboard .dashboard-history-layout > #roll-widget {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .assessify-dashboard #grid-widget,
    .assessify-dashboard #grid-widget > .card,
    .assessify-dashboard #comparable-widget,
    .assessify-dashboard #comparable-widget > .card,
    .assessify-dashboard #roll-widget,
    .assessify-dashboard #roll-widget > .row,
    .assessify-dashboard #roll-widget .wizard-dashboard-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .assessify-dashboard #grid-widget > .card,
    .assessify-dashboard #comparable-widget > .card {
        overflow: hidden !important;
    }
}

/* Tablet portrait: keep the comparison table readable with a private rail;
   phones use the stacked, labelled sale cards defined above. */
@media (min-width: 768px) and (max-width: 991.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .meter-widget .card,
    .assessify-dashboard .dashboard-analysis-layout > .first-card > .dashboard-summary-grid > .info-widget .card {
        min-height: 0 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .map-card-shell,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget .map-card-shell {
        width: 100% !important;
        height: clamp(260px, 45vw, 360px) !important;
        min-height: clamp(260px, 45vw, 360px) !important;
        aspect-ratio: auto !important;
    }

    .assessify-dashboard #funnel-widget .funnel-card {
        min-height: 0 !important;
    }

    .assessify-dashboard #funnel-widget .funnel-table-scroll {
        max-width: 100% !important;
        max-height: 430px !important;
        overflow-x: auto !important;
        overflow-y: auto !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table {
        display: table !important;
        width: 900px !important;
        min-width: 900px !important;
        max-width: none !important;
        table-layout: fixed !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table col.funnel-col-address { width: 24% !important; }
    .assessify-dashboard #funnel-widget .funnel-summary-table col.funnel-col-metric { width: 8.444% !important; }
    .assessify-dashboard #funnel-widget .funnel-summary-table thead,
    .assessify-dashboard #funnel-widget .funnel-summary-table tbody,
    .assessify-dashboard #funnel-widget .funnel-summary-table tr { display: table-row-group !important; }
    .assessify-dashboard #funnel-widget .funnel-summary-table thead { display: table-header-group !important; }
    .assessify-dashboard #funnel-widget .funnel-summary-table tr { display: table-row !important; }
    .assessify-dashboard #funnel-widget .funnel-summary-table th,
    .assessify-dashboard #funnel-widget .funnel-summary-table td { display: table-cell !important; }
}

/* Phone details: cards grow with their content, and only the comparison
   matrix retains a horizontal touch rail. */
@media (max-width: 767.98px) {
    .assessify-dashboard #meter-widget .card,
    .assessify-dashboard #meter-widget .card-body,
    .assessify-dashboard #info-widget .card,
    .assessify-dashboard #info-widget .card-body,
    .assessify-dashboard #funnel-widget .card {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .assessify-dashboard #meter-widget .card-body {
        padding: 1rem !important;
    }

    .assessify-dashboard #meter-widget .assessify-score-gauge-wrap {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        padding: 0;
    }

    .assessify-dashboard #meter-widget .assessify-score-gauge {
        display: none !important;
    }

    .assessify-dashboard #meter-widget .assessify-score-center {
        position: static !important;
        margin-top: .65rem;
        transform: none !important;
        text-align: center;
    }

    .assessify-dashboard #meter-widget .assessify-score-scale {
        display: none !important;
    }

    .assessify-dashboard #meter-widget .assessify-score-mobile-meter {
        display: block !important;
        width: 100%;
        height: .65rem;
        margin: .75rem 0 .25rem;
        overflow: hidden;
        background: #e8f0f2;
        border-radius: 999px;
    }

    .assessify-dashboard #meter-widget .assessify-score-mobile-meter span {
        display: block;
        height: 100%;
        max-width: 100%;
        background: #178d9a;
        border-radius: inherit;
    }

    .assessify-dashboard #meter-widget .assessify-score-description {
        max-width: none;
        margin-top: .55rem;
        font-size: .74rem;
        line-height: 1.5;
    }

    .assessify-dashboard #meter-widget .assessify-score-range {
        flex-wrap: wrap;
        margin-top: .7rem;
        padding-top: .65rem;
        font-size: .68rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-range strong {
        margin-left: auto;
        font-size: .8rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers {
        gap: .4rem;
        margin-top: .7rem;
        padding: .75rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers span {
        gap: .12rem;
        padding-bottom: .35rem;
        border-bottom: 1px solid rgba(121, 158, 178, .14);
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers span:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers span b {
        font-size: .7rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-drivers span small {
        font-size: .66rem;
        line-height: 1.35;
    }

    .assessify-dashboard #meter-widget .assessify-score-primary-cta {
        width: 100%;
        min-height: 2.75rem;
        padding: .7rem .8rem;
        font-size: .74rem;
    }

    .assessify-dashboard #meter-widget .assessify-score-disclaimer {
        margin-top: .65rem;
        font-size: .62rem;
        line-height: 1.5;
    }

    .assessify-dashboard #info-widget .small-widgets {
        gap: .5rem;
        padding: 1rem !important;
    }

    .assessify-dashboard #info-widget .card-title.text-primary,
    .assessify-dashboard #info-widget .card-body h4 {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .assessify-dashboard #info-widget .card-title.text-primary {
        padding-right: 0;
        font-size: clamp(1.05rem, 5vw, 1.25rem);
        line-height: 1.25;
    }

    .assessify-dashboard #info-widget .card-body h4 {
        font-size: .82rem;
    }

    .assessify-dashboard #info-widget .dashboard-report-shortcut {
        position: static !important;
        width: fit-content;
        max-width: 100%;
        min-height: 2.5rem;
        align-self: flex-start;
        margin: 0 0 .25rem;
        padding: .55rem .7rem;
        font-size: .68rem;
    }

    .assessify-dashboard #info-widget .property-icons {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .5rem;
    }

    .assessify-dashboard #info-widget .property-icons > div {
        min-width: 0;
        min-height: 3.7rem;
        padding: .55rem .35rem !important;
    }

    .assessify-dashboard #info-widget .property-icons h4 {
        font-size: .95rem;
    }

    .assessify-dashboard #info-widget .property-value-summary {
        width: 100%;
        margin-top: .75rem;
        padding: .8rem;
    }

    .assessify-dashboard #info-widget .property-value-summary-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: .2rem;
    }

    .assessify-dashboard #info-widget .property-value-summary-heading small {
        text-align: left;
    }

    .assessify-dashboard #info-widget .property-value-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .5rem;
    }

    .assessify-dashboard #info-widget .property-value-metric {
        min-width: 0;
        padding: .7rem .5rem .65rem;
    }

    .assessify-dashboard #info-widget .property-value-metric > span {
        min-height: 0;
        font-size: .67rem;
        line-height: 1.3;
    }

    .assessify-dashboard #info-widget .property-value-metric strong {
        font-size: clamp(1rem, 5vw, 1.25rem);
    }

    .assessify-dashboard #info-widget .property-value-metric small {
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .assessify-dashboard #info-widget .property-value-metric-tax {
        grid-column: 1 / -1;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .map-card-shell,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget .map-card-shell {
        width: 100% !important;
        height: clamp(230px, 72vw, 315px) !important;
        min-height: clamp(230px, 72vw, 315px) !important;
        aspect-ratio: auto !important;
        padding: .65rem !important;
    }

    .assessify-dashboard .map-card-surface {
        width: 100%;
        min-height: 0;
    }

    .assessify-dashboard .map-card-surface #map,
    .assessify-dashboard .map-card-surface #street-view {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    .assessify-dashboard #funnel-widget .funnel-card-heading {
        min-width: 0;
        padding: .9rem .85rem .75rem;
    }

    .assessify-dashboard #funnel-widget .funnel-card-heading > div {
        min-width: 0;
    }

    .assessify-dashboard #funnel-widget .funnel-card-heading p {
        max-width: none;
        font-size: .66rem;
        line-height: 1.45;
    }

    .assessify-dashboard #funnel-widget .funnel-table-scroll {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: .7rem .7rem .85rem !important;
        overflow: visible !important;
    }

    .assessify-dashboard #funnel-widget .funnel-table-scroll .dt-container,
    .assessify-dashboard #funnel-widget .dt-layout-row,
    .assessify-dashboard #funnel-widget .dt-layout-table,
    .assessify-dashboard #funnel-widget .dt-layout-table .dt-layout-cell {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .assessify-dashboard #funnel-widget .dt-search,
    .assessify-dashboard #funnel-widget .dt-search label {
        display: flex !important;
        width: 100% !important;
        min-width: 0;
        align-items: stretch;
    }

    .assessify-dashboard #funnel-widget .dt-search label {
        gap: .35rem;
        flex-direction: column;
        color: #6c8391;
        font-size: .65rem;
        font-weight: 750;
    }

    .assessify-dashboard #funnel-widget .dt-search input {
        width: 100% !important;
        height: 2.55rem;
        margin: 0 !important;
        padding: .55rem .65rem;
        font-size: .76rem;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        table-layout: auto !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table colgroup,
    .assessify-dashboard #funnel-widget .funnel-summary-table thead {
        display: none !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody {
        display: grid !important;
        width: 100% !important;
        gap: .65rem;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody tr {
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr);
        gap: .18rem;
        margin: 0 !important;
        padding: .75rem .7rem;
        background: #fbfdfd !important;
        border: 1px solid #dfecef !important;
        border-radius: 11px;
        transform: none !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td,
    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:last-child {
        display: grid !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        grid-template-columns: minmax(5.7rem, .85fr) minmax(0, 1.15fr);
        gap: .5rem;
        align-items: baseline;
        padding: .18rem 0 !important;
        color: #3c596b !important;
        background: transparent !important;
        border: 0 !important;
        font-size: .72rem;
        line-height: 1.35;
        text-align: right !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td::before {
        display: block;
        min-width: 0;
        color: #7890a0;
        content: attr(data-label);
        font-size: .59rem;
        font-weight: 800;
        letter-spacing: .02em;
        line-height: 1.25;
        text-align: left;
        text-transform: uppercase;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:first-child {
        display: block !important;
        margin-bottom: .25rem;
        padding: 0 0 .5rem !important;
        color: #234c64 !important;
        border-bottom: 1px solid #e1ecee !important;
        font-size: .8rem;
        font-weight: 800;
        text-align: left !important;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:first-child::before {
        margin-bottom: .16rem;
        font-size: .57rem;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:nth-child(2),
    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:nth-child(3) {
        color: #178d9a !important;
        font-weight: 850;
    }

    .assessify-dashboard #grid-widget .card-header {
        display: flex;
        min-width: 0;
        align-items: center;
        flex-wrap: wrap;
        gap: .55rem;
        margin: 0 !important;
        padding: .85rem .9rem !important;
        font-size: .88rem;
        line-height: 1.3;
    }

    .assessify-dashboard #grid-widget .case-calculator-trigger {
        float: none !important;
        max-width: 100%;
        min-height: 2.45rem;
        margin: 0 !important;
        padding: .55rem .65rem;
        font-size: .65rem;
        line-height: 1.25;
        white-space: normal;
    }

    .assessify-dashboard #grid-widget .card-body {
        width: 100%;
        min-width: 0;
        overflow: visible !important;
    }

    .assessify-dashboard #grid-widget .row.margin-10.flex-nowrap {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex-wrap: nowrap !important;
        margin: 0 !important;
        padding: .7rem !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch;
    }

    .assessify-dashboard #grid-widget .grid-area {
        flex: 0 0 245px;
        width: 245px !important;
        min-width: 245px !important;
        max-width: 245px !important;
    }

    .assessify-dashboard #grid-widget .grid-area-subject {
        flex: 0 0 320px;
        width: 320px !important;
        min-width: 320px !important;
        max-width: 320px !important;
    }

    .assessify-dashboard #grid-widget .row.m-2:has(.adjustment-value-label) {
        width: auto !important;
        max-width: none !important;
        margin: 1rem .7rem !important;
        padding: .9rem 1rem;
    }

    .assessify-dashboard #roll-widget > .row {
        display: block !important;
        margin: 0 !important;
    }

    .assessify-dashboard #roll-widget .wizard-dashboard-card {
        padding: 1rem;
    }

    .assessify-dashboard .wizard-dashboard-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .assessify-dashboard .wizard-dashboard-edit {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 359.98px) {
    .assessify-dashboard .main-container {
        padding-right: .6rem !important;
        padding-left: .6rem !important;
    }

    .assessify-dashboard #layout-navbar > #navbar-collapse {
        padding-right: .6rem !important;
        padding-left: .6rem !important;
    }

    .assessify-dashboard #layout-navbar .app-brand-logo,
    .assessify-dashboard #layout-navbar .app-brand-logo img {
        width: 72px !important;
    }

    .assessify-dashboard #layout-navbar .dashboard-tour-trigger,
    .assessify-dashboard #layout-navbar .navbar-nav:last-child > li > a,
    .assessify-dashboard #layout-navbar .dropdown-user .nav-link {
        width: 2.55rem;
        min-width: 2.55rem;
        height: 2.55rem;
        min-height: 2.55rem;
    }

    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td,
    .assessify-dashboard #funnel-widget .funnel-summary-table tbody td:first-child {
        grid-template-columns: minmax(5.2rem, .8fr) minmax(0, 1.2fr);
        font-size: .68rem;
    }
}
.dashboard-load-error {
    max-width: 720px;
    margin: 2rem auto;
    padding: 1rem 1.25rem;
    color: #7d3340;
    background: #fff5f5;
    border: 1px solid #efc8ce;
    border-left: 4px solid #c64b5d;
    border-radius: 12px;
    text-align: center;
}

/* Zillow-style dashboard map selection UI. Parcel polygons carry the
   selection state; no floating red marker is needed. */
.assessify-dashboard .map-card-surface {
    isolation: isolate;
}

.assessify-dashboard .map-card-surface #map {
    position: relative;
    z-index: 0;
}

.dashboard-map-selection[hidden],
.dashboard-map-load-area[hidden],
.dashboard-map-status[hidden] {
    display: none !important;
}

.assessify-dashboard .dashboard-map-selection {
    position: absolute;
    z-index: 5;
    top: .75rem;
    left: .75rem;
    display: flex;
    width: min(370px, calc(100% - 1.5rem));
    max-height: calc(100% - 1.5rem);
    flex-direction: column;
    overflow: hidden;
    color: #244862;
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(216, 229, 235, .96);
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(24, 80, 109, .2);
    backdrop-filter: blur(12px);
}

.assessify-dashboard .dashboard-map-selection-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    padding: .75rem .85rem .55rem;
}

.assessify-dashboard .dashboard-map-selection-heading span,
.assessify-dashboard .dashboard-map-selection-kicker {
    display: block;
    color: #178d9a;
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.assessify-dashboard .dashboard-map-selection-heading strong {
    display: block;
    margin-top: .16rem;
    color: #173752;
    font-size: .82rem;
    font-weight: 800;
}

.assessify-dashboard .dashboard-map-selection-heading > i {
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 1.9rem;
    place-items: center;
    color: #178d9a;
    background: #e8f7f7;
    border-radius: 9px;
    font-size: 1.05rem;
}

.assessify-dashboard .dashboard-map-selection-cards {
    display: flex;
    gap: .45rem;
    overflow-x: auto;
    padding: 0 .75rem .65rem;
    scrollbar-width: thin;
}

.assessify-dashboard .dashboard-map-selection-card {
    display: flex;
    min-width: 166px;
    align-items: center;
    gap: .45rem;
    padding: .45rem .5rem;
    color: #31556c;
    background: #f5fafb;
    border: 1px solid #dcebed;
    border-radius: 9px;
    text-align: left;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.assessify-dashboard .dashboard-map-selection-card:hover,
.assessify-dashboard .dashboard-map-selection-card:focus-visible {
    background: #edf8f8;
    border-color: #8bc9cd;
    outline: 0;
}

.assessify-dashboard .dashboard-map-selection-card.is-active {
    background: #e7f7f6;
    border-color: #178d9a;
    box-shadow: inset 0 0 0 1px rgba(23, 141, 154, .12);
}

.assessify-dashboard .dashboard-map-selection-card-badge {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 1.75rem;
    place-items: center;
    color: #fff;
    background: #178d9a;
    border-radius: 7px;
    font-size: .62rem;
    font-weight: 900;
}

.assessify-dashboard .dashboard-map-selection-card:not(.is-active) .dashboard-map-selection-card-badge {
    color: #18506d;
    background: #dceff0;
}

.assessify-dashboard .dashboard-map-selection-card-copy {
    display: block;
    min-width: 0;
    flex: 1 1 auto;
}

.assessify-dashboard .dashboard-map-selection-card-copy strong,
.assessify-dashboard .dashboard-map-selection-card-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.assessify-dashboard .dashboard-map-selection-card-copy strong {
    color: #244862;
    font-size: .62rem;
    font-weight: 850;
}

.assessify-dashboard .dashboard-map-selection-card-copy small {
    margin-top: .1rem;
    color: #7890a0;
    font-size: .56rem;
    white-space: pre-line;
}

.assessify-dashboard .dashboard-map-selection-card-amount {
    flex: 0 0 auto;
    color: #178d9a;
    font-size: .62rem;
    font-weight: 900;
}

.assessify-dashboard .dashboard-map-selection-detail {
    min-height: 0;
    overflow: auto;
    padding: .7rem .85rem .85rem;
    border-top: 1px solid #e2eef0;
}

.assessify-dashboard .dashboard-map-selection-detail h3 {
    margin: .2rem 0 .18rem;
    color: #173752;
    font-size: .9rem;
    font-weight: 850;
    line-height: 1.25;
    white-space: pre-line;
}

.assessify-dashboard .dashboard-map-selection-meta {
    min-height: 1rem;
    margin: 0 0 .65rem;
    color: #7890a0;
    font-size: .61rem;
    line-height: 1.45;
}

.assessify-dashboard .dashboard-map-selection-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .4rem;
}

.assessify-dashboard .dashboard-map-selection-metric {
    min-width: 0;
    padding: .48rem .55rem;
    background: #f5fafb;
    border: 1px solid #e1eef0;
    border-radius: 8px;
}

.assessify-dashboard .dashboard-map-selection-metric span,
.assessify-dashboard .dashboard-map-selection-metric strong {
    display: block;
}

.assessify-dashboard .dashboard-map-selection-metric span {
    overflow: hidden;
    color: #7890a0;
    font-size: .54rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.assessify-dashboard .dashboard-map-selection-metric strong {
    margin-top: .16rem;
    overflow-wrap: anywhere;
    color: #244862;
    font-size: .72rem;
    font-weight: 850;
}

.assessify-dashboard .dashboard-map-selection-metric.is-similarity {
    grid-column: 1 / -1;
    background: linear-gradient(135deg, #e5f8f4, #f4fbfa);
    border-color: rgba(23, 141, 154, .28);
}

.assessify-dashboard .dashboard-map-selection-metric.is-similarity strong {
    color: #08745b;
    font-size: .95rem;
}

.assessify-dashboard .dashboard-map-selection-note {
    margin: .15rem 0 0;
    color: #7890a0;
    font-size: .65rem;
    line-height: 1.5;
}

.assessify-dashboard .dashboard-map-load-area {
    position: absolute;
    z-index: 6;
    top: .8rem;
    left: 50%;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .5rem .75rem;
    color: #18506d;
    background: rgba(255, 255, 255, .96);
    border: 1px solid #cfe3e6;
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(24, 80, 109, .16);
    font-size: .64rem;
    font-weight: 850;
    transform: translateX(-50%);
    cursor: pointer;
}

.assessify-dashboard .dashboard-map-load-area:hover,
.assessify-dashboard .dashboard-map-load-area:focus-visible {
    color: #fff;
    background: #178d9a;
    border-color: #178d9a;
    outline: 0;
}

.assessify-dashboard .dashboard-map-load-area:disabled {
    opacity: .72;
    cursor: wait;
}

.assessify-dashboard .dashboard-map-status {
    position: absolute;
    z-index: 5;
    right: .75rem;
    bottom: .75rem;
    max-width: 230px;
    padding: .45rem .6rem;
    color: #7d3340;
    background: rgba(255, 248, 248, .95);
    border: 1px solid #efc8ce;
    border-radius: 8px;
    box-shadow: 0 6px 15px rgba(80, 36, 45, .12);
    font-size: .61rem;
    line-height: 1.35;
}

@media (max-width: 650px) {
    .assessify-dashboard .dashboard-map-selection {
        top: auto;
        right: .65rem;
        bottom: .65rem;
        left: .65rem;
        width: auto;
        max-height: 67%;
    }

    .assessify-dashboard .dashboard-map-selection-heading {
        padding: .6rem .7rem .45rem;
    }

    .assessify-dashboard .dashboard-map-selection-cards {
        padding-right: .65rem;
        padding-left: .65rem;
    }

    .assessify-dashboard .dashboard-map-selection-card {
        min-width: 152px;
    }

    .assessify-dashboard .dashboard-map-selection-detail {
        padding: .6rem .7rem .7rem;
    }

    .assessify-dashboard .dashboard-map-load-area {
        top: .65rem;
    }
}

/* The dashboard map is a report view, not a statewide parcel browser. Keep
   the subject/comparable selection card floating at the right while the map
   uses the full surface height underneath it. */
.assessify-dashboard .map-card-surface {
    display: block;
}

.assessify-dashboard .map-card-surface .dashboard-map-selection {
    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    display: flex;
    width: min(365px, calc(100% - 1.6rem));
    max-height: none;
    height: auto;
    border: 1px solid rgba(216, 229, 235, .96);
    border-radius: 12px 0 0 12px;
    box-shadow: 0 14px 34px rgba(24, 80, 109, .22);
    backdrop-filter: blur(12px);
}

.assessify-dashboard .map-card-surface .dashboard-map-selection-cards {
    width: 100%;
    flex: 0 0 auto;
    padding-bottom: .7rem;
}

.assessify-dashboard .map-card-surface .dashboard-map-selection-card {
    min-width: 205px;
}

.assessify-dashboard .map-card-surface .dashboard-map-selection-detail {
    max-height: none;
    flex: 1 1 auto;
    overflow: auto;
}

.assessify-dashboard .map-card-surface #map {
    width: 100%;
    min-height: 0 !important;
    height: 100% !important;
    border-radius: 12px;
}

/* Dashboard analysis arrangement: the map replaces Sales Ranking in the
   upper-right slot; Street View sits below Property Information; Sales
   Ranking sits directly below the map. */
@media (min-width: 1200px) {
    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        grid-column: 3;
        grid-row: 1;
        width: 100%;
        align-self: stretch;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .map-card-shell {
        width: 100%;
        height: 480px !important;
        min-height: 480px !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        grid-column: 3;
        grid-row: 2;
        width: 100%;
        align-self: start;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget .funnel-card {
        height: 321px !important;
        min-height: 321px !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget {
        grid-column: 2;
        grid-row: 2;
        width: 100%;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
    }

    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget {
        grid-column: 1 / -1;
        grid-row: 4;
        width: 100%;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .map-card-shell {
        height: 460px !important;
        min-height: 460px !important;
    }
}

@media (max-width: 767.98px) {
    .assessify-dashboard .dashboard-analysis-layout > .map-widget {
        grid-column: 1 !important;
        grid-row: 4 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        grid-column: 1 !important;
        grid-row: 5 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .map-widget .map-card-shell {
        height: clamp(480px, 125vw, 560px) !important;
        min-height: clamp(480px, 125vw, 560px) !important;
    }

    .assessify-dashboard .map-card-surface .dashboard-map-selection-card {
        min-width: 178px;
    }

    .assessify-dashboard .map-card-surface .dashboard-map-selection {
        top: .65rem;
        right: .65rem;
        bottom: .65rem;
        width: calc(100% - 1.3rem);
        max-height: none;
        border-radius: 12px;
    }
}

/* Keep the Sales Ranking widget inside its grid row. The card is a fixed
   flex column and only the table viewport is allowed to scroll. */
@media (min-width: 768px) {
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget,
    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget > .funnel-card,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget,
    .assessify-dashboard .dashboard-analysis-layout > .street-view-widget > .map-card-shell {
        box-sizing: border-box;
        height: 321px !important;
        min-height: 321px !important;
        max-height: 321px !important;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget {
        min-width: 0;
        align-self: start;
        overflow: hidden;
    }

    .assessify-dashboard .dashboard-analysis-layout > .funnel-widget > .funnel-card {
        display: flex !important;
        min-width: 0;
        flex-direction: column !important;
        overflow: hidden !important;
        border-radius: 8px !important;
    }

    .assessify-dashboard #funnel-widget .funnel-card-heading {
        flex: 0 0 auto !important;
        gap: .45rem;
        padding: .55rem .7rem .45rem;
    }

    .assessify-dashboard #funnel-widget .funnel-card-eyebrow {
        font-size: .48rem;
    }

    .assessify-dashboard #funnel-widget .funnel-card-header {
        margin-top: .1rem;
        font-size: .78rem;
    }

    .assessify-dashboard #funnel-widget .funnel-card-heading p {
        display: none;
    }

    .assessify-dashboard #funnel-widget .funnel-card-icon {
        width: 1.6rem;
        height: 1.6rem;
        flex-basis: 1.6rem;
        border-radius: 8px;
        font-size: .85rem;
    }

    .assessify-dashboard #funnel-widget .funnel-table-scroll {
        display: block !important;
        width: 100%;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        flex: 1 1 auto !important;
        padding: 0 .65rem .45rem;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    .assessify-dashboard #funnel-widget .funnel-table-scroll .dt-container,
    .assessify-dashboard #funnel-widget .funnel-table-scroll .dt-layout-row,
    .assessify-dashboard #funnel-widget .funnel-table-scroll .dt-layout-table,
    .assessify-dashboard #funnel-widget .funnel-table-scroll .dt-layout-cell {
        min-height: 0 !important;
    }
}

/* Expand the complete property-location workspace, including the heading and
   the subject/comparable property cards. This is intentionally separate from
   Google Maps' native fullscreen control so the dashboard context remains
   available while the map is enlarged. */
.assessify-dashboard .map-card-heading-actions {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.assessify-dashboard .map-card-heading-actions > i {
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 1.9rem;
    place-items: center;
    color: #178d9a;
    background: #e8f7f7;
    border-radius: 9px;
    font-size: 1.05rem;
}

.assessify-dashboard .map-fullscreen-toggle {
    display: inline-grid;
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 1.9rem;
    place-items: center;
    padding: 0;
    color: #178d9a;
    background: #f2fbfb;
    border: 1px solid #cfe7e8;
    border-radius: 9px;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease;
}

.assessify-dashboard .map-fullscreen-toggle:hover,
.assessify-dashboard .map-fullscreen-toggle:focus-visible {
    color: #fff;
    background: #178d9a;
    border-color: #178d9a;
    outline: 0;
    transform: translateY(-1px);
}

body.assessify-map-fullscreen {
    overflow: hidden !important;
}

/* The expanded workspace is portaled directly under body by main.js, so it
   cannot be trapped behind the dashboard navbar's stacking context. */
.assessify-dashboard .map-widget.is-map-fullscreen {
    position: fixed !important;
    z-index: 11000 !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: clamp(.65rem, 1.4vw, 1.25rem) !important;
    background: rgba(16, 42, 59, .58);
}

.assessify-dashboard .map-widget.is-map-fullscreen .map-card-shell {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 16px !important;
}

.assessify-dashboard .map-widget.is-map-fullscreen .map-card-surface {
    min-height: 0 !important;
    flex: 1 1 auto !important;
}

.assessify-dashboard .map-widget.is-map-fullscreen .map-card-surface #map {
    height: 100% !important;
    min-height: 0 !important;
}

.assessify-dashboard .map-widget.is-map-fullscreen .map-card-surface .dashboard-map-selection {
    top: 0;
    right: 0;
    bottom: 0;
    width: min(365px, calc(100% - 1.6rem));
    max-height: none;
    border-radius: 12px 0 0 12px;
}

@media (max-width: 767.98px) {
    .assessify-dashboard .map-widget.is-map-fullscreen {
        padding: .45rem !important;
    }

    .assessify-dashboard .map-widget.is-map-fullscreen .map-card-surface .dashboard-map-selection {
        width: calc(100% - .9rem);
        border-radius: 12px;
    }
}

/* Dashboard map search */
@media (min-width: 992px) {
    .assessify-dashboard .dashboard-search-wrap {
        width: min(44rem, 48vw);
        flex: 0 1 min(44rem, 48vw);
    }
}

.assessify-dashboard .dashboard-search-wrap {
    gap: .45rem;
}

.assessify-dashboard .dashboard-search-wrap .search-bar-top {
    width: auto !important;
    min-width: 0;
    flex: 1 1 auto;
}

.assessify-dashboard .dashboard-map-search-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.45rem;
    padding: .48rem .72rem;
    color: #eafafa;
    background: rgba(23, 141, 154, .9);
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 10, 20, .12);
    font-size: .72rem;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
    transition: background .16s ease, transform .16s ease;
}

.assessify-dashboard .dashboard-map-search-toggle:hover,
.assessify-dashboard .dashboard-map-search-toggle:focus-visible {
    color: #fff;
    background: #18506d;
    outline: 0;
    transform: translateY(-1px);
}

.assessify-dashboard .dashboard-map-search-toggle i {
    font-size: 1rem;
}

.dashboard-property-map-modal[hidden] {
    display: none !important;
}

.dashboard-property-map-modal {
    position: fixed;
    z-index: 11000;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    padding: clamp(.6rem, 2vw, 1.5rem);
    background: rgba(15, 40, 57, .58);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.dashboard-property-map-dialog {
    width: min(1180px, 100%);
    max-height: calc(100vh - 1.2rem);
    overflow-y: auto;
    padding: clamp(1rem, 2vw, 1.45rem);
    color: #173752;
    background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(240, 249, 251, .97));
    border: 1px solid rgba(255, 255, 255, .84);
    border-radius: 20px;
    box-shadow: 0 26px 80px rgba(5, 30, 48, .3);
}

.dashboard-property-map-dialog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.dashboard-property-map-kicker {
    display: block;
    color: #178d9a;
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .16em;
}

.dashboard-property-map-dialog h2 {
    margin: .3rem 0 0;
    color: #173752;
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    font-weight: 850;
}

.dashboard-property-map-dialog-header p {
    margin: .35rem 0 0;
    color: #6d7e98;
    font-size: .72rem;
    line-height: 1.5;
}

.dashboard-property-map-close {
    display: grid;
    width: 2.15rem;
    height: 2.15rem;
    flex: 0 0 2.15rem;
    place-items: center;
    padding: 0;
    color: #6d7e98;
    background: rgba(255, 255, 255, .7);
    border: 1px solid #d7e5e9;
    border-radius: 50%;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}

.dashboard-property-map-close:hover,
.dashboard-property-map-close:focus-visible {
    color: #fff;
    background: #178d9a;
    border-color: #178d9a;
    outline: 0;
}

.dashboard-property-map-search {
    width: min(720px, 100%);
    margin: 1rem auto 0;
}

.dashboard-property-map-search-form {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 0;
    padding: .4rem .45rem .4rem .85rem;
    background: #fff;
    border: 1px solid rgba(121, 158, 178, .34);
    border-radius: 11px;
    box-shadow: 0 10px 24px rgba(42, 89, 113, .08);
}

.dashboard-property-map-search-form > i {
    color: #178d9a;
    font-size: 1.15rem;
}

.dashboard-property-map-search-form input {
    width: 100%;
    min-width: 0;
    padding: .55rem 0;
    color: #173752;
    background: transparent;
    border: 0;
    outline: 0;
    font: inherit;
    font-size: .8rem;
}

.dashboard-property-map-search-form input::placeholder {
    color: #91a6b3;
}

.dashboard-property-map-search-form button {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;
    place-items: center;
    color: #fff;
    background: #178d9a;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
}

.dashboard-property-map-search-form button:hover,
.dashboard-property-map-search-form button:focus-visible {
    background: #18506d;
    outline: 0;
}

.dashboard-property-map-search .home-search-no-results,
.dashboard-property-map-search .home-search-follow-up,
.dashboard-property-map-search .home-redesign-search-loader {
    margin-left: .15rem;
}

.dashboard-property-map-shell {
    margin-top: 1rem;
}

.dashboard-property-map-shell [data-assessify-property-map] {
    position: relative;
    height: min(58vh, 590px);
    min-height: 360px;
}

body.dashboard-property-map-open {
    overflow: hidden !important;
}

@media (max-width: 767.98px) {
    .assessify-dashboard .dashboard-map-search-toggle {
        min-width: 2.7rem;
        width: 2.7rem;
        padding: .45rem;
    }

    .assessify-dashboard .dashboard-map-search-toggle span {
        display: none;
    }

    .dashboard-property-map-dialog {
        max-height: calc(100vh - .8rem);
        padding: .9rem;
        border-radius: 15px;
    }

    .dashboard-property-map-shell [data-assessify-property-map] {
        height: min(56vh, 510px);
        min-height: 300px;
    }
}

/* Keep the preview outside the dialog surface while matching the complete
   dashboard modal height. */
.dashboard-property-map-modal .assessify-property-map-attached-layout > .assessify-property-preview-panel {
    align-self:stretch;
    height:auto;
    min-height:0;
}
@media (max-width: 900px) {
    .dashboard-property-map-modal .assessify-property-map-attached-layout > .assessify-property-preview-panel {
        height:auto;
        min-height:360px;
    }
}
