/* ─── LO WORKSPACE STYLES ───────────────────────────────────── */
/* Extracted from lo-workspace.html inline <style>             */
/* ───────────────────────────────────────────────────────────── */

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Inter', sans-serif;
    background: #f0f2f5;
    color: #1a1a2e;
    display: flex;
    min-height: 100vh;
}
/* ─── MAIN ──────────────────────────────────────────────── */
.main {
    margin-left: 240px;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-width: 0;
}

.top-bar {
    background: white; border-bottom: 1px solid #e2e5ea;
    padding: 16px 28px; display: flex; align-items: center; justify-content: flex-start;
    flex-shrink: 0;
}
.page-title { font-size: 20px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: #0f172a; }

/* ─── BUTTONS ───────────────────────────────────────────── */
.btn {
    padding: 8px 16px; border-radius: 7px; font-size: 12.5px; font-weight: 600;
    cursor: pointer; border: none; font-family: 'Inter', sans-serif; transition: opacity 0.15s;
}
.btn:hover     { opacity: 0.85; }
.btn-primary   { background: var(--accent-color); color: white; }
.btn-secondary { background: #f1f3f5; color: #374151; border: 1px solid #e2e5ea; }
.btn-full      { width: 100%; }

/* ─── WORKSPACE LAYOUT ──────────────────────────────────── */
.workspace {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 22px 24px 40px;
    min-width: 0;
    overflow-x: hidden;
}

.workspace-content {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.ws-main {
    min-width: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* ─── BORROWER START SCREEN ─────────────────────────────── */
.borrower-start-screen { width: 100%; }
.borrower-start-shell {
    border-radius: 16px;
    border: 1px solid rgba(81, 112, 255, 0.18);
    background: radial-gradient(circle at top right, rgba(81, 112, 255, 0.15), transparent 40%), linear-gradient(138deg, #f7faff 0%, #ffffff 55%, #f5f8ff 100%);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
    padding: 26px;
}
.borrower-start-header { text-align: center; margin-bottom: 20px; }
.borrower-start-header h2 { font-size: 24px; font-weight: 800; color: #0f172a; letter-spacing: 0.01em; margin-bottom: 6px; }
.borrower-start-header p { font-size: 13.5px; color: #64748b; }
.borrower-start-screen .borrower-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 360px));
    justify-content: center;
    align-items: stretch;
    gap: 18px;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
}
.borrower-start-screen .borrower-choice-card {
    position: relative; text-align: left; border: 1px solid #dce6fb; border-radius: 14px;
    background: linear-gradient(145deg, #ffffff 8%, #eef4ff 100%);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06); padding: 18px;
    width: 100%;
    min-height: 118px;
    cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.borrower-choice-card:hover { transform: translateY(-2px); border-color: rgba(81, 112, 255, 0.45); box-shadow: 0 14px 28px rgba(37, 99, 235, 0.16); }
.borrower-choice-card:focus-visible { outline: 3px solid rgba(81, 112, 255, 0.35); outline-offset: 2px; }
.borrower-choice-card-disabled { background: linear-gradient(145deg, #ffffff 8%, #f3f4f6 100%); cursor: default; }
.borrower-choice-card-disabled:hover { transform: none; border-color: #dce6fb; box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06); }
.borrower-choice-icon {
    width: 48px; height: 48px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
    color: #3150d6; background: rgba(81, 112, 255, 0.12); margin-bottom: 12px;
}
.borrower-choice-icon svg { width: 26px; height: 26px; }
.borrower-choice-title { font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 6px; }
.borrower-choice-description { font-size: 12.5px; line-height: 1.48; color: #475569; }
.borrower-choice-badge {
    position: absolute; top: 11px; right: 11px; font-size: 10px; font-weight: 800; letter-spacing: 0.06em;
    text-transform: uppercase; color: #334155; background: #e2e8f0; padding: 4px 7px; border-radius: 999px;
}
.existing-borrower-panel {
    max-width: 720px;
    margin: 12px auto 0;
    padding: 12px;
    border: 1px solid #c7d2fe;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 35px rgba(15, 23, 42, 0.08);
}

/* ─── SELECTED BORROWER PANEL ──────────────────────────── */
.selected-borrower-panel {
    width: 100%;
    margin: 18px auto 0;
}
.selected-borrower-shell {
    width: 100%;
    border: 1px solid #c7d2fe;
    border-radius: 18px;
    background: linear-gradient(105deg, #ffffff 0%, #f8fbff 52%, #eef2ff 100%);
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    padding: 54px 24px 60px;
}
.selected-borrower-content {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
}
.selected-borrower-label {
    color: #0f172a;
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 12px;
}
.selected-borrower-name {
    color: var(--accent-color);
    font-size: 22px;
    line-height: 1.2;
    font-weight: 800;
    margin-bottom: 10px;
}
.selected-borrower-details {
    margin: 0 auto 24px;
    color: #475569;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.5;
}
.selected-borrower-detail-line { margin-top: 3px; }
.selected-borrower-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.selected-borrower-action-btn {
    min-width: 150px;
    min-height: 42px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 800;
}
.selected-borrower-action-btn:disabled {
    cursor: not-allowed;
    opacity: 0.58;
}
.selected-borrower-action-complete {
    background: #e2e8f0 !important;
    border-color: #cbd5e1 !important;
    color: #64748b !important;
}
.selected-borrower-action-msg {
    margin-top: 14px;
    font-size: 12px;
    font-weight: 700;
    color: #166534;
}
.selected-borrower-action-msg.error { color: #b91c1c; }
.price-scenario-btn {
    justify-content: center;
}
.selected-borrower-name.selected-borrower-empty {
    color: #dc2626;
    font-weight: 700;
}
.price-scenario-btn.price-scenario-btn-inactive {
    background: #f8fafc;
    border-color: #dbe3ef;
    color: #64748b;
    box-shadow: none;
}
.price-scenario-btn.price-scenario-btn-active {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: #ffffff;
}

@media (max-width: 760px) {
    .selected-borrower-shell {
        padding: 38px 18px 44px;
    }
    .price-scenario-btn {
        width: 100%;
        min-width: 0;
        max-width: 320px;
    }
    .selected-borrower-action-btn {
        width: 100%;
        max-width: 320px;
    }
}

.existing-borrower-search-row {
    margin-bottom: 10px;
}

#existing-borrower-search {
    width: 100%;
    height: 38px;
    border: 1px solid #dbe3ef;
    border-radius: 9px;
    padding: 0 12px;
    font: inherit;
    font-size: 13px;
    color: #0f172a;
    background: #fff;
}

.existing-borrower-state {
    padding: 10px 12px;
    border-radius: 9px;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
}

.existing-borrower-state.error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
}

.existing-borrower-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 280px;
    overflow: auto;
}

.existing-borrower-row {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    border-radius: 10px;
    padding: 10px 12px;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.existing-borrower-row:hover,
.existing-borrower-row:focus-visible {
    border-color: var(--accent-color);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}

.existing-borrower-row-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.existing-borrower-row-main strong {
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
}

.existing-borrower-row-main span,
.existing-borrower-row-phone {
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}

.existing-borrower-row-phone {
    white-space: nowrap;
}

.borrower-start-screen #existing-borrower-panel.existing-borrower-panel {
    display: none;
    width: min(720px, 100%);
    max-width: 720px;
    margin: 14px auto 0;
    padding: 14px;
    border: 1px solid #c7d2fe;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.12);
}

.borrower-start-screen .existing-borrower-search-row {
    width: 100%;
    margin-bottom: 10px;
}

.borrower-start-screen #existing-borrower-search {
    display: block;
    width: 100%;
    height: 40px;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    padding: 0 12px;
    font: inherit;
    font-size: 13px;
    color: #0f172a;
    background: #ffffff;
    outline: none;
}

.borrower-start-screen #existing-borrower-search:focus {
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(79, 102, 255, 0.14);
}

.borrower-start-screen .existing-borrower-state {
    padding: 10px 12px;
    border-radius: 10px;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
}

.borrower-start-screen .existing-borrower-state.error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
}

.borrower-start-screen .existing-borrower-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 280px;
    overflow: auto;
}

.borrower-start-screen .existing-borrower-row {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    border-radius: 10px;
    padding: 10px 12px;
    text-align: left;
    cursor: pointer;
}

.borrower-start-screen .existing-borrower-row:hover,
.borrower-start-screen .existing-borrower-row:focus {
    border-color: var(--accent-color);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
}

.borrower-start-screen .existing-borrower-row-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.borrower-start-screen .existing-borrower-row-main strong {
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
}

.borrower-start-screen .existing-borrower-row-main span,
.borrower-start-screen .existing-borrower-row-phone {
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}

.borrower-start-screen .existing-borrower-row-phone {
    white-space: nowrap;
}

@media (max-width: 760px) {
    .borrower-start-screen #existing-borrower-panel.existing-borrower-panel {
        max-width: 420px;
    }

    .borrower-start-screen .existing-borrower-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .borrower-start-screen .existing-borrower-row-phone {
        white-space: normal;
    }
}


/* ─── NEW BORROWER MODAL ─────────────────────────────────── */
.borrower-modal-backdrop {
    position: fixed; inset: 0; background: rgba(15, 23, 42, 0.42);
    display: none; align-items: center; justify-content: center; z-index: 2400; padding: 20px;
}
.borrower-modal {
    width: min(520px, 100%); border-radius: 14px; border: 1px solid #dbe4ff;
    background: #ffffff; box-shadow: 0 26px 44px rgba(15, 23, 42, 0.22); padding: 18px;
}
.borrower-modal-header { margin-bottom: 14px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.borrower-modal-header h3 { font-size: 18px; font-weight: 800; color: #0f172a; }
.borrower-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.borrower-modal-actions { margin-top: 14px; display: flex; justify-content: flex-end; gap: 8px; }
.borrower-modal-actions-split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.borrower-modal-action-right {
    display: flex;
    align-items: center;
    gap: 8px;
}
.credit-link-modal {
    width: min(900px, calc(100vw - 48px));
    max-width: none;
    max-height: calc(100vh - 64px);
    overflow-y: auto;
}
#credit-link-message {
    resize: vertical;
    min-height: 260px;
    max-height: 50vh;
    width: 100%;
    font: inherit;
    line-height: 1.5;
}
#credit-link-error,
#credit-link-success {
    font-size: 12px;
    font-weight: 600;
    margin-top: 2px;
    border-radius: 7px;
    padding: 8px 10px;
}
#credit-link-error {
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
}
#credit-link-success {
    color: #166534;
    background: #f0fdf4;
    border: 1px solid #86efac;
}

/* ─── STEP BAR ──────────────────────────────────────────── */
.step-bar {
    background:
        radial-gradient(circle at top right, rgba(81,112,255,0.14), transparent 34%),
        linear-gradient(135deg, #f8fbff 0%, #ffffff 52%, #f5f8ff 100%);
    border-radius: 14px;
    border: 1px solid rgba(81,112,255,0.16);
    padding: 18px 22px 20px;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05);
}
.step-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}
.step-kicker {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent-color);
}
.step-progress-copy {
    font-size: 11.5px;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
}
.step-track-wrap { display: flex; flex-direction: column; gap: 14px; }
.step-progress-rail {
    width: 100%;
    height: 6px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(148, 163, 184, 0.2);
}
.step-progress-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--accent-color) 0%, color-mix(in srgb, var(--accent-color) 72%, white) 55%, color-mix(in srgb, var(--accent-color) 40%, white) 100%);
    transition: width 0.25s ease;
}
.step-track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 18px;
}
.step-item {
    display: flex;
    align-items: center;
    min-width: 0;
}
.step-item:nth-child(2) {
    justify-content: center;
}
.step-item:last-child {
    justify-content: flex-end;
}
.step-circle {
    width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center;
    justify-content: center; font-size: 12px; font-weight: 700; flex-shrink: 0;
    border: 2px solid #d6deea; background: rgba(255,255,255,0.96); color: #94a3b8;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
    transition: all 0.2s; cursor: default; line-height: 1;
}
.step-circle.active   {
    background: linear-gradient(135deg, var(--accent-color) 0%, color-mix(in srgb, var(--accent-color) 72%, black) 100%);
    border-color: #4a67ee; color: white; box-shadow: 0 8px 20px rgba(81,112,255,0.24);
}
.step-circle.done     {
    background: linear-gradient(135deg, #0f766e 0%, #10b981 100%);
    border-color: #10b981; color: white; box-shadow: 0 8px 20px rgba(16,185,129,0.18);
}
.step-circle.clickable { cursor: pointer; }
.step-label            {
    margin-left: 8px;
    font-size: 12.5px;
    font-weight: 700;
    color: #94a3b8;
    white-space: normal;
    line-height: 1.2;
}
.step-label.active     { color: #0f172a; }
.step-label.done       { color: #0f766e; }
.step-line             { display: none; }
.step-line.done        { display: none; }

/* ─── PANELS ────────────────────────────────────────────── */
.panel { background: white; border-radius: 10px; border: 1px solid #e2e5ea; padding: 20px; }
.panel-title {
    font-size: 13px; font-weight: 700; color: #0f172a;
    margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #f1f3f5;
}

/* ─── STEP PANELS ───────────────────────────────────────── */
.step-content        { display: none; }
.step-content.active { display: block; }

/* ─── GRID HELPERS ──────────────────────────────────────── */
.grid-2    { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.grid-full { grid-column: 1 / -1; }

/* ─── FORM FIELDS ───────────────────────────────────────── */
.field { margin-bottom: 14px; }
.field:last-child { margin-bottom: 0; }
.custom-fields-section .field:last-child { margin-bottom: 14px; }
.field-label {
    display: block; font-size: 11px; font-weight: 600; color: #6b7280;
    text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 5px;
}
input[type=text], input[type=tel], input[type=email],
input[type=number], input[type=date], textarea, select {
    width: 100%; padding: 9px 12px; border: 1px solid #d1d9e0; border-radius: 7px;
    font-size: 13px; font-family: 'Inter', sans-serif; color: #0f172a;
    background: white; transition: border-color 0.15s, box-shadow 0.15s; outline: none;
}
input:focus, textarea:focus, select:focus {
    border-color: var(--accent-color); box-shadow: 0 0 0 3px rgba(81,112,255,0.12);
}
input[readonly] { background: #f8f9fc; color: #6b7280; cursor: default; }
/* remove spinners */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; }
input[type=number] { -moz-appearance: textfield; }

.prefix-wrap { position: relative; }
.prefix-wrap .pfx {
    position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
    font-size: 13px; color: #9ca3af; pointer-events: none;
}
.prefix-wrap input { padding-left: 22px; }

/* ─── PILL SELECTORS ────────────────────────────────────── */
.pill-group { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.pill {
    padding: 5px 12px; border-radius: 20px; font-size: 12px; font-weight: 600;
    cursor: pointer; border: 1.5px solid #d1d5db; color: #6b7280; background: white;
    transition: all 0.15s; user-select: none;
}
.pill:hover          { border-color: var(--accent-color); color: var(--accent-color); }
.pill.selected       { background: var(--accent-color); border-color: var(--accent-color); color: white; }
.purpose-fields { margin-bottom: 14px; }

/* ─── STEP NAV ──────────────────────────────────────────── */
.step-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; }

/* Step-1 safe area: prevent Intake button overlap with floating notification bell */
#step-1 .step-nav { padding-right: 72px; }
@media (max-width: 760px) { #step-1 .step-nav { padding-right: 0; padding-bottom: 72px; } }

#step-1 .stage-1-match-header {
    display: none;
}

#step-1 .step-1-intake-nav {
    margin-top: 10px;
    margin-bottom: 22px;
}
#step-1 .selected-lender-panel.empty .step-1-intake-nav {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
}
#step-1 .stage-1-intake-btn {
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 3px 10px rgba(81,112,255,0.18);
}

/* ─── LENDER CARDS ──────────────────────────────────────── */
.match-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 16px; }
.match-count  { font-size: 12.5px; color: #6b7280; }
.match-count strong { color: #0f172a; }

.lenders-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.lender-card {
    border: 2px solid #e2e5ea; border-radius: 10px; padding: 14px;
    cursor: pointer; transition: border-color 0.15s, box-shadow 0.15s; background: white;
}
.lender-card:hover    { border-color: var(--accent-color); box-shadow: 0 2px 10px rgba(81,112,255,0.1); }
.lender-card.selected { border-color: var(--accent-color); background: #f5f7ff; }
.lender-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}
.lender-card-header .lender-name { min-width: 0; }
.lender-name    { font-size: 13px; font-weight: 700; color: #0f172a; margin-bottom: 2px; }
.lender-rating {
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 800;
    color: #f59e0b;
    line-height: 1;
    letter-spacing: 0.02em;
    white-space: nowrap;
    margin-top: 2px;
}
.lender-contact { font-size: 11.5px; color: #6b7280; margin-bottom: 8px; }
.lender-selection-hint {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.lender-pills   { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 10px; }
.lender-stats   { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 8px; }
.lender-stat-lbl { font-size: 9.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: #9ca3af; }
.lender-stat-val { font-size: 12px; font-weight: 700; color: #0f172a; }
.lender-notes   { font-size: 11px; color: #6b7280; line-height: 1.45; border-top: 1px solid #f1f3f5; padding-top: 8px; }
.selected-lender-panel {
    margin-bottom: 14px;
    padding: 16px 18px;
    border-radius: 12px;
    border: 1px solid #dbe4ff;
    background:
        linear-gradient(135deg, rgba(81,112,255,0.08) 0%, rgba(255,255,255,0.96) 45%, rgba(238,242,255,0.95) 100%);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}
.selected-lender-panel.empty {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 18px;
    border-style: dashed;
    background: #f8fbff;
    box-shadow: none;
}
.selected-lender-panel.empty .selected-lender-kicker,
.selected-lender-panel.empty .selected-lender-title,
.selected-lender-panel.empty .selected-lender-sub {
    grid-column: 1;
}

@media (max-width: 760px) {
    .selected-lender-panel.empty {
        grid-template-columns: 1fr;
        align-items: stretch;
        row-gap: 12px;
    }

    #step-1 .selected-lender-panel.empty .step-1-intake-nav {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
        padding-bottom: 0;
    }

    #step-1 .selected-lender-panel.empty .stage-1-intake-btn {
        width: 100%;
    }
}
.selected-lender-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.selected-lender-kicker {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent-color);
    margin-bottom: 6px;
}
.selected-lender-name-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
}
.selected-lender-title {
    font-size: 16px;
    font-weight: 800;
    color: #0f172a;
}
.selected-lender-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    background: #e0e7ff;
    color: #3730a3;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.selected-lender-sub {
    font-size: 12.5px;
    color: #475569;
    line-height: 1.5;
}
.selected-lender-stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}
.selected-lender-stat {
    min-width: 88px;
    padding: 9px 11px;
    border-radius: 10px;
    background: rgba(255,255,255,0.88);
    border: 1px solid #dbe4ff;
}
.selected-lender-stat span {
    display: block;
    margin-bottom: 4px;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
}
.selected-lender-stat strong {
    font-size: 12.5px;
    font-weight: 800;
    color: #0f172a;
}
.selected-lender-body {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding-top: 14px;
    border-top: 1px solid rgba(199, 210, 254, 0.8);
}
.selected-lender-contact {
    display: grid;
    gap: 6px;
}
.selected-lender-contact-name {
    font-size: 13.5px;
    font-weight: 700;
    color: #0f172a;
}
.selected-lender-contact-detail {
    font-size: 12.5px;
    color: #475569;
    line-height: 1.5;
}
.selected-lender-contact-detail a {
    color: #3557f2;
    font-weight: 700;
    text-decoration: none;
}
.selected-lender-contact-detail a:hover { text-decoration: underline; }
.selected-lender-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}
.selection-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    text-decoration: none;
}
.selection-action-note {
    font-size: 11.5px;
    color: #64748b;
    line-height: 1.5;
}

.prog-pill   { display: inline-block; padding: 2px 7px; border-radius: 4px; font-size: 10.5px; font-weight: 600; }
.prog-dscr   { background: #eef1ff; color: #3730a3; }
.prog-bridge { background: #fff7ed; color: #c2410c; }
.prog-flip   { background: #fef3c7; color: #92400e; }
.prog-ground { background: #ecfdf5; color: #065f46; }
.prog-multi  { background: #f0f9ff; color: #0369a1; }

.no-match { text-align: center; padding: 40px 20px; color: #9ca3af; font-size: 13px; line-height: 1.6; }

/* ─── DEAL ANALYZER ─────────────────────────────────────── */
.analyzer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.result-grid   { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.result-item   { background: #f8f9fc; border-radius: 8px; padding: 12px; border: 1px solid transparent; }
.result-item.full-width { grid-column: 1 / -1; }
.result-label  { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: #6b7280; margin-bottom: 4px; }
.result-value  { font-size: 20px; font-weight: 800; color: #0f172a; }
.result-sub    { font-size: 10.5px; color: #9ca3af; margin-top: 3px; line-height: 1.4; }
.dscr-green  { background: #ecfdf5; border-color: #6ee7b7; }
.dscr-green  .result-value { color: #059669; }
.dscr-yellow { background: #fffbeb; border-color: #fcd34d; }
.dscr-yellow .result-value { color: #d97706; }
.dscr-red    { background: #fef2f2; border-color: #fca5a5; }
.dscr-red    .result-value { color: #dc2626; }

/* ─── REVIEW & SUBMIT ───────────────────────────────────── */
.review-row {
    display: flex; justify-content: space-between; align-items: flex-start;
    padding: 9px 0; border-bottom: 1px solid #f1f3f5;
}
.review-row:last-child { border-bottom: none; }
.review-key { font-size: 12px; color: #6b7280; font-weight: 500; flex-shrink: 0; }
.review-val { font-size: 12.5px; color: #0f172a; font-weight: 600; text-align: right; max-width: 58%; }

.overview-shell {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.overview-card {
    background: #f8fbff;
    border: 1px solid #e1e8f5;
    border-radius: 12px;
    padding: 14px 16px;
}
.overview-card-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--accent-color);
    margin-bottom: 10px;
}
.overview-list { display: grid; gap: 8px; }
.overview-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}
.overview-item:last-child { padding-bottom: 0; border-bottom: none; }
.overview-label {
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.overview-value {
    font-size: 12.5px;
    font-weight: 700;
    color: #0f172a;
    text-align: right;
    max-width: 62%;
    line-height: 1.45;
}
.overview-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
.overview-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eef4ff;
    border: 1px solid #d7e3ff;
    color: #3657da;
    font-size: 11.5px;
    font-weight: 700;
}
.overview-pill strong {
    color: #0f172a;
    font-weight: 800;
}
.overview-compact .overview-shell { grid-template-columns: 1fr; }

.document-upload-panel {
    margin-bottom: 18px;
}
.document-upload-note {
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 10px;
}
.pending-doc-dropzone {
    border: 1.5px dashed #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
    padding: 22px 16px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}
.pending-doc-dropzone:hover,
.pending-doc-dropzone.drag-over,
.pending-doc-dropzone:focus-visible {
    border-color: var(--accent-color);
    background: #eef4ff;
    outline: none;
}
.pending-doc-dropzone-title {
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 4px;
}
.pending-doc-dropzone-subtitle {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}
.pending-doc-list {
    list-style: none;
    display: grid;
    gap: 8px;
    margin-top: 10px;
}
.pending-doc-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #ffffff;
}
.pending-doc-name {
    min-width: 0;
    font-size: 12.5px;
    font-weight: 700;
    color: #0f172a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pending-doc-meta {
    font-size: 11px;
    color: #64748b;
    white-space: nowrap;
}
.pending-doc-remove {
    border: none;
    background: #fef2f2;
    color: #b91c1c;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}
.submit-confirm-dialog {
    max-width: 460px;
}
.submit-confirm-message {
    color: #0f172a;
    font-size: 14px;
    line-height: 1.55;
    font-weight: 700;
}

@media (max-width: 1200px) {
    .workspace-content {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media (max-width: 900px) {
    .step-meta { flex-direction: column; align-items: flex-start; }
    .step-track { grid-template-columns: 1fr; gap: 10px; }
    .step-item, .step-item:last-child { justify-content: flex-start; }
    .overview-shell { grid-template-columns: 1fr; }
    .selected-lender-head,
    .selected-lender-body { flex-direction: column; }
    .selected-lender-stats,
    .selected-lender-actions { justify-content: flex-start; }
}

@media (max-width: 760px) {
    .top-bar {
        padding: 14px 16px;
    }
    #new-session-confirm-bar {
        padding: 8px 16px !important;
    }
    .workspace {
        padding: 16px 16px 24px;
    }
    .grid-2 {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

/* ─── SUCCESS STATE ─────────────────────────────────────── */
.success-wrap { text-align: center; padding: 56px 20px; }
.success-icon {
    width: 60px; height: 60px; background: #ecfdf5; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; margin: 0 auto 18px;
}
.success-icon svg { width: 28px; height: 28px; stroke: #059669; }
.success-title { font-size: 18px; font-weight: 700; color: #0f172a; margin-bottom: 6px; }
.success-sub   { font-size: 13px; color: #6b7280; margin-bottom: 28px; line-height: 1.5; }
.success-actions { display: flex; gap: 12px; justify-content: center; }

/* ─── INLINE MESSAGES ───────────────────────────────────── */
.inline-msg {
    font-size: 12px; font-weight: 600; line-height: 1.5;
    padding: 8px 12px; border-radius: 7px; margin-top: 8px;
}
.inline-msg.warn {
    background: #fffbeb; color: #92400e; border: 1px solid #fde68a;
}
.inline-msg.error {
    background: #fef2f2; color: #991b1b; border: 1px solid #fecaca;
}
.inline-msg.info {
    background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe;
}
.inline-msg.success {
    background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0;
}

/* ─── DRAFT LABEL ────────────────────────────────────────── */
.draft-label {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.04em;
    padding: 3px 9px; border-radius: 999px;
    background: #fef3c7; color: #92400e; border: 1px solid #fde68a;
}
.draft-label.fresh {
    background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0;
}

/* ─── ENTITY / PERSONAL TOGGLE ──────────────────────────── */
.entity-toggle-pill {
    font-size: 10.5px; font-weight: 600; padding: 3px 9px; border-radius: 20px;
    border: 1.5px solid #d1d5db; background: white; color: #6b7280;
    cursor: pointer; white-space: nowrap; transition: all 0.15s; user-select: none;
    font-family: 'Inter', sans-serif; line-height: 1.4;
}
.entity-toggle-pill:hover {
    border-color: var(--accent-color); color: var(--accent-color);
}
.entity-toggle-pill.selected {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: white;
}
.entity-toggle-pill.selected:hover {
    color: white;
}


/* ─── ADMIN CUSTOMIZE CONTROLS ──────────────────────────── */
.admin-only { display: none; }
body.is-admin .admin-only { display: inline-flex; }

.pill-add-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 18px; height: 18px; border-radius: 50%; background: var(--accent-color);
    color: white; font-size: 13px; font-weight: 700; cursor: pointer;
    border: none; margin-left: 5px; vertical-align: middle; line-height: 1;
    transition: opacity 0.15s; flex-shrink: 0;
}
.pill-add-btn:hover { opacity: 0.8; }

.section-edit-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; border-radius: 5px; background: transparent;
    color: #9ca3af; cursor: pointer; border: none; margin-left: 6px;
    transition: color 0.15s, background 0.15s; flex-shrink: 0;
}
.section-edit-btn:hover { color: var(--accent-color); background: #f1f3f5; }
.section-edit-btn svg { width: 13px; height: 13px; }

.customize-inputs-btn {
    display: flex; align-items: center; justify-content: center; gap: 5px;
    width: 100%; margin-top: 12px; padding: 7px 0; border-radius: 7px;
    border: 1.5px dashed #d1d5db; background: #fafbfc; color: #6b7280;
    font-size: 11.5px; font-weight: 600; cursor: pointer;
    font-family: 'Inter', sans-serif; transition: all 0.15s;
}
.customize-inputs-btn:hover { border-color: var(--accent-color); color: var(--accent-color); background: #f5f7ff; }
.customize-inputs-btn svg { width: 13px; height: 13px; }

/* Admin modal */
.admin-modal-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.35); z-index: 9999;
    display: flex; align-items: center; justify-content: center;
    animation: adminFadeIn 0.15s ease;
}
@keyframes adminFadeIn { from { opacity: 0; } to { opacity: 1; } }
.admin-modal {
    background: white; border-radius: 12px; width: 400px; max-width: 90vw;
    max-height: 80vh; overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.admin-modal-header {
    padding: 16px 20px; border-bottom: 1px solid #e2e5ea;
    display: flex; align-items: center; justify-content: space-between;
}
.admin-modal-header h3 { font-size: 14px; font-weight: 700; color: #0f172a; margin: 0; }
.admin-modal-close {
    width: 28px; height: 28px; border-radius: 6px; border: none;
    background: #f1f3f5; cursor: pointer; font-size: 16px; color: #6b7280;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.15s;
}
.admin-modal-close:hover { background: #e2e5ea; }
.admin-modal-body { padding: 16px 20px; }
.admin-modal-item {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 10px; border-radius: 7px; border: 1px solid #e2e5ea;
    margin-bottom: 6px; font-size: 12.5px; font-weight: 600; color: #0f172a;
}
.admin-modal-item .remove-btn {
    width: 22px; height: 22px; border-radius: 5px; border: none;
    background: #fef2f2; color: #dc2626; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; transition: background 0.15s;
}
.admin-modal-item .remove-btn:hover { background: #fee2e2; }
.admin-add-row {
    display: flex; gap: 6px; margin-top: 10px;
}
.admin-add-row input {
    flex: 1; padding: 8px 10px; border: 1.5px solid #e2e5ea; border-radius: 7px;
    font-size: 12.5px; font-family: 'Inter', sans-serif; outline: none;
}
.admin-add-row input:focus { border-color: var(--accent-color); }
.admin-add-row button {
    padding: 8px 14px; border-radius: 7px; border: none;
    background: var(--accent-color); color: white; font-size: 12px; font-weight: 600;
    cursor: pointer; font-family: 'Inter', sans-serif; white-space: nowrap;
}
.admin-add-row button:hover { opacity: 0.85; }
.admin-add-row button:disabled { opacity: 0.55; cursor: wait; }
.admin-field-status {
    display: none; margin-top: 8px; font-size: 11.5px; line-height: 1.4;
    border-radius: 6px; padding: 7px 9px;
}
.admin-field-status.error { display: block; background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.admin-field-status.saving { display: block; background: #eef2ff; color: #3730a3; border: 1px solid #c7d2fe; }

.admin-field-item {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 10px; border-radius: 7px; border: 1px solid #e2e5ea;
    margin-bottom: 6px; transition: box-shadow 0.15s, border-color 0.15s;
}
.admin-field-item .field-info { font-size: 12.5px; font-weight: 600; color: #0f172a; }
.admin-field-item .field-type { font-size: 10.5px; color: #9ca3af; margin-left: 6px; font-weight: 500; }
.admin-field-item .drag-handle {
    cursor: grab; color: #c8ccd4; margin-right: 8px; display: flex; align-items: center;
    user-select: none; -webkit-user-select: none; flex-shrink: 0;
}
.admin-field-item .drag-handle:active { cursor: grabbing; }
.admin-field-item.dragging { opacity: 0.4; border-color: var(--accent-color); }
.admin-field-item.drag-over { border-color: var(--accent-color); box-shadow: 0 0 0 2px rgba(81,112,255,0.2); }

/* Submit spinner */
@keyframes submitSpin { to { transform: rotate(360deg); } }
.submit-spinner { display: inline-block; }

@media (max-width: 760px) {
    .borrower-start-screen .borrower-choice-grid {
        grid-template-columns: 1fr;
        max-width: 420px;
        gap: 14px;
    }
    .borrower-start-screen .borrower-choice-card {
        width: 100%;
        min-height: 0;
    }
    .borrower-modal-grid { grid-template-columns: 1fr; }
    .borrower-modal-field-full { grid-column: auto; }
    .borrower-start-shell { padding: 18px; }
    .borrower-modal-actions-split {
        flex-direction: column;
        align-items: stretch;
    }
    .borrower-modal-action-right {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-end;
    }
    .borrower-modal-action-right .btn {
        flex: 1 1 160px;
    }
    .credit-link-modal {
        width: min(100%, calc(100vw - 32px));
        max-height: calc(100vh - 40px);
    }
    #credit-link-message {
        min-height: 200px;
        max-height: 45vh;
    }
}


@media (max-width: 700px) {
    .existing-borrower-panel {
        max-width: none;
        margin-top: 10px;
    }

    .existing-borrower-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .existing-borrower-row-phone {
        white-space: normal;
    }
}

/* Existing Borrower search panel production override */
.borrower-start-screen .borrower-start-shell #existing-borrower-panel.existing-borrower-panel {
  width: min(720px, calc(100% - 32px)) !important;
  max-width: 720px !important;
  margin: 14px auto 0 !important;
  padding: 14px !important;
  border: 1px solid #c7d2fe !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 18px 38px rgba(15, 23, 42, 0.12) !important;
  box-sizing: border-box !important;
}

.borrower-start-screen .borrower-start-shell #existing-borrower-panel.existing-borrower-panel[style*="block"] {
  display: block !important;
}

.borrower-start-screen .borrower-start-shell .existing-borrower-search-row {
  width: 100% !important;
  margin: 0 0 10px !important;
}

.borrower-start-screen .borrower-start-shell #existing-borrower-search {
  display: block !important;
  width: 100% !important;
  height: 42px !important;
  border: 1px solid #dbe3ef !important;
  border-radius: 10px !important;
  padding: 0 12px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #0f172a !important;
  background: #ffffff !important;
  outline: none !important;
  box-sizing: border-box !important;
  appearance: none !important;
}

.borrower-start-screen .borrower-start-shell #existing-borrower-search:focus {
  border-color: var(--accent-color) !important;
  box-shadow: 0 0 0 3px rgba(79, 102, 255, 0.14) !important;
}

.borrower-start-screen .borrower-start-shell .existing-borrower-state {
  width: 100% !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  box-sizing: border-box !important;
}

.borrower-start-screen .borrower-start-shell .existing-borrower-state.error {
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  color: #b91c1c !important;
}

.borrower-start-screen .borrower-start-shell .existing-borrower-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  max-height: 280px !important;
  overflow: auto !important;
}

.borrower-start-screen .borrower-start-shell .existing-borrower-row {
  width: 100% !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 12px !important;
  align-items: center !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  text-align: left !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.borrower-start-screen .borrower-start-shell .existing-borrower-row:hover,
.borrower-start-screen .borrower-start-shell .existing-borrower-row:focus {
  border-color: var(--accent-color) !important;
  box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08) !important;
}

.borrower-start-screen .borrower-start-shell .existing-borrower-row-main {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.borrower-start-screen .borrower-start-shell .existing-borrower-row-main strong {
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.borrower-start-screen .borrower-start-shell .existing-borrower-row-main span,
.borrower-start-screen .borrower-start-shell .existing-borrower-row-phone {
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.borrower-start-screen .borrower-start-shell .existing-borrower-row-phone {
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .borrower-start-screen .borrower-start-shell #existing-borrower-panel.existing-borrower-panel {
    width: min(420px, calc(100% - 24px)) !important;
    max-width: 420px !important;
  }

  .borrower-start-screen .borrower-start-shell .existing-borrower-row {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .borrower-start-screen .borrower-start-shell .existing-borrower-row-phone {
    white-space: normal !important;
  }
}

/* ─── LOAN SCENARIOS TABLE PANEL ─────────────────────────── */
.loan-scenarios-table-panel {
  width: 100%;
  margin: 18px auto 0;
}
.loan-scenarios-table-header {
  margin-bottom: 14px;
}
.loan-scenarios-table-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.loan-scenarios-table-title {
  font-size: 18px;
  font-weight: 800;
  color: #0f172a;
  margin: 0;
}
.loan-scenarios-table-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: #eef2ff;
  color: #4338ca;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}
.loan-scenarios-table-subtitle {
  font-size: 12.5px;
  color: #64748b;
  margin: 0;
}
.loan-scenarios-table-tools {
  margin-bottom: 12px;
}
.loan-scenarios-search {
  width: 100%;
  max-width: 420px;
  height: 36px;
  border: 1px solid #dbe3ef;
  border-radius: 9px;
  padding: 0 12px;
  font: inherit;
  font-size: 13px;
  color: #0f172a;
  background: #fff;
  outline: none;
}
.loan-scenarios-search:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(79, 102, 255, 0.14);
}
.loan-scenarios-table-scroll {
  overflow-x: auto;
  border: 1px solid #e2e5ea;
  border-radius: 10px;
  background: #fff;
}
.loan-scenarios-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
  min-width: 860px;
}
.loan-scenarios-table th {
  text-align: left;
  padding: 10px 12px;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6b7280;
  background: #f8fafc;
  border-bottom: 1px solid #e2e5ea;
  white-space: nowrap;
}
.loan-scenarios-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #f1f5f9;
  color: #1e293b;
  vertical-align: top;
}
.loan-scenarios-table tbody tr:last-child td {
  border-bottom: none;
}
.loan-scenarios-table tbody tr:hover {
  background: #f8fbff;
}
.loan-scenario-selectable-row {
  cursor: pointer;
}
.loan-scenario-selectable-row:hover td {
  background: #f8fbff;
}
.loan-scenarios-empty {
  text-align: center;
  color: #9ca3af;
  padding: 28px 12px;
  font-size: 13px;
}
.loan-scenario-action-row {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}
.loan-scenario-delete-btn {
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 600;
  cursor: pointer;
  border: 1.5px solid #fecaca;
  font-family: 'Inter', sans-serif;
  background: #fef2f2;
  color: #dc2626;
  transition: opacity 0.15s;
}
.loan-scenario-delete-btn:hover { opacity: 0.8; }
.loan-scenario-delete-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.loan-scenario-contact-info {
  font-size: 11px;
  color: #6b7280;
  margin-top: 2px;
}
.loan-scenario-lead-status {
  font-size: 11px;
  color: #6b7280;
  margin-top: 1px;
}
.borrower-modal-field-full {
  grid-column: 1 / -1;
}
