:root {
    --bg: #f6f3f1;
    --sidebar: #ffffff;
    --panel: #ffffff;
    --panel-soft: #fff8f5;
    --line: #e8ded8;
    --text: #1c1917;
    --ink: #1c1917;
    --muted: #6b625d;
    --primary: #f05a28;
    --primary-strong: #b83e17;
    --primary-highlight: #ff7a4f;
    --primary-soft: #fff3ee;
    --primary-ultralight: #fff8f5;
    --primary-line: #f4b69f;
    --primary-ring: rgba(240, 90, 40, 0.28);
    --primary-chart-fill: rgba(240, 90, 40, 0.24);
    --primary-chart-fade: rgba(240, 90, 40, 0.02);
    --success: #176444;
    --success-soft: #e8f8ef;
    --warning: #d97706;
    --warning-soft: #fff5ec;
    --danger: #b42318;
    --danger-soft: #fff0f0;
    --shadow: 0 1px 2px rgba(28, 25, 23, 0.04), 0 8px 24px rgba(28, 25, 23, 0.05);
    --shadow-hover: 0 2px 4px rgba(28, 25, 23, 0.05), 0 14px 32px rgba(28, 25, 23, 0.08);
    --radius-xl: 18px;
    --radius-md: 12px;
    --surface-muted: #faf8f7;
    --nav-text: #44403c;
    --topbar-height: 68px;
    --content-max: 1320px;
}

.dashboard-update-notice {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1200;
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: min(780px, calc(100% - 40px));
    padding: 18px;
    border: 1px solid var(--primary-line);
    border-radius: 16px;
    background: var(--panel);
    box-shadow: var(--shadow);
}
.dashboard-update-notice[hidden] { display: none; }
.dashboard-update-notice p { margin: 4px 0 0; color: var(--muted); font-size: 0.9rem; }
.dashboard-update-actions { display: flex; flex-wrap: wrap; gap: 8px; flex-shrink: 0; }
.dashboard-update-notice button { flex-shrink: 0; }
@media (max-width: 600px) {
    .dashboard-update-notice { left: 12px; right: 12px; bottom: 12px; max-width: none; flex-direction: column; align-items: stretch; }
}

.portfolio-agent {
    align-items: center;
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

.portfolio-agent .avatar {
    flex: 0 0 auto;
    height: 32px;
    width: 32px;
}

.portfolio-agent strong {
    font-size: 0.86rem;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; font-family: "Segoe UI", "Trebuchet MS", sans-serif; color: var(--text); background: var(--bg); }
button, input, textarea { font: inherit; }

.login-screen {
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 32px 20px;
    background:
        radial-gradient(circle at top left, rgba(240, 90, 40, 0.18), transparent 30%),
        radial-gradient(circle at bottom right, rgba(28, 25, 23, 0.06), transparent 26%),
        linear-gradient(180deg, var(--primary-ultralight) 0%, var(--bg) 100%);
}

.login-panel {
    width: min(520px, 100%);
    padding: 40px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(232, 222, 216, 0.92);
    border-radius: 32px;
    box-shadow: 0 24px 70px rgba(28, 25, 23, 0.12);
}

.login-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
}

.login-copy {
    margin-bottom: 22px;
}

.login-copy h2 {
    margin: 0 0 10px;
    font-size: 2rem;
    line-height: 1.15;
}

.login-copy p:last-child {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.auth-form-centered {
    gap: 14px;
}

.forgot-password-form {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}

.auth-copy {
    margin: 0 0 12px;
    color: var(--muted);
    line-height: 1.5;
}

.auth-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.centered {
    text-align: center;
}

.shell { display: grid; grid-template-columns: 280px 1fr; min-height: 100vh; }
.sidebar { position: sticky; top: 0; display: flex; flex-direction: column; gap: 24px; height: 100vh; padding: 28px 22px; overflow-y: auto; background: var(--sidebar); border-right: 1px solid var(--line); }
.sidebar-backdrop { position: fixed; inset: 0; z-index: 14; background: rgba(28, 25, 23, 0.4); backdrop-filter: blur(3px); }
.brand { display: flex; gap: 14px; align-items: center; }
.avatar { display: grid; place-items: center; overflow: hidden; color: var(--text); font-weight: 700; background: linear-gradient(135deg, var(--primary), var(--primary-highlight)); }
.brand-mark { display: block; width: 48px; height: 48px; border-radius: 14px; object-fit: cover; box-shadow: 0 8px 18px rgba(178, 64, 0, 0.18); }
.brand h1, .page-header h2, .section-head h3, .modal-header h3, .agent-card h4, .property-card h4 { margin: 0; }
.eyebrow, .side-title, .meta-label { margin: 0 0 10px; font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); }
.side-title { color: var(--primary); font-weight: 700; }
.side-group .side-title { font-weight: 900; }
.side-group { display: grid; gap: 8px; }
.side-link { width: 100%; padding: 12px 14px; border: 1px solid transparent; border-radius: 14px; text-align: left; background: transparent; color: var(--text); cursor: pointer; }
.side-link.active:not(.la-cheie-plus-link):not(.quick-support-link) { color: var(--text); background: #fff; border-color: var(--primary-line); font-weight: 700; }
.quick-support-link { display: flex; align-items: center; gap: 10px; min-height: 44px; background: #087f5b; color: #fff; font-weight: 600; text-decoration: none; }
.quick-support-link:hover { background: #066649; }
.quick-support-link:focus-visible { outline: 3px solid #087f5b; outline-offset: 3px; }
.quick-support-icon { flex: 0 0 20px; }
.la-cheie-plus-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 12px 14px; border: 1px solid transparent; border-radius: 14px; background: var(--primary); color: #fff; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.la-cheie-plus-button::after { content: ""; flex: 0 0 20px; width: 20px; height: 20px; background: currentColor; mask: url("la-cheie-plus-badge.dadbda8aaca8.svg") center / contain no-repeat; }
.la-cheie-plus-button:not(:disabled):hover { background: var(--primary-strong); }
.la-cheie-plus-button:focus-visible { outline: 3px solid var(--primary-ring); outline-offset: 3px; }
.la-cheie-plus-button:disabled { opacity: .65; cursor: not-allowed; }
.side-link.la-cheie-plus-link { display: flex; justify-content: flex-start; }
.side-link.la-cheie-plus-link.active { border-color: var(--primary-strong); }

.auth-card, .surface-card, .metric-card, .agent-card, .property-card, .profile-card, .modal-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow);
}

.auth-card { margin-top: auto; padding: 18px; }
.auth-form, .wizard-form { display: grid; gap: 12px; }
input, textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--text); }
input:focus, textarea:focus { outline: 2px solid var(--primary-ring); border-color: var(--primary); }
input[readonly] { color: var(--muted); background: #f2efed; cursor: not-allowed; }
textarea { resize: vertical; }

.primary-button, .ghost-button, .danger-button, .icon-button { cursor: pointer; border: 0; }
.text-button { align-self: end; padding: 0; border: 0; color: var(--primary-strong); background: transparent; font-weight: 600; cursor: pointer; }
.primary-button, .ghost-button, .danger-button { padding: 11px 16px; border-radius: 999px; font-weight: 600; }
.primary-button { color: var(--text); background: linear-gradient(135deg, var(--primary), var(--primary-highlight)); }
.primary-button, .ghost-button, .danger-button, .icon-button, .text-button { transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease; }
.primary-button:not(:disabled):hover { box-shadow: 0 8px 18px rgba(240, 90, 40, 0.24); }
.primary-button:disabled { opacity: 0.65; cursor: wait; }
.ghost-button, .icon-button { color: var(--text); background: #fff; border: 1px solid var(--line); }
.ghost-button:hover, .icon-button:hover { color: var(--primary-strong); background: var(--primary-ultralight); border-color: var(--primary-line); }
.primary-button:focus-visible, .ghost-button:focus-visible, .danger-button:focus-visible, .icon-button:focus-visible, .text-button:focus-visible { outline: 3px solid var(--primary-ring); outline-offset: 2px; }
.external-link { display: inline-flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; }
.disabled-link { color: var(--muted); background: #f2efed; cursor: not-allowed; opacity: 0.72; }
.danger-button { color: #fff; background: linear-gradient(135deg, var(--danger), #8f1d14); }
.icon-button { width: 40px; height: 40px; border-radius: 12px; }
.wide { width: 100%; }
.auth-note { margin: 12px 0 0; color: var(--muted); font-size: 0.92rem; }

.main-panel { padding: 28px; }
.topbar, .page-header, .section-head, .toolbar, .agent-card-head, .agent-card-footer, .property-card-head, .property-card-footer, .detail-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.topbar { margin-bottom: 18px; }
.drawer-toggle { display: none; }
.topbar-left { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.back-to-profile-link { min-height: 44px; gap: 8px; white-space: nowrap; }
.topbar-right { display: flex; align-items: center; gap: 10px; }
.user-chip { display: flex; align-items: center; gap: 10px; padding: 6px 10px 6px 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff; }
.user-chip span { display: block; color: var(--muted); font-size: 0.82rem; }
.avatar { width: 54px; height: 54px; border-radius: 16px; }
.avatar.tiny { width: 34px; height: 34px; border-radius: 12px; font-size: 0.8rem; }
.avatar.large { width: 84px; height: 84px; border-radius: 24px; }
.avatar img, .property-image img { display: block; width: 100%; height: 100%; object-fit: cover; }

.verified-profile-name {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    max-width: 100%;
    vertical-align: middle;
}
.verified-profile-name__text {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.user-chip .verified-profile-name__text { color: inherit; font-size: inherit; }
.verified-agency-badge {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: var(--primary);
    background: transparent;
    cursor: pointer;
    transition: transform 0.15s ease;
}
.verified-agency-badge--sm svg { width: 16px; height: 16px; }
.verified-agency-badge--md svg { width: 18px; height: 18px; }
.verified-agency-badge:hover { transform: scale(1.06); }
.verified-agency-badge:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.verified-agency-tooltip {
    position: fixed;
    z-index: 9999;
    width: max-content;
    max-width: min(320px, calc(100vw - 24px));
    padding: 10px 14px;
    border-radius: 8px;
    color: #fff;
    background: var(--text);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
    font-size: 13px;
    line-height: 18px;
    pointer-events: none;
}

.page-header { margin-bottom: 24px; }
.breadcrumb { color: var(--muted); font-size: 0.94rem; }

.admin-preview-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; padding: 16px 18px; color: var(--text); background: var(--primary-ultralight); border: 1px solid var(--primary-line); border-radius: 18px; }
.admin-preview-banner strong, .admin-preview-banner span { display: block; }
.admin-preview-banner span { margin-top: 4px; color: var(--muted); }
.readonly-badge { display: inline-flex; align-items: center; padding: 10px 14px; color: var(--primary-strong); background: var(--primary-soft); border: 1px solid var(--primary-line); border-radius: 999px; font-weight: 700; }

.dashboard-shell.hidden, .view-panel, .modal.hidden, .hidden { display: none !important; }
.view-panel.active { display: block !important; }
.section-head { margin-bottom: 16px; }
.section-head.compact { margin-top: 22px; }
.section-copy { margin: 6px 0 0; color: var(--muted); }
.matches-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; }
.switch-control { position: relative; display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-weight: 700; cursor: pointer; }
.switch-control input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.switch-track { position: relative; width: 46px; height: 26px; flex: 0 0 auto; border-radius: 999px; background: #ded6d1; transition: background 0.18s ease; }
.switch-thumb { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 2px 7px rgba(28, 25, 23, 0.22); transition: transform 0.18s ease; }
.switch-control input:checked + .switch-track { background: #22a06b; }
.switch-control input:checked + .switch-track .switch-thumb { transform: translateX(20px); }
.switch-control input:focus-visible + .switch-track { outline: 3px solid var(--primary-ring); outline-offset: 2px; }

.metric-grid, .agents-grid, .properties-grid { display: grid; gap: 16px; }
.metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.metric-card, .surface-card, .agent-card, .property-card, .profile-card { padding: 22px; }

.account-access-card { display: grid; gap: 18px; }
.account-access-heading, .initial-password-row, .initial-access-actions, .agent-initial-password {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.account-access-heading > div, .initial-password-row > div { display: grid; gap: 6px; }
.initial-access-status { max-width: 560px; color: var(--muted); }
.initial-access-status.status-pending { color: #92400e; }
.initial-access-status.status-changed { color: #166534; }
.initial-password-value, .agent-initial-password code {
    display: inline-block;
    min-width: 190px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--primary-ultralight);
    color: var(--ink);
    font-size: 15px;
    letter-spacing: .04em;
    user-select: text;
}
.initial-password-value.masked, .agent-initial-password code.masked {
    color: var(--muted);
    user-select: none;
}
.initial-access-warning { margin: 0; color: #b45309; }
.agent-initial-access {
    display: grid;
    gap: 8px;
    margin-top: 16px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--primary-ultralight);
}
.agent-initial-password { justify-content: flex-start; }
.agent-initial-password code { min-width: 165px; }
.metric-card strong { display: block; margin: 12px 0 6px; font-size: 2.4rem; }
.metric-card p, .agent-description, .property-description { margin: 0; color: var(--muted); }

.toolbar { margin-bottom: 16px; }
.portfolio-toolbar { justify-content: flex-start; }
.portfolio-toolbar input { max-width: 460px; }
.agents-grid, .properties-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 18px; }
.dashboard-pagination span { min-width: 150px; color: var(--muted); text-align: center; }
.dashboard-pagination button:disabled { cursor: not-allowed; opacity: 0.5; }
.agent-pill, .property-pill { display: inline-flex; align-items: center; padding: 7px 11px; border-radius: 999px; background: var(--primary-soft); color: var(--primary-strong); font-size: 0.84rem; font-weight: 600; }
.meta-row { display: flex; flex-wrap: wrap; gap: 10px 18px; color: var(--muted); }
.agent-description { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 14px 0; }
.property-image { height: 180px; margin-bottom: 14px; border-radius: 18px; overflow: hidden; background: linear-gradient(135deg, var(--primary-soft), var(--primary-ultralight)); }
.price { font-size: 1.6rem; }
.property-agent { display: flex; align-items: center; gap: 10px; }
.property-agent > div { min-width: 0; }
.property-agent .avatar { width: 42px; height: 42px; border-radius: 12px; }
.property-card-footer { margin-top: 18px; }

.profile-card { padding: 24px; }
.profile-card-body { display: grid; grid-template-columns: minmax(280px, 360px) 1fr; gap: 18px; }
.profile-panel { padding: 18px; border-radius: 18px; background: var(--panel-soft); border: 1px solid var(--line); }
.profile-meta { display: grid; gap: 14px; }

.agency-profile-form { display: block; }
.agency-profile-layout { display: grid; grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); gap: 18px; align-items: start; }
.agency-identity-card { position: sticky; top: 18px; display: grid; justify-items: center; gap: 16px; text-align: center; }
.agency-identity-card h4 { margin: 0 0 6px; font-size: 1.1rem; }
.agency-identity-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.agency-profile-avatar { width: 120px; height: 120px; border-radius: 30px; font-size: 1.8rem; }
.profile-upload-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; padding: 11px 16px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-weight: 600; cursor: pointer; }
.profile-upload-button:hover { color: var(--primary-strong); border-color: var(--primary-line); background: var(--primary-soft); }
.profile-upload-button span { margin: 0; }
.profile-upload-button input { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.profile-upload-button:focus-within { outline: 3px solid var(--primary-ring); outline-offset: 2px; }
.selected-file-name { max-width: 100%; overflow: hidden; color: var(--muted); font-size: 0.82rem; text-overflow: ellipsis; white-space: nowrap; }
.professional-profile-note { display: inline-flex; align-items: center; padding: 7px 11px; border-radius: 999px; color: #237251; background: #e8f8ef; font-size: 0.82rem; font-weight: 700; }
.profile-form-stack { display: grid; gap: 16px; }
.profile-form-section { display: grid; gap: 16px; }
.profile-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.profile-section-heading h4 { margin: 0; font-size: 1.08rem; }
.profile-section-heading > span { max-width: 360px; color: var(--muted); font-size: 0.86rem; line-height: 1.45; text-align: right; }
.profile-form-section .form-grid { margin-bottom: 0; }
.social-fields > label, .password-fields > label { flex: 1 1 calc(33.333% - 8px); min-width: 190px; }
.profile-form-footer { display: flex; align-items: center; justify-content: flex-end; gap: 14px; min-height: 46px; }
.profile-form-status { flex: 1 1 auto; margin: 0; padding: 11px 14px; border-radius: 14px; line-height: 1.4; }
.profile-form-status.success { color: var(--success); background: var(--success-soft); border: 1px solid #c2ead3; }
.profile-form-status.error { color: var(--danger); background: var(--danger-soft); border: 1px solid #f1c9c9; }

.settings-wrap { position: relative; }
.settings-menu { position: absolute; top: calc(100% + 8px); right: 0; width: 220px; padding: 10px; display: grid; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); z-index: 4; }

.modal { position: fixed; inset: 0; z-index: 20; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(28, 25, 23, 0.4); }
.modal-card { position: relative; z-index: 1; width: min(860px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; margin: 16px auto; padding: 24px; }
.modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.stepper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; }
.step { padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line); background: #fff; color: var(--muted); }
.step.active { color: var(--text); background: linear-gradient(135deg, var(--primary), var(--primary-highlight)); }
.wizard-step { display: none; }
.wizard-step.active { display: block; }
.form-grid { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.form-grid.two-columns > label { flex: 1 1 calc(50% - 6px); }
label span { display: block; margin-bottom: 8px; font-weight: 600; }
.upload-card { padding: 18px; border-radius: 16px; background: var(--panel-soft); border: 1px solid var(--line); }
.toggle { display: inline-flex; align-items: center; gap: 10px; margin-top: 14px; }
.toggle input { width: 18px; height: 18px; margin: 0; }
.wizard-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; }
.form-error { margin: 0; padding: 12px 14px; border-radius: 14px; color: #fff; background: var(--danger); }
.empty-state { padding: 28px; text-align: center; color: var(--muted); background: #fff; border: 1px dashed var(--line); border-radius: 18px; }
.empty-state.compact { padding: 16px; }
.match-empty-state { display: grid; justify-items: center; gap: 10px; }
.match-empty-state strong { color: var(--text); }
.match-empty-state span { max-width: 560px; }

#matches-basic-benefit { flex: 1 1 340px; margin: 0 auto 0 0; max-width: 660px; }
.matches-settings-error { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px; color: var(--danger); }
.switch-control:has(input:disabled) { cursor: wait; opacity: .65; }

.matches-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, 0.8fr); gap: 16px; margin-top: 16px; }
.matches-side { display: grid; gap: 16px; align-content: start; }
.matches-panel { padding: 22px; }
.panel-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.panel-title-row h4 { margin: 0; }
.matches-list, .compact-list { display: grid; gap: 12px; }
.demo-banner { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border: 1px solid #f6d8bd; border-radius: 18px; background: #fff8f1; color: #5f3a18; }
.demo-banner strong, .demo-banner span { display: block; }
.demo-banner span { margin-top: 3px; font-size: 0.9rem; color: #8a633f; }
.match-row { display: grid; grid-template-columns: 78px minmax(0, 1fr) 170px; gap: 14px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--panel-soft); }
.match-score { display: grid; place-items: center; min-height: 64px; border-radius: 16px; background: #fff; border: 1px solid var(--line); }
.match-score strong { font-size: 1.35rem; }
.match-score span, .match-status time, .compact-row span { color: var(--muted); font-size: 0.84rem; }
.match-main { min-width: 0; }
.match-title-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.match-title-row h4 { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.match-main p { margin: 0 0 10px; color: var(--muted); }
.match-status { display: grid; justify-items: end; gap: 8px; }
.status-pill { display: inline-flex; padding: 7px 10px; border-radius: 999px; color: var(--success); background: var(--success-soft); font-weight: 700; font-size: 0.82rem; }
.compact-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel-soft); }
.compact-row div { min-width: 0; }
.compact-row strong, .compact-row span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compact-row .verified-profile-name { display: inline-flex; overflow: visible; white-space: normal; }
.compact-row b { font-size: 1.3rem; }

.portfolio-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) 210px 240px; gap: 12px; }
.portfolio-toolbar input, .portfolio-toolbar select { width: 100%; }
.portfolio-list { display: grid; gap: 12px; margin-top: 16px; }
.portfolio-card { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(28, 25, 23, .04); }
.portfolio-cover { display: grid; place-items: center; width: 120px; height: 88px; overflow: hidden; border-radius: 14px; color: var(--muted); background: var(--panel-soft); }
.portfolio-cover img { width: 100%; height: 100%; object-fit: cover; }
.portfolio-card-copy { min-width: 0; }
.portfolio-card-copy h4 { margin: 6px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.portfolio-card-copy p { margin: 0 0 6px; color: var(--muted); }
.portfolio-card-meta { display: flex; flex-wrap: wrap; gap: 10px; color: var(--muted); font-size: .82rem; }
.portfolio-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.portfolio-link-status { display: inline-flex; max-width: 100%; margin-top: 9px; padding: 6px 10px; border-radius: 999px; color: var(--muted); background: #f2efed; font-size: .8rem; font-weight: 700; line-height: 1.35; white-space: normal; }
.portfolio-link-status.configured { color: var(--success); background: var(--success-soft); }
.portfolio-link-status.scheduled_for_deletion, .portfolio-link-status.hidden, .portfolio-link-status.unapproved { color: #80502a; background: var(--warning-soft); }
.plus-lock-banner, .premium-lock-copy { padding: 12px 14px; border: 1px solid #f2d5bd; border-radius: 14px; color: #80502a; background: var(--warning-soft); line-height: 1.5; }
.la-cheie-plus-card {
    position: relative;
    display: grid;
    gap: 28px;
    width: min(1180px, 100%);
    overflow: hidden;
}
.plans-intro h4 { max-width: 620px; margin: 0; font-size: clamp(1.75rem, 3vw, 2.55rem); line-height: 1.08; letter-spacing: -.035em; }
.plans-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.plan-comparison-card { display: flex; min-width: 0; flex-direction: column; gap: 20px; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.plus-plan-card { border-color: var(--primary-line); background: var(--primary-ultralight); box-shadow: 0 12px 30px rgba(240, 90, 40, .08); }
.plan-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.plan-card-header h5 { margin: 0; font-size: 1.45rem; }
.basic-plan-label { display: inline-flex; padding: 7px 10px; border-radius: 999px; color: var(--muted); background: #f2efed; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.basic-plan-price { margin: -6px 0 0; color: var(--primary-strong); font-size: 1.8rem; font-weight: 800; line-height: 1; }
.plus-status { display: inline-flex; padding: 7px 11px; border-radius: 999px; color: var(--muted); background: #f2efed; font-size: .84rem; font-weight: 700; }
.plus-status.active { color: var(--success); background: var(--success-soft); }
.plus-request-error { margin: 0; color: var(--danger); font-weight: 700; }
.plan-benefits-list { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.plan-benefits-list li, .plus-includes-basic { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 11px; align-items: start; }
.plan-benefit-icon { display: inline-flex; width: 26px; height: 26px; color: var(--primary); }
.plan-benefit-icon svg { display: block; width: 100%; height: 100%; }
.plan-benefits-list strong, .plan-benefits-list div > span, .plus-benefit-description > span { display: block; }
.plan-benefits-list strong { margin-bottom: 4px; font-size: .98rem; }
.plan-benefits-list div > span { color: var(--muted); line-height: 1.45; }
.plus-benefit-description { display: grid !important; gap: 4px; }
.plus-includes-basic { margin: 0; padding: 12px 14px 12px 0; color: var(--text); background: #fff; border-radius: 14px; line-height: 1.4; }
.plus-lead { margin: 0; color: var(--muted); font-size: 1rem; font-weight: 700; line-height: 1.5; }
.basic-included-benefits { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.basic-excluded-benefits { display: grid; gap: 14px; }
.basic-excluded-benefits > p { margin: 0; color: var(--muted); font-size: .82rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.basic-excluded-benefits li { color: #9d938d; opacity: .68; }
.basic-excluded-benefits strong { align-self: center; margin: 0; color: #9d938d; font-weight: 600; text-decoration: line-through; text-decoration-thickness: 1.5px; }
.plan-benefit-icon.muted { color: #b0a7a1; }
.plus-purchase-column { display: grid; gap: 14px; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }
.plus-plan-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; margin: 0; padding: 0; border: 0; }
.plus-plan-picker legend { grid-column: 1 / -1; margin-bottom: 2px; padding: 0; font-size: .84rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.plus-price-option { position: relative; display: block; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: #fff; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.plus-price-option:hover { border-color: var(--primary-line); }
.plus-price-option.selected { border-color: var(--primary); background: var(--primary-soft); box-shadow: 0 0 0 3px rgba(240, 90, 40, .12); }
.plus-price-option input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.plus-price-option:focus-within { outline: 3px solid var(--primary-ring); outline-offset: 2px; }
.plus-plan-picker:disabled .plus-price-option { cursor: default; }
.plus-price-copy, .plus-price-heading, .plus-price, .plus-price-savings { display: flex; }
.plus-price-copy { flex-direction: column; gap: 6px; }
.plus-price-heading, .plus-price, .plus-price-savings { align-items: center; justify-content: space-between; gap: 10px; }
.plus-price-heading > strong { font-size: 1.03rem; }
.plus-price strong { color: var(--primary-strong); font-size: 1.8rem; line-height: 1; }
.plus-price small, .plus-price-note { color: var(--muted); }
.plus-price small { font-weight: 700; }
.plus-recommended-badge, .plus-price-savings > span { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: .74rem; font-weight: 800; }
.plus-recommended-badge { color: var(--text); background: var(--primary); }
.plus-price-savings { margin-top: 3px; font-size: .82rem; }
.plus-price-savings > span { color: var(--success); background: var(--success-soft); }
.plus-guarantee { padding: 14px 16px; border: 1px solid #c2ead3; border-radius: 14px; color: var(--success); background: #f5fcf8; line-height: 1.45; text-align: center; }
.plus-request-button { margin-top: 2px; }
.plus-request-helper { margin: -3px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.45; text-align: center; }
.plus-request-helper a { color: var(--primary-strong); text-decoration: underline; text-underline-offset: 2px; }
.plus-active-summary { display: grid; gap: 14px; margin-top: auto; padding: 22px; border: 1px solid #c2ead3; border-radius: 20px; background: #f5fcf8; }
.plus-active-summary h6 { margin: 0; color: var(--success); font-size: 1.35rem; }
.plus-active-summary > p { margin: 0; color: #496157; line-height: 1.5; }
.plus-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.plus-details > div { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-soft); }
.plus-details dt { color: var(--muted); font-size: .82rem; }
.plus-details dd { margin: 5px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.backlink-drawer { position: fixed; inset: 0; z-index: 40; }
.drawer-backdrop { position: absolute; inset: 0; background: rgba(28, 25, 23, .42); }
.drawer-panel { position: absolute; top: 0; right: 0; width: min(520px, 100vw); height: 100%; overflow: auto; padding: 28px; background: #fff; box-shadow: -20px 0 60px rgba(28, 25, 23, .18); }
.drawer-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.drawer-header h3 { margin: 0; }
.backlink-offer-summary { display: grid; gap: 6px; margin: 22px 0; padding: 18px; border-radius: 18px; background: var(--panel-soft); }
.backlink-offer-summary h4, .backlink-offer-summary p { margin: 0; }
.backlink-offer-summary > span { color: var(--muted); }
.backlink-form { display: grid; gap: 16px; }
.backlink-validation { min-height: 24px; color: var(--muted); }
.drawer-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 8px; }

.matches-analytics-panel { margin-top: 18px; }
.matches-analytics-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.matches-analytics-heading h4 { margin: 0; font-size: 1.2rem; }
.matches-analytics-heading p:last-child { margin: 7px 0 0; color: var(--muted); }
.analytics-period-toggle { display: inline-flex; gap: 4px; padding: 4px; background: var(--panel-soft); border: 1px solid var(--line); border-radius: 999px; }
.analytics-period-button { padding: 9px 14px; color: var(--muted); background: transparent; border: 0; border-radius: 999px; cursor: pointer; font-weight: 700; }
.analytics-period-button.active { color: var(--text); background: var(--primary); }
.matches-analytics-filters { display: grid; grid-template-columns: repeat(2, minmax(170px, 1fr)) minmax(150px, 220px); gap: 12px; align-items: end; margin: 18px 0; }
.matches-analytics-filters label { color: var(--muted); font-size: 0.9rem; }
.matches-analytics-filters input { margin-top: 7px; }
.matches-analytics-filters button { min-height: 46px; }
.analytics-message { margin: 14px 0; padding: 14px 16px; color: var(--muted); background: var(--panel-soft); border: 1px solid var(--line); border-radius: 14px; }
.analytics-message.error { color: var(--danger); background: var(--danger-soft); border-color: #f1c9c9; }
#matches-analytics-content { display: grid; grid-template-columns: minmax(170px, 220px) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.analytics-total-card { display: flex; flex-direction: column; justify-content: center; padding: 22px; background: var(--primary-soft); border: 1px solid var(--primary-line); border-radius: 18px; }
.analytics-total-card strong { font-size: 2.7rem; }
.matches-chart-wrap { position: relative; min-height: 300px; padding: 10px; border: 1px solid var(--line); border-radius: 18px; }
.matches-chart-wrap canvas { display: block; width: 100%; height: 300px; }
.matches-chart-wrap .empty-state { position: absolute; inset: 20px; display: grid; place-items: center; }
.analytics-trend-summary { margin: 14px 0 0; color: var(--muted); line-height: 1.5; }
.analytics-table-details { margin-top: 14px; }
.analytics-table-details summary { width: fit-content; color: var(--primary-strong); cursor: pointer; font-weight: 700; }
.analytics-table-scroll { margin-top: 12px; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
.analytics-data-table { width: 100%; border-collapse: collapse; background: #fff; }
.analytics-data-table caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.analytics-data-table th, .analytics-data-table td { padding: 11px 14px; border-bottom: 1px solid var(--line); text-align: left; }
.analytics-data-table th:last-child, .analytics-data-table td:last-child { text-align: right; }
.analytics-data-table tbody tr:last-child td { border-bottom: 0; }

.agency-news-lock {
    display: grid;
    gap: 12px;
    max-width: 680px;
    padding: 24px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 18px;
}
.agency-news-lock h3, .agency-news-lock p { margin: 0; }
.agency-news-lock p { color: var(--muted); line-height: 1.6; }
.agency-news-search { display: grid; gap: 8px; margin-bottom: 18px; }
.agency-news-search label { font-weight: 700; }
.agency-news-search > div { display: flex; gap: 10px; }
.agency-news-search input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 13px 15px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--text);
}
.agency-news-feedback { margin: 0 0 16px; color: var(--muted); }
.agency-news-feedback.error { color: var(--danger); }
.agency-news-feed { display: grid; gap: 24px; }
.agency-news-day { display: grid; gap: 12px; }
.agency-news-day-title { margin: 0; font-size: 1.05rem; color: var(--text); }
.agency-news-list { display: grid; gap: 10px; }
.agency-news-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 18px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
}
.agency-news-card-copy { min-width: 0; }
.agency-news-card h3 { margin: 4px 0 8px; font-size: 1.05rem; line-height: 1.4; }
.agency-news-source { margin: 0; color: var(--primary-strong); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.agency-news-summary { margin: 0; color: var(--muted); line-height: 1.6; }
.agency-news-link { flex: 0 0 auto; white-space: nowrap; }
.agency-news-load-more { display: block; margin: 20px auto 0; }

.side-link-with-badge { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.notification-badge {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--warning);
    color: var(--text);
    font-size: 0.74rem;
    font-weight: 800;
}
.notifications-list, .request-offer-list { display: grid; gap: 14px; }
.offer-requests-list { display: grid; gap: 10px; }
.request-comments { display: grid; gap: 8px; }
.request-notification-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.request-notification-card h4 { margin: 4px 0 6px; font-size: 1.08rem; }
.request-notification-card p:last-child { margin: 0; color: var(--muted); }
.request-county-card { margin-bottom: 18px; }
.request-county-card > label, .request-comment-form > label, .request-offer-modal-card > label { display: block; margin-bottom: 8px; font-weight: 700; }
.request-county-controls { display: flex; align-items: center; gap: 14px; }
.request-county-controls select, .request-offer-modal-card input, .request-comment-form textarea {
    width: 100%;
    padding: 12px 14px;
    color: var(--text);
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
}
.request-county-controls select { max-width: 520px; }
.offer-request-card { position: relative; display: grid; gap: 9px; overflow: hidden; padding: 16px 18px; }
.offer-request-card.is-new { border: 2px solid var(--warning); }
.offer-request-new-ribbon {
    position: absolute;
    top: 18px;
    right: -43px;
    z-index: 1;
    display: none;
    width: 170px;
    padding: 7px 0;
    color: var(--text);
    background: var(--warning);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(35deg);
    pointer-events: none;
}
.offer-request-card.is-new .offer-request-new-ribbon { display: block; }
.offer-request-card.is-new .offer-request-head { padding-right: 88px; }
.offer-request-head, .request-contact-row, .request-contact-actions, .request-comment-actions, .request-comment-head, .request-comment-offer, .request-comments-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.offer-request-head > div { min-width: 0; }
.offer-request-head .eyebrow { margin-bottom: 4px; }
.offer-request-head h4 { margin: 2px 0; font-size: 1.08rem; line-height: 1.35; overflow-wrap: anywhere; }
.offer-request-head span, .request-comment-head time { color: var(--muted); font-size: 0.82rem; }
.offer-request-description { margin: 0; color: var(--muted); line-height: 1.45; white-space: pre-line; }
.request-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.request-meta span { padding: 4px 8px; background: var(--panel-soft); border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 0.78rem; line-height: 1.25; }
.request-contact-row { flex-wrap: wrap; }
.request-comment-count { color: var(--muted); font-size: 0.82rem; font-weight: 700; white-space: nowrap; }
.request-contact-actions { justify-content: flex-end; flex-wrap: wrap; }
.request-contact-actions .primary-button, .request-contact-actions .ghost-button,
.request-comment-actions .primary-button, .request-comment-actions .ghost-button,
.request-comment-offer .ghost-button { padding: 8px 12px; }
.request-details { display: grid; padding-top: 8px; border-top: 1px solid var(--line); }
.request-comments-panel { display: grid; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-soft); }
.request-comments-heading { min-height: 24px; }
.request-comments-heading h5 { margin: 0; color: var(--text); font-size: 0.94rem; }
.request-comment { padding: 9px 10px; background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--primary); border-radius: 10px; }
.request-comment p { margin: 5px 0; line-height: 1.4; white-space: pre-line; }
.request-comment-offer { margin-top: 6px; padding: 7px 9px; background: #fff; border: 1px solid var(--line); border-radius: 9px; }
.request-comment-offer div { display: grid; gap: 3px; }
.request-comment-offer span { color: var(--muted); font-size: 0.82rem; }
.request-comment-form { padding-top: 10px; border-top: 1px solid var(--line); }
.request-comment-form > label { margin-bottom: 6px; }
.request-comment-form textarea { min-height: 68px; padding: 9px 11px; resize: vertical; }
.request-comment-actions { margin-top: 8px; justify-content: flex-end; }
.request-form-status { margin: 6px 0 0; color: var(--danger); }
.request-form-status:empty { display: none; }
.request-offer-modal-card { width: min(720px, calc(100vw - 32px)); }
.request-offer-list { max-height: min(52vh, 520px); margin-top: 14px; overflow: auto; }
.request-offer-option { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.request-offer-option input { width: auto; }
.request-offer-option span { display: grid; gap: 4px; }
.request-offer-option small { color: var(--muted); }

@media (max-width: 1120px) {
    .shell { grid-template-columns: 1fr; }
    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 16;
        width: min(320px, calc(100vw - 32px));
        height: 100vh;
        transform: translateX(-100%);
        transition: transform 0.24s ease;
        border-right: 0;
        box-shadow: 0 24px 70px rgba(28, 25, 23, 0.18);
    }
    .shell.drawer-open .sidebar { transform: translateX(0); }
    .drawer-toggle { display: inline-grid; place-items: center; }
    .topbar { justify-content: space-between; }
    .metric-grid, .agents-grid, .properties-grid, .profile-card-body, .matches-layout, .agency-profile-layout, #matches-analytics-content { grid-template-columns: 1fr; }
    .agency-identity-card { position: static; }
    .match-row { grid-template-columns: 72px minmax(0, 1fr); }
    .match-status { grid-column: 1 / -1; justify-items: start; }
    .plans-comparison-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .portfolio-toolbar, .plus-details { grid-template-columns: 1fr; }
    .portfolio-card { grid-template-columns: 88px minmax(0, 1fr); }
    .portfolio-cover { width: 88px; height: 72px; }
    .portfolio-card-actions { grid-column: 1 / -1; justify-content: stretch; }
    .portfolio-card-actions > * { flex: 1 1 auto; text-align: center; }
    .drawer-actions { flex-direction: column; align-items: stretch; }
    .la-cheie-plus-card { padding: 18px; }
    .plans-intro h4 { font-size: 1.8rem; }
    .plan-comparison-card { padding: 18px; }
    .plus-plan-picker { grid-template-columns: 1fr; }
    .plus-plan-picker legend { grid-column: auto; }
    .plus-price-savings { align-items: flex-start; flex-direction: column; }
    .offer-request-new-ribbon { top: 15px; right: -48px; width: 165px; font-size: 0.68rem; }
    .offer-request-card.is-new .offer-request-head { padding-right: 76px; }
    .drawer-panel { padding: 20px; }
}

@media (max-width: 720px) {
    .main-panel, .sidebar { padding: 18px; }
    .login-panel { padding: 28px 20px; }
    .topbar, .page-header, .section-head, .detail-actions, .agent-card-footer, .property-card-footer, .topbar-right, .wizard-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .matches-actions { justify-content: stretch; }
    .matches-analytics-heading { flex-direction: column; }
    .matches-analytics-filters { grid-template-columns: 1fr; }
    .analytics-period-toggle { width: 100%; }
    .analytics-period-button { flex: 1; }
    .switch-control { justify-content: space-between; }
    .demo-banner { flex-direction: column; align-items: stretch; }
    .auth-actions { flex-direction: column; }
    .metric-grid, .agents-grid, .properties-grid { grid-template-columns: 1fr; }
    .account-access-heading, .initial-password-row { align-items: flex-start; flex-direction: column; }
    .initial-access-actions { width: 100%; }
    .match-row { grid-template-columns: 1fr; }
    .match-score { place-items: start; padding: 12px; }
    .form-grid.two-columns > label { flex-basis: 100%; }
    .stepper { grid-template-columns: 1fr; }
    .topbar-right { width: 100%; }
    .user-chip { width: 100%; justify-content: space-between; }
    .profile-section-heading, .profile-form-footer { flex-direction: column; align-items: stretch; }
    .dashboard-pagination { justify-content: space-between; }
    .dashboard-pagination span { min-width: 0; }
    .profile-section-heading > span { max-width: none; text-align: left; }
    .profile-form-footer .primary-button { width: 100%; }
    .portfolio-toolbar input { max-width: none; }
    .agency-news-search > div, .agency-news-card { flex-direction: column; }
    .agency-news-link, .agency-news-search .primary-button { width: 100%; text-align: center; }
    .request-notification-card, .request-county-controls, .offer-request-head, .request-contact-row, .request-comment-offer { flex-direction: column; align-items: stretch; }
    .request-contact-actions, .request-comment-actions { justify-content: stretch; }
    .request-contact-actions > *, .request-comment-actions > * { flex: 1 1 auto; text-align: center; }
    .offer-request-card { padding: 13px; }
    .request-comments-panel { padding: 10px; }
    .request-comment { padding: 8px 9px; }
    .request-meta { gap: 5px; }
}

/* Role-specific controls stay hidden even when view/render classes change. */
body[data-desk-mode="agent"] [data-desk-only="agency"],
body[data-desk-mode="agency"] [data-desk-only="agent"],
body[data-desk-mode="pending"] [data-desk-only] {
    display: none !important;
}

/* SEO: compact editing workspace using the dashboard palette. */
.seo-domain-panel { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 18px 22px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.seo-domain-panel > div { display: grid; gap: 4px; min-width: 0; }
.seo-caption { font-size: .75rem; color: var(--muted); }
#seo-domain { overflow-wrap: anywhere; }
.seo-plan-status { padding: 6px 10px; border-radius: 999px; background: #f2efed; color: var(--muted); font-size: .8rem; font-weight: 700; }
.seo-plan-status.active { background: var(--success-soft); color: var(--success); }
.seo-access { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; padding: 16px 0 0; }
.seo-access p { margin: 0; max-width: 720px; color: var(--muted); line-height: 1.5; }
.portfolio-toolbar.offer-filters { grid-template-columns: minmax(260px, 2fr) repeat(2, minmax(135px, 1fr)); align-items: start; }
:where(body[data-desk-mode="agency"][data-admin-preview="false"]) .portfolio-toolbar.offer-filters { grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(135px, 1fr)); }
.portfolio-toolbar.offer-filters input { max-width: none; }
.seo-toolbar { display: grid; grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(135px, 1fr)); gap: 12px; margin-top: 24px; }
.offer-filters label { display: grid; gap: 7px; min-width: 0; font-size: .8rem; font-weight: 600; color: var(--muted); }
.offer-filters input, .offer-filters select { min-width: 0; min-height: 48px; width: 100%; box-sizing: border-box; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font: inherit; font-weight: 400; color: var(--text); }
.offer-filters select:focus { outline: 2px solid var(--primary-ring); border-color: var(--primary); }
.seo-result-count { margin: 18px 0 12px; color: var(--muted); font-size: .84rem; }
.seo-list { display: grid; gap: 12px; }
.seo-row { display: grid; grid-template-columns: minmax(250px, 1fr) minmax(270px, 1fr); gap: 24px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.seo-offer { display: flex; align-items: flex-start; gap: 14px; min-width: 0; }
.seo-cover { width: 92px; height: 92px; flex: 0 0 92px; object-fit: cover; border-radius: 12px; background: var(--panel-soft); }
.seo-cover-placeholder { display: grid; place-items: center; color: var(--muted); font-size: .72rem; }
.seo-offer-copy { min-width: 0; display: grid; gap: 6px; }
.seo-offer-copy h4 { margin: 0; font-size: 1rem; line-height: 1.4; }
.seo-offer-copy p { margin: 0; color: var(--muted); font-size: .82rem; overflow-wrap: anywhere; }
.seo-offer-copy a { color: var(--text); text-decoration: none; }
.seo-offer-copy a:hover { text-decoration: underline; }
.seo-offer-meta { font-size: .72rem; color: var(--muted); line-height: 1.4; }
.seo-offer-author { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.seo-link-form { display: grid; align-content: center; gap: 8px; min-width: 0; }
.seo-link-form label { font-size: .78rem; color: var(--muted); }
.seo-link-controls { display: flex; align-items: center; gap: 8px; }
.seo-link-controls input { width: 100%; min-width: 0; background: #fff; }
.seo-link-controls input:disabled { background: #f8f7f6; }
.seo-link-controls button { flex: 0 0 auto; color: #fff; font-weight: 600; }
.seo-link-badge { font-size: .76rem; color: var(--muted); }
.seo-link-badge.configured { color: var(--success); }
.seo-feedback { margin: 0; font-size: .8rem; line-height: 1.4; color: var(--muted); }
.seo-feedback.success { color: var(--success); }
.seo-feedback.error { color: var(--danger); }
.seo-feedback:empty { display: none; }
#seo-authors-error { margin-top: 12px; }
#portfolio-authors-error { margin-bottom: 16px; }
.seo-retry { margin-left: 8px; }
@media (max-width: 1200px) {
    .seo-toolbar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .portfolio-toolbar.offer-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    :where(body[data-desk-mode="agency"][data-admin-preview="false"]) .portfolio-toolbar.offer-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .offer-filters .offer-search-field { grid-column: 1 / -1; }
    .seo-row { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 600px) {
    .seo-toolbar, .portfolio-toolbar.offer-filters { grid-template-columns: 1fr; gap: 12px; }
    .seo-row { padding: 16px; }
    .seo-cover { width: 68px; height: 76px; flex-basis: 68px; }
    .seo-link-controls { flex-wrap: wrap; }
    .seo-link-controls button { width: 100%; }
    .seo-domain-panel { padding: 16px; }
}

/* Keep benefit illustrations compact; their links open the original image. */
.seo-guide, .feature-guide {
    --guide-image-height: clamp(180px, calc(100svh - 400px), 460px);
    --guide-image-ratio: 1.59879;
    width: min(100%, calc(var(--guide-image-height) * var(--guide-image-ratio) + 34px));
    margin: 20px 0 0;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: var(--panel);
}
.auto-comments-guide { --guide-image-height: clamp(180px, calc(100svh - 480px), 420px); }
.seo-guide { --guide-image-height: clamp(180px, calc(100svh - 460px), 420px); }
#community-plus-guide {
    --guide-image-height: clamp(180px, calc(100svh - 355px), 440px);
    --guide-image-ratio: 2;
}
.feature-guide figcaption { margin-bottom: 14px; }
.feature-guide h3 { margin: 0 0 6px; font-size: 1.1rem; }
.feature-guide p { margin: 0; color: var(--muted); line-height: 1.5; }
.seo-guide a, .feature-guide a { display: block; color: var(--primary-strong); text-decoration: none; cursor: zoom-in; }
.seo-guide a:focus-visible, .feature-guide a:focus-visible { outline: 3px solid var(--primary-ring); outline-offset: 5px; border-radius: 12px; }
.seo-guide img, .feature-guide img { display: block; width: 100%; height: auto; border-radius: 12px; }
.seo-guide-zoom, .feature-guide-zoom { display: block; margin-top: 10px; font-size: .85rem; font-weight: 600; text-align: right; }
@media (max-width: 600px) {
    .seo-guide, .feature-guide { margin-top: 12px; }
    #matches-basic-benefit { flex-basis: 100%; }
    .auto-comments-guide { width: 100%; }
    .auto-comments-guide figcaption { margin-bottom: 8px; }
    .auto-comments-guide h3 { margin-bottom: 4px; font-size: 1rem; line-height: 1.3; }
    .auto-comments-guide p { font-size: .875rem; line-height: 1.35; }
    .auto-comments-guide img { width: auto; max-width: 100%; max-height: clamp(120px, calc(100svh - 694px), 200px); margin-inline: auto; }
    .seo-guide { --guide-image-height: clamp(160px, calc(100svh - 690px), 240px); }
}

/* Persistent visual help for active Plus accounts. */
.benefit-guide-heading { flex-wrap: wrap; align-items: center; }
.benefit-guide-heading > div { flex: 1 1 300px; }
.benefit-guide-card {
    display: flex; align-items: center; gap: 12px; flex: 0 1 auto;
    max-width: 100%; margin-left: auto; padding: 8px 12px 8px 8px;
    border: 1px solid var(--primary-line); border-radius: 12px;
    background: var(--panel); color: var(--text); text-align: left;
    font: inherit; cursor: pointer; box-shadow: 0 2px 6px rgba(28, 25, 23, .03);
}
.benefit-guide-card:hover { background: var(--primary-ultralight); border-color: var(--primary); }
.benefit-guide-card:focus-visible, .benefit-guide-dialog button:focus-visible,
.benefit-guide-image-wrap:focus-visible { outline: 3px solid var(--primary-ring); outline-offset: 3px; }
.benefit-guide-card img { width: 64px; height: 44px; flex: 0 0 64px; object-fit: cover; border: 1px solid var(--line); border-radius: 6px; }
.benefit-guide-card strong { display: block; font-size: .85rem; line-height: 1.4; }
.benefit-guide-card small { display: block; margin-top: 2px; color: var(--muted); font-size: .74rem; }
.benefit-guide-arrow { margin-left: auto; color: var(--primary-strong); font-size: 1.25rem; }
.benefit-guide-toolbar:has(.benefit-guide-card:not(.hidden)) { display: flex; margin-bottom: 16px; }
body.benefit-guide-open { overflow: hidden; }
.benefit-guide-dialog {
    width: min(1200px, calc(100vw - 40px)); max-width: none;
    max-height: calc(100svh - 32px); padding: 20px; overflow: auto;
    border: 1px solid var(--line); border-radius: 20px;
    background: var(--panel); color: var(--text); box-shadow: var(--shadow-hover);
}
.benefit-guide-dialog::backdrop { background: rgba(28, 25, 23, .55); backdrop-filter: blur(3px); }
.benefit-guide-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.benefit-guide-dialog-heading h2 { margin: 0; font-size: 1.4rem; }
.benefit-guide-dialog-heading .eyebrow { margin: 0 0 4px; }
.benefit-guide-dialog > .section-copy { margin: 8px 0 16px; }
.benefit-guide-image-wrap { max-height: 68svh; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-muted); }
.benefit-guide-image-wrap img { display: block; width: auto; height: auto; max-width: 100%; max-height: 68svh; margin-inline: auto; object-fit: contain; }
.benefit-guide-dialog.is-zoomed .benefit-guide-image-wrap img { max-width: none; max-height: none; margin: 0; }
.benefit-guide-dialog-actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 16px; }
@media (max-width: 600px) {
    .benefit-guide-card { width: 100%; margin-left: 0; }
    .benefit-guide-heading > div { flex-basis: 100%; }
    .benefit-guide-dialog { width: calc(100vw - 20px); padding: 14px; border-radius: 14px; }
    .benefit-guide-dialog-heading h2 { font-size: 1.15rem; }
    .benefit-guide-dialog-actions > button { flex: 1 1 140px; }
}

/* Professional desk layout: navigation, topbar, density and the General overview. */
body { font-family: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif; font-size: 15px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
select { font: inherit; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.side-icon, .button-icon { flex: 0 0 auto; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.shell { grid-template-columns: 264px minmax(0, 1fr); }
.sidebar { gap: 18px; padding: 22px 14px 18px; }
.sidebar .brand { padding: 0 8px 4px; }
.sidebar .brand .eyebrow { margin-bottom: 2px; }
.sidebar .brand h1 { font-size: 1.2rem; letter-spacing: -0.01em; }
.sidebar .brand-mark { width: 40px; height: 40px; border-radius: 12px; }
.side-group { gap: 2px; }
.side-group .side-title { margin: 0 0 4px; padding: 0 12px; color: #a8a29e; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; }
.side-link { display: flex; align-items: center; gap: 11px; min-height: 40px; padding: 8px 12px; border: 0; border-radius: 10px; color: var(--nav-text); font-size: 0.93rem; font-weight: 500; transition: none; }
.side-link .side-icon { color: #a8a29e; }
.side-link:hover:not(.la-cheie-plus-link):not(.quick-support-link) { color: var(--text); background: var(--surface-muted); }
.side-link:hover .side-icon { color: var(--muted); }
.side-link:focus-visible { outline: 3px solid var(--primary-ring); outline-offset: 1px; }
.side-link.active:not(.la-cheie-plus-link):not(.quick-support-link) { color: var(--primary-strong); background: var(--primary-soft); border-color: transparent; font-weight: 600; box-shadow: inset 3px 0 0 var(--primary); }
.side-link.active .side-icon { color: var(--primary); }
.side-link-with-badge > span:first-of-type { flex: 1 1 auto; }
.side-link-with-badge .notification-badge { min-width: 22px; height: 20px; padding: 0 6px; font-size: 0.7rem; }
.side-link.la-cheie-plus-link { justify-content: space-between; margin-top: 6px; min-height: 44px; padding: 10px 14px; border-radius: 12px; color: #fff; background: linear-gradient(135deg, var(--primary), var(--primary-strong)); box-shadow: 0 6px 16px rgba(240, 90, 40, 0.22); font-weight: 600; }
.side-link.la-cheie-plus-link:hover { filter: brightness(1.05); }
.side-link.la-cheie-plus-link.active { outline: 2px solid var(--primary-strong); outline-offset: 2px; }
.quick-support-link { margin-top: 4px; color: #066649; background: #ecfdf5; border: 1px solid #b7ebd6; font-weight: 600; }
.quick-support-link:hover { color: #fff; background: #087f5b; }
.auth-card { padding: 14px 4px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; box-shadow: none; background: transparent; }
.auth-card .side-title { display: none; }
#logout-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
#logout-button.hidden { display: none; }

.main-panel { min-width: 0; padding: 0; }
.topbar { position: sticky; top: 0; z-index: 12; min-height: var(--topbar-height); margin: 0; padding: 12px 32px; background: rgba(246, 243, 241, 0.86); border-bottom: 1px solid var(--line); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); }
.topbar-left { flex-wrap: nowrap; min-width: 0; gap: 12px; }
.topbar-context { display: grid; min-width: 0; line-height: 1.25; }
.topbar-section { color: var(--muted); font-size: 0.78rem; font-weight: 500; }
.topbar-title { overflow: hidden; font-size: 1.12rem; font-weight: 700; letter-spacing: -0.01em; text-overflow: ellipsis; white-space: nowrap; }
.topbar-right { gap: 8px; }
.topbar .ghost-button { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; }
.topbar .ghost-button.hidden { display: none; }
.user-chip { gap: 10px; padding: 4px 14px 4px 4px; border-radius: 12px; }
.user-chip strong { display: block; max-width: 260px; font-size: 0.9rem; line-height: 1.2; white-space: nowrap; }
.user-chip .verified-agency-badge { width: 18px; height: 18px; }
.user-chip .verified-profile-name { display: inline-flex; }
.user-chip .verified-profile-name__text { display: inline; }
a.primary-button, a.ghost-button { text-decoration: none; }
.user-chip span { font-size: 0.76rem; }
.avatar.tiny { width: 34px; height: 34px; border-radius: 10px; }

.dashboard-shell { width: 100%; max-width: var(--content-max); margin: 0 auto; padding: 28px 32px 56px; }
.page-header h2 { font-size: 1.45rem; letter-spacing: -0.015em; }
.section-head { margin-bottom: 14px; }
.section-head h3 { font-size: 1.3rem; font-weight: 700; letter-spacing: -0.015em; }
.section-head.compact { margin-top: 32px; }
.section-head.compact h3 { font-size: 1.08rem; }
.section-copy { max-width: 760px; font-size: 0.92rem; line-height: 1.5; }
.eyebrow, .meta-label { font-size: 0.7rem; letter-spacing: 0.08em; font-weight: 600; }

.primary-button, .ghost-button, .danger-button { min-height: 40px; padding: 9px 16px; border-radius: var(--radius-md); }
.primary-button, .ghost-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.ghost-button { box-shadow: 0 1px 2px rgba(28, 25, 23, 0.04); }
.icon-button { display: inline-grid; place-items: center; border-radius: 10px; }
input, textarea { padding: 11px 13px; border-radius: 10px; }
.offer-filters input, .offer-filters select { min-height: 44px; padding: 10px 13px; border-radius: 10px; }
.surface-card, .metric-card, .agent-card, .property-card, .profile-card { padding: 20px; }
.empty-state { padding: 36px 24px; border-radius: 16px; background: var(--surface-muted); }
label span span { display: inline; margin: 0; }
.coming-soon { display: grid; justify-items: center; gap: 12px; max-width: none; padding: 48px 24px; border: 1px dashed var(--line); border-radius: 18px; color: var(--muted); background: var(--surface-muted); box-shadow: none; text-align: center; }
.coming-soon::before { content: ""; width: 48px; height: 48px; border-radius: 14px; background: var(--primary-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b83e17' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / 24px no-repeat; }

/* General overview */
.overview-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; padding: 26px 28px; border: 1px solid var(--primary-line); border-radius: 20px; background: radial-gradient(circle at 100% 0%, rgba(240, 90, 40, 0.14), transparent 45%), linear-gradient(135deg, var(--primary-ultralight), #fff 70%); }
.overview-hero:empty { display: none; }
.overview-hero-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.hero-role, .hero-chip { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; font-size: 0.75rem; font-weight: 700; }
.hero-role { color: var(--primary-strong); background: #fff; border: 1px solid var(--primary-line); }
.hero-chip { color: var(--muted); background: #f2efed; }
.hero-chip.active { color: var(--success); background: var(--success-soft); }
.overview-hero h2 { margin: 0 0 6px; font-size: clamp(1.4rem, 2.4vw, 1.85rem); letter-spacing: -0.025em; line-height: 1.15; }
.overview-hero p { max-width: 620px; margin: 0; color: var(--muted); }
.overview-hero-copy { flex: 1 1 auto; min-width: 0; }
.overview-hero-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
/* Profile progress: one row by default, the checklist opens under it. */
.profile-progress { margin: -12px 0 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); box-shadow: var(--shadow); }
.profile-progress:empty { display: none; }
.profile-progress-head { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; }
.profile-progress-toggle { display: grid; grid-column: 1 / -1; grid-row: 1; grid-template-columns: subgrid; align-items: center; width: 100%; padding: 14px 16px 14px 20px; border: 0; border-radius: 15px; color: var(--text); background: transparent; font: inherit; text-align: left; cursor: pointer; transition: background 0.18s ease; }
.profile-progress-toggle:hover { background: var(--surface-muted); }
.profile-progress-toggle:focus-visible { outline: 3px solid var(--primary-ring); outline-offset: 2px; }
.profile-progress.is-open .profile-progress-toggle { border-radius: 15px 15px 0 0; }
.profile-progress-summary { display: grid; grid-column: 1; gap: 8px; min-width: 0; padding-right: 20px; }
.profile-progress-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.profile-progress-title strong { font-size: 0.97rem; font-weight: 700; letter-spacing: -0.01em; }
.profile-progress-title span { color: var(--muted); font-size: 0.85rem; }
.profile-progress-meter { display: flex; align-items: center; gap: 12px; }
.profile-progress-track { flex: 1 1 auto; height: 8px; overflow: hidden; border-radius: 999px; background: #f2efed; }
.profile-progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--primary), var(--primary-highlight)); transition: width 0.4s ease; }
.profile-progress-value { flex: 0 0 auto; min-width: 3ch; color: var(--primary-strong); font-size: 0.92rem; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
.profile-progress-chevron { grid-column: 3; width: 20px; height: 20px; margin-left: 14px; fill: none; stroke: var(--muted); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.2s ease; }
.profile-progress.is-open .profile-progress-chevron { transform: rotate(180deg); }
.profile-progress-next { display: inline-flex; position: relative; z-index: 1; grid-column: 2; grid-row: 1; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 9px 14px; border: 1px solid var(--primary-line); border-radius: var(--radius-md); color: var(--primary-strong); background: var(--primary-soft); font: inherit; font-size: 0.92rem; font-weight: 600; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background 0.18s ease, border-color 0.18s ease; }
.profile-progress-next:hover { border-color: var(--primary); background: #ffe7dc; }
.profile-progress-next:focus-visible { outline: 3px solid var(--primary-ring); outline-offset: 2px; }
.profile-progress-next .button-icon { width: 16px; height: 16px; }
.profile-progress-panel { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows 0.22s ease, visibility 0.22s; }
.profile-progress.is-open .profile-progress-panel { grid-template-rows: 1fr; visibility: visible; }
.profile-progress-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; min-height: 0; overflow: hidden; }
.profile-progress-group { min-width: 0; padding: 4px 8px 14px; }
.profile-progress.is-open .profile-progress-groups { border-top: 1px solid var(--line); }
.profile-progress-group .meta-label { margin: 14px 12px 6px; }
.profile-progress-group ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.profile-step { display: flex; align-items: center; gap: 12px; min-width: 0; }
.profile-step.is-done { min-height: 40px; padding: 8px 12px; color: var(--muted); }
.profile-step-link { display: flex; flex: 1 1 auto; align-items: center; gap: 12px; min-width: 0; min-height: 56px; padding: 8px 12px; border: 0; border-radius: 12px; color: var(--text); background: transparent; font: inherit; text-align: left; text-decoration: none; cursor: pointer; transition: background 0.18s ease; }
.profile-step-link:hover { background: var(--primary-ultralight); }
.profile-step-link:focus-visible { outline: 3px solid var(--primary-ring); outline-offset: -3px; }
.profile-step-check { display: inline-grid; flex: 0 0 auto; place-items: center; width: 22px; height: 22px; border: 2px solid #d6cbc4; border-radius: 50%; background: #fff; }
.profile-step-check-icon { width: 13px; height: 13px; visibility: hidden; fill: none; stroke: #fff; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.is-done > .profile-step-check, .profile-progress-done > .profile-step-check { border-color: var(--success); background: var(--success); }
.is-done .profile-step-check-icon, .profile-progress-done .profile-step-check-icon { visibility: visible; }
.profile-step-link:hover .profile-step-check { border-color: var(--primary); }
.profile-step-copy { display: grid; flex: 1 1 auto; gap: 1px; min-width: 0; }
.profile-step-copy strong { font-size: 0.93rem; font-weight: 600; }
.profile-step-copy > span:not(.sr-only) { color: var(--muted); font-size: 0.84rem; line-height: 1.35; }
.is-done .profile-step-copy strong { font-weight: 500; }
.profile-step-arrow { flex: 0 0 auto; width: 18px; height: 18px; fill: none; stroke: #c4bcb6; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: stroke 0.18s ease, transform 0.18s ease; }
.profile-step-link:hover .profile-step-arrow { stroke: var(--primary); transform: translateX(2px); }
.profile-progress.is-complete { border-color: #c2ead3; background: var(--success-soft); box-shadow: none; }
.profile-progress-done { display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 20px; }
.profile-progress-done p { flex: 1 1 auto; margin: 0; }
.profile-progress-done strong { font-weight: 700; }
.profile-progress-done span:not(.profile-step-check) { color: var(--muted); font-size: 0.9rem; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.profile-step-target { border-radius: 16px; animation: profile-step-target 2.2s ease-out; }
@keyframes profile-step-target {
    0%, 55% { box-shadow: 0 0 0 3px var(--primary), 0 0 0 8px var(--primary-ring); }
    100% { box-shadow: 0 0 0 0 transparent, 0 0 0 0 transparent; }
}
.profile-next-step:empty { display: none; }
.profile-form-footer { position: sticky; bottom: 0; z-index: 5; padding: 10px 0; background: var(--bg); box-shadow: 0 -1px 0 var(--line); }
@media (max-width: 860px) {
    .profile-progress-groups { grid-template-columns: minmax(0, 1fr); }
    .profile-progress-group + .profile-progress-group .meta-label { margin-top: 6px; }
}
@media (max-width: 720px) {
    .profile-progress { margin-top: -14px; }
    .profile-progress-head { grid-template-columns: minmax(0, 1fr) auto; }
    .profile-progress-toggle { padding: 14px 14px 12px 16px; }
    .profile-progress-summary { padding-right: 0; }
    .profile-progress-chevron { grid-column: 2; }
    .profile-progress-next { grid-column: 1 / -1; grid-row: 2; min-height: 44px; margin: 0 14px 14px 16px; }
    .profile-progress-group { padding-inline: 4px; }
    .profile-progress-group .meta-label { margin-inline: 12px; }
    .profile-progress-done { flex-wrap: wrap; padding-left: 16px; }
    .profile-progress-done p { flex-basis: calc(100% - 34px); }
    .profile-form-footer { flex-flow: row wrap; gap: 8px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
    .profile-form-status { flex-basis: 100%; }
    .profile-next-step { flex: 1 1 auto; min-width: 0; }
    .profile-next-step .ghost-button { width: 100%; padding-inline: 10px; white-space: nowrap; }
    .profile-next-step .button-icon, .profile-next-label { display: none; }
    .profile-form-footer .primary-button { flex: 1 1 auto; width: auto; padding-inline: 10px; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
    .profile-progress-panel, .profile-progress-chevron, .profile-progress-track span { transition: none; }
    .profile-step-target { animation: none; outline: 3px solid var(--primary); outline-offset: 3px; }
}
.overview-stats { display: grid; gap: 28px; }
body[data-desk-mode="agent"] .overview-stat-group[data-desk-only="agent"] { order: -1; }
.overview-stat-group .section-head { margin-bottom: 12px; }
.overview-stat-group .section-head h3 { font-size: 1.08rem; }
.metric-card { display: grid; gap: 4px; align-content: start; transition: box-shadow 0.18s ease; }
.metric-card:hover { box-shadow: var(--shadow-hover); }
.metric-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.metric-card-head .meta-label { margin: 0; }
.metric-icon { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: var(--primary-strong); background: var(--primary-soft); }
.metric-card--sale .metric-icon { color: var(--success); background: var(--success-soft); }
.metric-card--rent .metric-icon { color: #b45309; background: var(--warning-soft); }
.metric-card strong { margin: 8px 0 0; font-size: 2.1rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.metric-card p { font-size: 0.86rem; }
.metric-share { height: 6px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: #f2efed; }
.metric-share span { display: block; width: var(--share, 0%); height: 100%; border-radius: inherit; background: var(--success); transition: width 0.4s ease; }
.metric-card--rent .metric-share span { background: var(--warning); }
.shortcut-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.shortcut-card { display: flex; align-items: center; gap: 14px; width: 100%; padding: 16px; border: 1px solid var(--line); border-radius: 16px; color: var(--text); background: var(--panel); box-shadow: var(--shadow); font: inherit; text-align: left; cursor: pointer; transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease; }
.shortcut-card:hover { border-color: var(--primary-line); box-shadow: var(--shadow-hover); transform: translateY(-1px); }
.shortcut-card:focus-visible { outline: 3px solid var(--primary-ring); outline-offset: 2px; }
.shortcut-icon { display: inline-grid; flex: 0 0 auto; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--primary-strong); background: var(--primary-soft); }
.shortcut-svg, .shortcut-arrow { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.shortcut-copy { display: grid; flex: 1 1 auto; gap: 2px; min-width: 0; }
.shortcut-copy strong { display: flex; align-items: center; gap: 8px; font-size: 0.97rem; }
.shortcut-copy > span { color: var(--muted); font-size: 0.85rem; line-height: 1.4; }
.shortcut-plus { padding: 2px 7px; border-radius: 999px; color: var(--primary-strong); background: var(--primary-soft); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.shortcut-arrow { flex: 0 0 auto; width: 18px; height: 18px; color: #c4bcb6; transition: color 0.18s ease, transform 0.18s ease; }
.shortcut-card:hover .shortcut-arrow { color: var(--primary); transform: translateX(2px); }
.account-access-card { gap: 14px; }
.account-access-card > .primary-button { justify-self: start; }

/* Lists and cards */
.offer-filters, #agents-view > .toolbar, #agent-detail-view > .toolbar { padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); box-shadow: var(--shadow); }
#agents-view > .toolbar input, #agent-detail-view > .toolbar input { max-width: 520px; }
.agents-grid { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
.agent-card { display: flex; flex-direction: column; transition: box-shadow 0.18s ease, border-color 0.18s ease; }
.agent-card:hover { border-color: var(--primary-line); box-shadow: var(--shadow-hover); }
.agent-card .agent-pill, .profile-panel .agent-pill { margin-top: 4px; padding: 3px 9px; font-size: 0.76rem; }
.agent-card .meta-row { display: grid; gap: 6px; padding: 12px 14px; border-radius: 12px; background: var(--surface-muted); font-size: 0.88rem; }
.agent-card .meta-row strong { color: var(--text); font-weight: 600; }
.agent-card .agent-description { font-size: 0.9rem; }
.agent-card-footer { flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 16px; }
.agent-card > .agent-card-footer { margin-top: 16px; border-top: 1px solid var(--line); }
.agent-card-footer .meta-label { flex: 1 0 100%; margin: 0; }
.agent-card-footer .initial-access-actions { flex: 1 1 auto; flex-wrap: nowrap; gap: 8px; }
.agent-card-footer .initial-access-actions > * { flex: 1 1 0; white-space: nowrap; }
.agent-initial-access { margin-top: 12px; padding: 12px 14px; background: var(--surface-muted); }
.agent-initial-access .meta-label { margin: 0; }
.agent-initial-access > span { color: var(--muted); font-size: 0.86rem; }
.agent-initial-access .initial-access-actions { justify-content: flex-start; gap: 6px; }
.agent-initial-access .ghost-button { min-height: 34px; padding: 6px 11px; font-size: 0.84rem; }
.profile-card-body { grid-template-columns: minmax(280px, 380px) 1fr; }
.profile-panel { border-radius: 14px; }
.properties-grid { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.portfolio-list { gap: 10px; }
.portfolio-card { grid-template-columns: 128px minmax(0, 1fr) auto; padding: 14px; border-radius: 16px; box-shadow: var(--shadow); transition: box-shadow 0.18s ease, border-color 0.18s ease; }
.portfolio-card:hover { border-color: var(--primary-line); box-shadow: var(--shadow-hover); }
.portfolio-cover { width: 128px; height: 96px; border-radius: 12px; font-size: 0.8rem; }
.portfolio-card-copy h4 { margin: 4px 0 2px; font-size: 1.02rem; }
.portfolio-card-copy p { font-size: 0.88rem; }
.portfolio-card-copy > strong { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.portfolio-card-meta span { padding: 2px 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-muted); font-size: 0.74rem; }
.portfolio-agent { margin-top: 8px; }
.portfolio-agent .avatar { width: 26px; height: 26px; border-radius: 8px; font-size: 0.7rem; }
.portfolio-link-status { margin-top: 8px; padding: 3px 9px; font-size: 0.76rem; }
.portfolio-card-actions { flex-direction: column; align-items: stretch; min-width: 170px; }
.dashboard-pagination { margin-top: 20px; }
.seo-row, .seo-domain-panel, .agency-news-card, .offer-request-card { box-shadow: var(--shadow); }
.seo-row, .seo-domain-panel { border-radius: 16px; }
.matches-panel { padding: 20px; }
.modal-card { border-radius: 20px; }
#wizard-next, #wizard-submit { margin-left: auto; }
.modal-backdrop, .drawer-backdrop { backdrop-filter: blur(2px); }

@media (max-width: 1120px) {
    .shell { grid-template-columns: 1fr; }
    .topbar { padding: 10px 20px; }
    .dashboard-shell { padding: 22px 20px 48px; }
    .refresh-button span, .back-to-profile-link span { display: none; }
    .refresh-button, .back-to-profile-link { width: 40px; padding: 0; }
    .overview-hero { flex-direction: column; align-items: flex-start; }
    .overview-hero-actions { justify-content: flex-start; }
    .overview-stats .metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .topbar, .topbar-right { flex-direction: row; align-items: center; width: auto; }
    .topbar { gap: 10px; padding: 8px 14px; }
    .user-chip { width: auto; padding: 0; border: 0; background: transparent; }
    .user-chip > div:last-child { display: none; }
    .dashboard-shell { padding: 18px 14px 40px; }
    .overview-hero { padding: 20px; }
    .overview-hero-actions, .overview-hero-actions > * { width: 100%; }
    .overview-stats .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .overview-stats .metric-card { padding: 14px; }
    .overview-stats .metric-card:first-child { grid-column: 1 / -1; }
    .overview-stats .metric-card strong { font-size: 1.6rem; }
    .overview-stats .metric-icon { width: 30px; height: 30px; }
    .shortcut-grid, .agents-grid, .properties-grid { grid-template-columns: 1fr; }
    .portfolio-card { grid-template-columns: 88px minmax(0, 1fr); }
    .portfolio-cover { width: 88px; height: 72px; }
    .portfolio-card-actions { flex-direction: row; flex-wrap: wrap; min-width: 0; }
    .section-head h3 { font-size: 1.15rem; }
}
