/* =========================================================
   Zricks CRM – Manage Response UI (Bootstrap 5.3 theme)
   ========================================================= */
:root {
    --mr-brand: #cf003f;
    --mr-brand-dark: #a10031;
    --mr-brand-soft: #fde8ee;
    --mr-ink: #1e2430;
    --mr-muted: #6b7280;
    --mr-line: #e7e9ee;
    --mr-bg: #f4f6fa;
    --mr-card: #ffffff;
    --mr-success: #16a34a;
    --mr-warning: #f59e0b;
    --mr-radius: 14px;
    --mr-shadow: 0 1px 2px rgba(16,24,40,.04), 0 4px 16px rgba(16,24,40,.06);
    --bs-primary: var(--mr-brand);
    --bs-primary-rgb: 207,0,63;
    --bs-link-color: var(--mr-brand);
    --bs-link-hover-color: var(--mr-brand-dark);
    --bs-body-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --bs-body-color: var(--mr-ink);
    --bs-body-bg: var(--mr-bg);
    --bs-border-radius: 10px;
}

body { background: var(--mr-bg); font-size: .935rem; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; }
.cursor-pointer, [onclick] { cursor: pointer; }

/* ---------- Buttons ---------- */
.btn-brand { --bs-btn-color:#fff; --bs-btn-bg:var(--mr-brand); --bs-btn-border-color:var(--mr-brand);
    --bs-btn-hover-color:#fff; --bs-btn-hover-bg:var(--mr-brand-dark); --bs-btn-hover-border-color:var(--mr-brand-dark);
    --bs-btn-active-bg:var(--mr-brand-dark); --bs-btn-active-border-color:var(--mr-brand-dark); --bs-btn-active-color:#fff;
    --bs-btn-disabled-bg:var(--mr-brand); --bs-btn-disabled-border-color:var(--mr-brand); --bs-btn-focus-shadow-rgb:207,0,63; font-weight:600; }
.btn-soft { background:#fff; border:1px solid var(--mr-line); color:var(--mr-ink); font-weight:500; }
.btn-soft:hover, .btn-soft:focus { background:var(--mr-brand-soft); border-color:#f6c3d2; color:var(--mr-brand); }
.btn-check:checked + .btn-soft { background:var(--mr-brand); border-color:var(--mr-brand); color:#fff; }
.btn-icon { width:36px; height:36px; padding:0; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; }
.form-control:focus, .form-select:focus { border-color:#ec8aa7; box-shadow:0 0 0 .2rem rgba(207,0,63,.15); }
.form-check-input:checked { background-color:var(--mr-brand); border-color:var(--mr-brand); }

/* ---------- App header ---------- */
.mr-header { position:sticky; top:0; z-index:1030; background:rgba(255,255,255,.92); backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--mr-line); }
.mr-header .navbar-brand img { height:40px; width:auto; }
.mr-header .brand-title { font-weight:700; font-size:1rem; line-height:1.1; color:var(--mr-ink); }
.mr-header .brand-sub { font-size:.72rem; color:var(--mr-muted); }
.mr-header .nav-link { color:var(--mr-muted); font-weight:500; border-radius:8px; padding:.45rem .8rem !important; }
.mr-header .nav-link.active, .mr-header .nav-link:hover { color:var(--mr-brand); background:var(--mr-brand-soft); }
.mr-avatar { width:36px; height:36px; border-radius:50%; background:var(--mr-brand); color:#fff; display:inline-flex;
    align-items:center; justify-content:center; font-weight:600; font-size:.9rem; }

/* ---------- Cards / KPIs ---------- */
.mr-card { background:var(--mr-card); border:1px solid var(--mr-line); border-radius:var(--mr-radius); box-shadow:var(--mr-shadow); }
.mr-page-title { font-weight:700; font-size:1.35rem; margin:0; }
.mr-page-sub { color:var(--mr-muted); font-size:.85rem; }
.kpi { padding:14px 16px; display:flex; align-items:center; gap:12px; height:100%; }
.kpi-icon { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.kpi-label { color:var(--mr-muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; font-weight:600; }
.kpi-value { font-size:1.35rem; font-weight:700; line-height:1.15; }
.kpi .progress { height:6px; }
.bg-brand-soft { background:var(--mr-brand-soft); color:var(--mr-brand); }
.bg-green-soft { background:#e7f7ee; color:var(--mr-success); }
.bg-amber-soft { background:#fff4dd; color:#b45309; }
.bg-blue-soft { background:#e6f0ff; color:#2563eb; }

/* ---------- Quick filter chips ---------- */
.chip-bar { display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
.chip-bar::-webkit-scrollbar { display:none; }
.chip { white-space:nowrap; border-radius:999px; padding:.4rem .9rem; font-size:.85rem; }
.chip i { margin-right:4px; }

/* ---------- Filter panel ---------- */
.filter-card .form-control, .filter-card .form-select, .filter-card .btn { min-height:42px; }
.ms-dropdown .dropdown-menu { max-height:320px; overflow-y:auto; min-width:100%; padding:.4rem; }
.ms-dropdown .dropdown-item-text { padding:.35rem .5rem; border-radius:8px; }
.ms-dropdown .dropdown-item-text:hover { background:var(--mr-bg); }
.ms-dropdown .ms-toggle { text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; background:#fff; border:1px solid var(--bs-border-color); }
.ms-dropdown .ms-toggle::after { float:right; margin-top:.6em; }

/* ---------- Lead table (desktop) ---------- */
.mr-table { margin:0; }
.mr-table thead th { background:#fafbfc; color:var(--mr-muted); font-size:.74rem; text-transform:uppercase; letter-spacing:.04em;
    font-weight:600; border-bottom:1px solid var(--mr-line); white-space:nowrap; padding:.75rem .75rem; position:sticky; top:0; z-index:1; }
.mr-table tbody td { padding:.7rem .75rem; vertical-align:middle; border-color:var(--mr-line); }
.mr-table tbody tr:hover > * { background:#fcf5f7; }
.mr-table tbody tr.row-warm > * { background:#eef8ea; }
.mr-table tbody tr.row-loyalty > * { background:#e3f4e8; }
.lead-name { font-weight:600; color:var(--mr-ink); }
.lead-meta { color:var(--mr-muted); font-size:.8rem; }
.lead-date { font-size:.82rem; white-space:nowrap; }
.reminder-past { color:#dc2626 !important; font-weight:600; }
.reminder-badge { font-size:.75rem; font-weight:600; border-radius:6px; padding:.15rem .45rem; background:#f1f5f9; color:#334155; white-space:nowrap; }
.reminder-badge.reminder-past { background:#fee2e2; }
.action-btn { width:34px; height:34px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center;
    border:1px solid var(--mr-line); background:#fff; color:#475569; transition:all .15s; }
.action-btn:hover { color:var(--mr-brand); border-color:#f3b5c7; background:var(--mr-brand-soft); }
.action-btn.wa { color:#16a34a; } .action-btn.wa:hover { background:#e7f7ee; border-color:#b7e4c7; }
.action-btn.call { color:#2563eb; } .action-btn.call:hover { background:#e6f0ff; border-color:#bfd5ff; }
.status-pill { display:inline-flex; align-items:center; gap:6px; padding:.3rem .7rem; border-radius:999px; font-size:.8rem;
    font-weight:600; background:#f1f5f9; color:#334155; border:1px solid transparent; white-space:nowrap; max-width:100%; }
.status-pill:hover { border-color:#f3b5c7; background:var(--mr-brand-soft); color:var(--mr-brand); }
.status-dot { width:9px; height:9px; border-radius:50%; background:currentColor; flex-shrink:0; }
.status-pill.redeem { background:#fff4dd; color:#b45309; }
.edit-link { color:#94a3b8; font-size:.8rem; margin-left:4px; }
.edit-link:hover { color:var(--mr-brand); }
.empty-state { padding:48px 16px; text-align:center; color:var(--mr-muted); }
.empty-state i { font-size:2.2rem; color:#cbd5e1; margin-bottom:8px; display:block; }

/* ---------- Lead list as cards (mobile) ---------- */
@media (max-width: 767.98px) {
    body { font-size:.95rem; }
    .mr-table thead { display:none; }
    .mr-table, .mr-table tbody, .mr-table tr, .mr-table td { display:block; width:100%; }
    .mr-table tbody tr { background:#fff; border:1px solid var(--mr-line); border-radius:var(--mr-radius); margin:0 0 12px;
        box-shadow:var(--mr-shadow); padding:12px 14px; position:relative; }
    .mr-table tbody tr:hover > * { background:transparent; }
    .mr-table tbody tr.row-warm { background:#f1faee; border-color:#cdeac0; }
    .mr-table tbody tr.row-loyalty { background:#eaf7ee; border-color:#bfe5cb; }
    .mr-table tbody tr.row-warm > *, .mr-table tbody tr.row-loyalty > * { background:transparent; }
    .mr-table tbody td { border:0; padding:4px 0; }
    .mr-table td.col-hide-m { display:none; }
    .mr-table td.col-name { padding-right:90px; }
    .mr-table td.col-name .lead-name { font-size:1.05rem; }
    .mr-table td.col-date { position:absolute; top:12px; right:14px; width:auto; text-align:right; padding:0; }
    .mr-table td.col-phone a.phone-text { font-size:1rem; }
    .mr-table td.col-follow { padding-top:8px; }
    .mr-table td.col-actions { border-top:1px dashed var(--mr-line); margin-top:8px; padding-top:10px; }
    .mr-table td.col-actions .d-flex { justify-content:space-between !important; }
    .mr-table td.col-actions .action-btn { width:auto; flex:1; height:40px; }
    .mr-table td[data-title]:not(.col-name):not(.col-date):not(.col-actions):not(.col-follow):not(.col-phone)::before {
        content:attr(data-title); display:inline-block; min-width:72px; color:var(--mr-muted); font-size:.75rem; text-transform:uppercase; font-weight:600; }
    .table-wrap { border:0 !important; background:transparent !important; box-shadow:none !important; }
    .modal-fullscreen-sm-down .modal-content { border-radius:0; }
}

/* ---------- Pagination ---------- */
.pagination { --bs-pagination-active-bg:var(--mr-brand); --bs-pagination-active-border-color:var(--mr-brand);
    --bs-pagination-color:var(--mr-ink); --bs-pagination-hover-color:var(--mr-brand); --bs-pagination-focus-box-shadow:0 0 0 .2rem rgba(207,0,63,.15); }
.pagination .page-link { border-radius:8px !important; margin:0 2px; min-width:36px; text-align:center; }

/* ---------- Modals ---------- */
.modal-content { border:0; border-radius:16px; overflow:hidden; }
.modal-header.brand { background:linear-gradient(135deg, var(--mr-brand), #e5175a); color:#fff; border:0; }
.modal-header.brand .btn-close { filter:invert(1) grayscale(100%) brightness(200%); opacity:.9; }
.modal-header .modal-title { font-weight:600; font-size:1.05rem; }
.modal-body .form-label { font-weight:500; font-size:.85rem; color:#475569; margin-bottom:.3rem; }
.info-table td:first-child { color:var(--mr-muted); width:38%; }
.info-table td:last-child { font-weight:500; text-align:right; word-break:break-word; }
.timeline { list-style:none; padding:0; margin:0; }
.timeline li { position:relative; padding:0 0 16px 22px; border-left:2px solid var(--mr-line); margin-left:6px; }
.timeline li:last-child { border-left-color:transparent; }
.timeline li::before { content:""; position:absolute; left:-7px; top:2px; width:12px; height:12px; border-radius:50%; background:var(--mr-brand); box-shadow:0 0 0 3px var(--mr-brand-soft); }
.timeline .t-status { font-weight:600; }
.timeline .t-date { font-size:.78rem; color:var(--mr-muted); }
.timeline .t-text { margin-top:4px; white-space:pre-wrap; word-break:break-word; }
.remarkbtn { display:inline-flex; align-items:center; gap:4px; font-size:.78rem; font-weight:500; padding:.2rem .55rem;
    border-radius:6px; background:var(--mr-brand-soft); color:var(--mr-brand) !important; margin:4px 4px 0 0; }
.warm-toggle .btn { min-width:72px; }

/* ---------- Loader / toast ---------- */
#LoaderContent { position:fixed; inset:0; z-index:2000; background:rgba(255,255,255,.55); backdrop-filter:blur(1px); }
#LoaderContent .loader { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.mr-spinner { width:46px; height:46px; border-radius:50%; border:4px solid var(--mr-brand-soft); border-top-color:var(--mr-brand); animation:mrspin .8s linear infinite; }
@keyframes mrspin { to { transform:rotate(360deg); } }
.toast-container { z-index:2100; }

/* ---------- Mobile bottom bar ---------- */
.mr-bottom-nav { position:fixed; left:0; right:0; bottom:0; z-index:1030; background:#fff; border-top:1px solid var(--mr-line);
    display:flex; padding:6px 4px calc(6px + env(safe-area-inset-bottom)); box-shadow:0 -4px 16px rgba(16,24,40,.06); }
.mr-bottom-nav a { flex:1; text-align:center; color:var(--mr-muted); font-size:.7rem; font-weight:500; padding:4px 0; }
.mr-bottom-nav a i { display:block; font-size:1.15rem; margin-bottom:2px; }
.mr-bottom-nav a.active, .mr-bottom-nav a:hover { color:var(--mr-brand); }
.mr-bottom-nav a.fab i { width:46px; height:46px; line-height:46px; margin:-22px auto 2px; border-radius:50%; background:var(--mr-brand); color:#fff;
    box-shadow:0 6px 16px rgba(207,0,63,.35); font-size:1.2rem; }
@media (max-width: 767.98px) { .has-bottom-nav { padding-bottom:84px; } }

/* ---------- Report page ---------- */
.report-card .card-head { padding:14px 16px; border-bottom:1px solid var(--mr-line); display:flex; align-items:center; gap:10px; }
.report-card .card-head h6 { margin:0; font-weight:600; }
.report-card table { margin:0; }
.report-card td, .report-card th { padding:.55rem 1rem; }
.report-card tr.total td { font-weight:700; background:#fafbfc; }
.report-card a.drill { color:var(--mr-ink); font-weight:500; }
.report-card a.drill:hover { color:var(--mr-brand); }
.report-card .count { text-align:right; font-weight:600; }

/* ---------- Embedded form pages (VC / Meeting) ---------- */
.embed-page { background:#fff; }
.option-pills { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.option-pills .btn { border-radius:999px; padding:.45rem 1.1rem; }
.btn-soft.active, .btn-soft:active { background:var(--mr-brand) !important; border-color:var(--mr-brand) !important; color:#fff !important; }
.btn-check:checked + .btn-soft i, .btn-soft.active i { color:#fff !important; }

/* ---------- Layout refinements ---------- */
.status-pill { white-space:normal; text-align:left; line-height:1.25; max-width:190px; }
.filter-card .btn { white-space:nowrap; }
@media (max-width: 1399.98px) and (min-width: 768px) { .mr-table .col-email, .mr-table th.th-email { display:none; } }
@media (max-width: 1199.98px) and (min-width: 768px) { .mr-table .col-city, .mr-table th.th-city { display:none; } }
@media (max-width: 767.98px) {
    .mr-table tbody td { background:transparent !important; box-shadow:none !important; }
    .kpi { padding:10px 12px; gap:10px; }
    .kpi-icon { width:36px; height:36px; font-size:.95rem; border-radius:10px; }
    .kpi-value { font-size:1.15rem; }
    .kpi-label { font-size:.68rem; }
    .kpi-optional { display:none; }
    .mr-page-title { font-size:1.2rem; }
    .mr-header .navbar-brand img { height:34px; }
}
#CaptchaCode::placeholder { text-transform:none; }

/* =========================================================
   v2b – ig.zricks.com design pattern
   ========================================================= */
.mr-header { background:#fff; padding:.55rem 0; }
.mr-header .brand-title { font-size:1.02rem; font-weight:700; }
.mr-header .brand-sub { font-size:.62rem; letter-spacing:.08em; font-weight:600; color:#6b7280; }
.mr-topnav { gap:4px; }
.mr-topnav .nav-link { display:flex; align-items:center; gap:7px; color:#374151 !important; font-weight:500; font-size:.93rem; padding:.5rem .85rem !important; border-radius:10px; }
.mr-topnav .nav-link i { color:#6b7280; font-size:.9rem; }
.mr-topnav .nav-link.active { background:var(--mr-brand-soft); color:var(--mr-brand) !important; }
.mr-topnav .nav-link.active i { color:var(--mr-brand); }
.mr-topnav .nav-link:hover { background:#f6f7f9; }
.nav-count { font-size:.68rem; font-weight:700; background:var(--mr-brand) !important; }
.nav-count:empty { display:none; }

.page-icon { width:46px; height:46px; border-radius:12px; background:var(--mr-brand-soft); color:var(--mr-brand); display:inline-flex; align-items:center; justify-content:center; font-size:1.15rem; }
.mr-page-title { font-size:1.6rem; font-weight:700; letter-spacing:-.01em; }
.calls-meter { min-width:190px; }
.calls-meter .progress { height:6px; margin-top:4px; }

.filter-card { border-radius:16px; }
.filter-label { display:block; font-size:.8rem; font-weight:500; color:#374151; margin-bottom:.3rem; }
.filter-card .form-control, .filter-card .form-select, .filter-card .ms-toggle { min-height:42px; border-radius:10px; }

/* Status tabs with counts */
.pill-bar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
@media (max-width: 767.98px) {
    .pill-bar { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-bottom:4px; margin-right:-12px; }
    .pill-bar::-webkit-scrollbar { display:none; }
}
.status-tab { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; border:1px solid var(--mr-line); background:#fff;
    color:#111827; border-radius:999px; padding:.38rem .8rem; font-size:.9rem; font-weight:500; cursor:pointer; transition:all .15s; margin:0; }
.status-tab:hover { border-color:#cbd5e1; }
.status-tab.active, .btn-check:checked + .status-tab { background:#1f2430; border-color:#1f2430; color:#fff; }
.status-tab i { font-size:.85rem; color:#6b7280; }
.status-tab.active i, .btn-check:checked + .status-tab i { color:#fff; }
.tab-count { min-width:22px; padding:0 7px; height:20px; line-height:20px; border-radius:999px; font-size:.72rem; font-weight:700; color:#fff; text-align:center; }
.tab-count:empty { display:none; }
.c-dark { background:#1f2430; } .status-tab.active .c-dark { background:#fff; color:#1f2430; }
.c-red { background:#e11d48; } .c-blue { background:#3b82f6; } .c-amber { background:#f59e0b; } .c-purple { background:#7c3aed; }
.c-teal { background:#0d9488; } .c-pink { background:#db2777; } .c-green { background:#16a34a; }
.pill-divider { width:1px; height:24px; background:var(--mr-line); margin:0 4px; flex-shrink:0; }

/* Lead cards */
.lead-list { display:flex; flex-direction:column; gap:12px; }
.lead-card { display:flex; gap:14px; background:#fff; border:1px solid var(--mr-line); border-radius:16px; padding:16px 18px; box-shadow:var(--mr-shadow); transition:box-shadow .15s; }
.lead-card:hover { box-shadow:0 2px 4px rgba(16,24,40,.05), 0 10px 28px rgba(16,24,40,.08); }
.lead-card.card-warm { border-left:4px solid #16a34a; }
.lead-card.card-loyalty { border-left:4px solid #0d9488; background:#f6fdf9; }
.lead-avatar { width:44px; height:44px; border-radius:50%; flex-shrink:0; color:#fff; font-weight:700; font-size:1.05rem; display:flex; align-items:center; justify-content:center; }
.lead-body { flex:1; min-width:0; }
.lead-head { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-bottom:4px; }
.lead-head .lead-name { font-size:1.02rem; font-weight:700; }
.lead-time { color:#6b7280; font-size:.82rem; }
.lead-card .status-pill { --pill:#64748b; padding:.15rem .6rem; font-size:.76rem; background:color-mix(in srgb, var(--pill) 14%, #fff); color:color-mix(in srgb, var(--pill) 80%, #000); max-width:none; }
.lead-card .status-pill .status-dot { background:var(--pill); width:7px; height:7px; }
.lead-card .status-pill.redeem { background:#fff4dd; color:#b45309; }
.type-badge { display:inline-flex; align-items:center; gap:5px; font-size:.74rem; font-weight:600; padding:.15rem .55rem; border-radius:6px; }
.type-badge.buyer { background:#e0f2fe; color:#0369a1; }
.type-badge.seller { background:#fef3c7; color:#92400e; }
.lead-contact { display:flex; flex-wrap:wrap; gap:4px 16px; font-size:.92rem; margin-bottom:4px; }
.lead-contact a.phone-text { color:#111827; font-weight:600; }
.lead-contact i, .lead-email i { color:#9ca3af; font-size:.8rem; margin-right:2px; }
.lead-email { color:#4b5563; word-break:break-all; }
.lead-on { font-size:.84rem; color:#6b7280; margin-bottom:8px; }
.tag-project { display:inline-block; font-size:.72rem; font-weight:600; padding:.1rem .55rem; border-radius:999px; border:1px solid #bbf7d0; background:#f0fdf4; color:#15803d; }
.tag-city i { font-size:.72rem; }
.lead-remark { background:#fdf2f5; border-left:3px solid #f3b5c7; border-radius:8px; padding:.5rem .75rem; font-size:.86rem; color:#374151; margin-bottom:10px; word-break:break-word; }
.lead-remark i { color:var(--mr-brand); margin-right:4px; }
.lead-actions { display:flex; flex-wrap:wrap; gap:6px; }
.btn-act { border:1px solid var(--mr-line); background:#fff; color:#374151; font-size:.84rem; font-weight:500; padding:.3rem .7rem; border-radius:8px; display:inline-flex; align-items:center; gap:5px; }
.btn-act:hover { border-color:#cbd5e1; background:#f8fafc; color:#111827; }
.btn-act.primary { border-color:#f3b5c7; color:var(--mr-brand); }
.btn-act.primary:hover { background:var(--mr-brand-soft); color:var(--mr-brand); }
.btn-act.wa i { color:#16a34a; }
@media (max-width: 767.98px) {
    .lead-card { padding:14px; gap:12px; }
    .lead-avatar { width:38px; height:38px; font-size:.95rem; }
    .lead-actions { display:grid; grid-template-columns:repeat(3, 1fr); }
    .lead-actions .btn-act { justify-content:center; padding:.5rem .3rem; flex-direction:column; gap:2px; font-size:.72rem; }
    .lead-actions .btn-act i { font-size:1rem; }
    .lead-actions .btn-act.primary { grid-column:span 3; flex-direction:row; font-size:.88rem; gap:6px; }
    .calls-meter { min-width:140px; }
    .mr-page-title { font-size:1.3rem; }
    .page-icon { width:40px; height:40px; }
}

/* ===== v2c: compact layout (less vertical space) ===== */
.page-icon { width:36px; height:36px; border-radius:10px; font-size:1rem; }
.mr-page-title { font-size:1.3rem; }
.calls-meter { min-width:150px; }
.filter-card { padding:8px; border-radius:12px; }
.filter-row { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.filter-row .fi { position:relative; min-width:0; }
.filter-card .form-control, .filter-card .form-select, .filter-card .ms-toggle, .filter-card .btn { min-height:34px; height:34px; border-radius:8px; font-size:.86rem; }
.filter-card .ms-toggle { padding-top:0; padding-bottom:0; display:flex; align-items:center; }
.fi-search { flex:1 1 220px; }
.fi-search .fi-icon { position:absolute; left:10px; top:50%; transform:translateY(-50%); color:#9ca3af; font-size:.8rem; pointer-events:none; }
.fi-search .form-control { padding-left:30px; }
.fi-type { flex:0 0 130px; }
.fi-project { flex:0 1 170px; }
.fi-follow { flex:1 1 180px; }
.fi-date { flex:0 0 140px; }
.fi-actions { display:flex; gap:6px; flex:0 0 auto; }
.more-filters { flex-basis:100%; }
.more-filters.show, .more-filters.collapsing { display:flex; flex-wrap:wrap; gap:6px; }
@media (min-width: 1200px) {
    .more-filters { display:contents !important; }
}
@media (max-width: 767.98px) {
    .fi-search { flex:1 1 120px; order:0; }
    .fi-actions { order:1; }
    .fi-actions #searchButton { padding-left:.7rem !important; padding-right:.7rem !important; }
    .fi-type, .fi-project { flex:1 1 calc(50% - 3px); order:2; }
    .more-filters { order:3; }
    .fi-follow { flex-basis:100%; }
    .fi-date { flex:1 1 0; }
}
.calls-meter .small { gap:8px; }
.pill-bar { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; gap:6px; padding-bottom:2px; }
.pill-bar::-webkit-scrollbar { display:none; }
.status-tab { padding:.25rem .65rem; font-size:.82rem; gap:5px; }
.tab-count { height:18px; line-height:18px; min-width:20px; padding:0 6px; font-size:.68rem; }
.pill-divider { height:20px; }
.lead-list { gap:8px; }
.lead-card { padding:12px 14px; gap:12px; border-radius:12px; }
.lead-avatar { width:38px; height:38px; font-size:.95rem; }
.lead-head { margin-bottom:2px; gap:4px 8px; }
.lead-on { margin-bottom:6px; }
.lead-remark { padding:.35rem .6rem; margin-bottom:8px; font-size:.84rem; }
.btn-act { padding:.22rem .6rem; font-size:.8rem; }
.type-badge.none { background:#f1f5f9; color:#64748b; cursor:pointer; border:1px dashed #cbd5e1; }
.type-badge.none:hover { color:#334155; border-color:#94a3b8; }
@media (max-width: 767.98px) {
    .lead-card { padding:10px 12px; gap:10px; }
    .lead-avatar { width:34px; height:34px; }
    .lead-actions { grid-template-columns:repeat(6, 1fr); gap:5px; }
    .lead-actions .btn-act { padding:.35rem 0; flex-direction:row; }
    .lead-actions .btn-act span { display:none; }
    .lead-actions .btn-act.primary { grid-column:span 6; padding:.35rem; }
    .calls-meter { min-width:120px; }
}

/* ===== v2d: Follow-up popup – header, milestone bar, coloured history ===== */
.min-w-0 { min-width:0; }
.fu-header { background:linear-gradient(135deg, #1f2430 0%, #3b2340 55%, var(--mr-brand) 140%); color:#fff; border:0; padding:14px 18px; }
.fu-avatar { width:46px; height:46px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.15rem; color:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.25); }
.fu-name { font-size:1.12rem; font-weight:700; color:#fff; display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; }
.fu-name .type-badge { font-size:.7rem; }
.fu-meta { display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:4px; font-size:.84rem; color:rgba(255,255,255,.85); }
.fu-meta i { color:#fda4af; margin-right:3px; font-size:.78rem; }
.fu-section-title { font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#6b7280; margin-bottom:10px; display:flex; align-items:center; gap:6px; }
.fu-count { background:#1f2430; color:#fff; border-radius:999px; font-size:.68rem; padding:0 7px; line-height:18px; }
.fu-count:empty { display:none; }

.fu-milestones { position:relative; background:#fff; border:1px solid var(--mr-line); border-radius:14px; padding:14px 10px 10px; }
.ms-track { position:absolute; left:calc(10px + 100% / 14); right:calc(10px + 100% / 14); top:31px; height:4px; background:#e5e7eb; border-radius:4px; }
.ms-fill { height:100%; border-radius:4px; background:linear-gradient(90deg, #e11d48, #3b82f6, #f59e0b, #7c3aed, #0d9488, #db2777, #16a34a); transition:width .4s; }
.ms-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(7, 1fr); position:relative; }
.ms-step { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; }
.ms-dot { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#f3f4f6; color:#9ca3af; border:2px solid #e5e7eb; font-size:.85rem; transition:all .2s; }
.ms-label { font-size:.68rem; line-height:1.2; color:#9ca3af; font-weight:600; }
.ms-step.done .ms-dot { background:color-mix(in srgb, var(--fc) 15%, #fff); color:var(--fc); border-color:var(--fc); }
.ms-step.done .ms-label { color:#374151; }
.ms-step.current .ms-dot { background:var(--fc); color:#fff; border-color:var(--fc); transform:scale(1.15); box-shadow:0 0 0 5px color-mix(in srgb, var(--fc) 22%, transparent); }
.ms-step.current .ms-label { color:var(--fc); font-weight:800; }
.ms-off { margin-top:10px; font-size:.82rem; padding:.35rem .6rem; border-radius:8px; background:color-mix(in srgb, var(--fc) 12%, #fff); color:color-mix(in srgb, var(--fc) 80%, #000); }
.ms-off i { color:var(--fc); }
@media (max-width: 575.98px) {
    .ms-dot { width:30px; height:30px; font-size:.75rem; }
    .ms-track { top:28px; }
    .ms-label { font-size:.6rem; }
}

.fu-timeline { list-style:none; margin:0; padding:0; }
.fu-timeline li { position:relative; padding:0 0 14px 46px; }
.fu-timeline li::before { content:""; position:absolute; left:17px; top:36px; bottom:0; width:2px; background:linear-gradient(var(--fc), #e5e7eb); }
.fu-timeline li:last-child::before { display:none; }
.fu-dot { position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%; background:var(--fc); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.85rem; box-shadow:0 0 0 4px color-mix(in srgb, var(--fc) 18%, #fff); }
.fu-item { background:#fff; border:1px solid var(--mr-line); border-left:4px solid var(--fc); border-radius:12px; padding:10px 12px; }
.fu-timeline li.latest .fu-item { box-shadow:0 6px 18px color-mix(in srgb, var(--fc) 18%, transparent); }
.fu-status { font-weight:700; color:color-mix(in srgb, var(--fc) 85%, #000); }
.fu-latest { font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; background:var(--fc); color:#fff; border-radius:999px; padding:.05rem .5rem; }
.fu-date { font-size:.76rem; color:#6b7280; margin-top:2px; }
.fu-text { margin-top:6px; font-size:.88rem; color:#374151; white-space:pre-wrap; word-break:break-word; background:#f9fafb; border-radius:8px; padding:.4rem .6rem; }
.fu-links { margin-top:6px; display:flex; flex-wrap:wrap; gap:6px; }

/* ===== v2e: mic, AI compose, install banner, lead extras ===== */
.mic-tools { display:flex; align-items:center; gap:6px; }
.mic-tools .form-select { width:auto; min-height:32px; padding-top:.15rem; padding-bottom:.15rem; font-size:.8rem; }
.btn-mic { width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--mr-brand-soft); color:var(--mr-brand); border:1px solid #f3b5c7; padding:0; }
.btn-mic:hover { background:var(--mr-brand); color:#fff; }
.btn-mic.listening { background:var(--mr-brand); color:#fff; animation:micPulse 1.2s infinite; }
@keyframes micPulse { 0% { box-shadow:0 0 0 0 rgba(207,0,63,.45); } 70% { box-shadow:0 0 0 12px rgba(207,0,63,0); } 100% { box-shadow:0 0 0 0 rgba(207,0,63,0); } }
.mic-live { color:var(--mr-brand); min-height:1.2em; margin-top:4px; font-style:italic; }
.mic-live:empty { display:none; }

.ai-status { font-size:.78rem; }
.ai-thinking { color:#7c3aed; font-weight:600; }
.ai-thinking i { animation:aiSpin 1.4s linear infinite; display:inline-block; }
@keyframes aiSpin { to { transform:rotate(360deg); } }
#btnAiCompose { min-height:32px; font-size:.8rem; color:#7c3aed; border-color:#ddd6fe; background:#f5f3ff; }
#btnAiCompose:hover { background:#7c3aed; color:#fff; }
#txtCompose.ai-loading { background:linear-gradient(90deg, #faf5ff 25%, #f3e8ff 50%, #faf5ff 75%); background-size:200% 100%; animation:aiShimmer 1.2s infinite; }
@keyframes aiShimmer { to { background-position:-200% 0; } }

.install-banner { position:fixed; left:12px; right:12px; bottom:calc(76px + env(safe-area-inset-bottom)); z-index:1080; display:flex; align-items:center; gap:10px;
    background:#fff; border:1px solid var(--mr-line); border-radius:14px; padding:10px 12px; box-shadow:0 10px 30px rgba(16,24,40,.18); max-width:480px; margin:0 auto; }
.install-banner img { border-radius:10px; }
@media (min-width: 768px) { .install-banner { bottom:20px; left:auto; right:20px; } }

.lead-extra { border-top:1px dashed var(--mr-line); padding-top:12px; margin-top:4px; }
.budget-hint:empty { display:none; }
/* forms that wrap header/body/footer inside a scrollable modal */
.modal-dialog-scrollable .modal-content > form { display:flex; flex-direction:column; max-height:100%; overflow:hidden; min-height:0; }
.modal-dialog-scrollable .modal-content > form > .modal-body { overflow-y:auto; }
