:root {
  --page: #f5f7fb;
  --ink: #1d2939;
  --muted: #667085;
  --line: #e7ebf2;
  --navy: #162235;
  --navy-soft: #202f47;
  --blue: #2366d1;
  --amber: #d5902f;
  --green: #1c9a71;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--page); color: var(--ink); font-size: 14px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 10; display: flex; width: 244px; flex-direction: column; padding: 22px 15px 17px; color: #d0d7e2; background: var(--navy); }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 9px 25px; color: #fff; text-decoration: none; }
.brand-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(145deg, #f0b754, #d58b2a); font-size: 21px; font-weight: 800; box-shadow: 0 5px 14px #0003; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 16px; letter-spacing: .3px; }
.brand small { margin-top: 2px; color: #95a3b9; font-size: 11px; }
.nav-caption { padding: 14px 12px 9px; color: #76849b; font-size: 11px; font-weight: 700; letter-spacing: 1px; }
.main-nav { display: grid; gap: 4px; }
.nav-link { display: flex; min-height: 42px; align-items: center; gap: 11px; padding: 0 12px; border-radius: 8px; color: #bac5d4; text-decoration: none; transition: background .16s ease, color .16s ease; }
.nav-link:hover { color: #fff; background: #ffffff0d; }
.nav-link.active { color: #fff; background: #2b3c56; box-shadow: inset 3px 0 #e9aa44; }
.nav-icon { display: inline-grid; width: 19px; place-items: center; color: #9eacc0; font-size: 18px; line-height: 1; }
.nav-link.active .nav-icon { color: #f1ba62; }
.nav-link.disabled { color: #748198; cursor: default; }
.nav-link.disabled:hover { background: transparent; }
.nav-link.disabled .nav-icon { color: #65738a; }
.nav-soon { margin-left: auto; color: #72819a; font-size: 10px; }
.sidebar-bottom { margin-top: auto; }
.sidebar-help { display: flex; align-items: center; gap: 10px; padding: 12px 10px; border: 1px solid #ffffff14; border-radius: 9px; background: #ffffff07; }
.help-dot, .online-indicator i, .source-pill span { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #43c997; box-shadow: 0 0 0 3px #43c99720; }
.sidebar-help strong, .sidebar-help small { display: block; }
.sidebar-help strong { color: #d8e3ef; font-size: 12px; font-weight: 600; }
.sidebar-help small { margin-top: 3px; color: #8f9db1; font-size: 10px; }
.sidebar-version { padding: 14px 9px 0; color: #748198; font-size: 10px; }

.main-area { min-height: 100vh; margin-left: 244px; }
.topbar { position: sticky; top: 0; z-index: 5; display: flex; height: 62px; align-items: center; justify-content: space-between; padding: 0 34px; border-bottom: 1px solid var(--line); background: #fff; }
.breadcrumb { display: flex; align-items: center; gap: 10px; color: #8792a3; font-size: 12px; }
.breadcrumb strong { color: #475467; font-weight: 600; }
.crumb-sep { color: #c6ccd5; }
.topbar-right { display: flex; align-items: center; gap: 18px; }
.online-indicator { display: inline-flex; align-items: center; gap: 8px; color: #667085; font-size: 12px; }
.online-indicator i { width: 7px; height: 7px; box-shadow: none; }
.avatar { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid #f1d7a7; border-radius: 50%; color: #8b5d14; background: #fff7e8; font-size: 12px; font-weight: 700; }
.page-content { max-width: 1480px; margin: 0 auto; padding: 29px 34px 20px; }
.welcome-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 19px; }
.eyebrow { margin: 0 0 7px; color: #8d6a2f; font-size: 10px; font-weight: 700; letter-spacing: 1.15px; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 6px; color: #172335; font-size: clamp(22px, 2vw, 28px); font-weight: 700; letter-spacing: -.6px; }
.welcome-copy { margin: 0; color: var(--muted); font-size: 13px; }
.btn-primary { --tblr-btn-bg: var(--blue); --tblr-btn-border-color: var(--blue); --tblr-btn-hover-bg: #1b57b6; --tblr-btn-hover-border-color: #1b57b6; --tblr-btn-active-bg: #184b9c; }
.btn-start { display: inline-flex; min-height: 41px; align-items: center; gap: 8px; padding: 0 16px; box-shadow: 0 5px 13px #2366d126; font-weight: 600; }
.button-plus { font-size: 20px; font-weight: 400; line-height: 1; }
.review-notice { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; padding: 10px 13px; border: 1px solid #f0deb5; border-radius: 8px; color: #795b20; background: #fff9eb; font-size: 11px; }
.notice-icon { display: grid; width: 17px; height: 17px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: #d69c3c; font-size: 11px; font-weight: 700; }

.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 18px; }
.stat-card { min-height: 110px; padding: 15px 17px 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 2px 5px #15243b05; }
.stat-top { display: flex; align-items: center; justify-content: space-between; color: #667085; font-size: 12px; }
.stat-icon { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; font-size: 16px; }
.icon-blue { color: #286bd2; background: #edf4ff; }
.icon-green { color: #14885f; background: #e9f8f2; }
.icon-orange { color: #bd791c; background: #fff5e5; }
.icon-purple { color: #7757c7; background: #f3efff; }
.stat-card > strong { display: block; margin-top: 3px; color: #1c293b; font-size: 25px; font-weight: 700; line-height: 1.2; }
.stat-card > small { display: block; margin-top: 3px; color: #98a2b3; font-size: 10px; }
.stat-card.stat-action { cursor: pointer; transition: border-color .15s ease, transform .15s ease; }
.stat-card.stat-action:hover, .stat-card.stat-action:focus-visible { border-color: #c9d8f2; outline: none; transform: translateY(-1px); }
.stat-card > .stat-action-title { margin-top: 9px; font-size: 15px; }

.card { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 2px 6px #15243b06; }
.search-card { margin-bottom: 18px; }
.card-heading { display: flex; align-items: center; gap: 12px; padding: 18px 21px 16px; border-bottom: 1px solid #edf0f4; }
.heading-icon { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: #b67b21; background: #fff5e4; font-size: 24px; line-height: 1; }
.card-heading h2 { margin: 0 0 3px; color: #263448; font-size: 15px; font-weight: 650; }
.card-heading p { margin: 0; color: #8993a3; font-size: 11px; }
.source-pill { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; padding: 6px 9px; border: 1px solid #e3efe8; border-radius: 20px; color: #317a58; background: #f5fbf7; font-size: 10px; white-space: nowrap; }
.source-pill span { width: 6px; height: 6px; box-shadow: none; }
.search-form { padding: 17px 21px 14px; }
.form-grid { display: grid; gap: 13px; }
.region-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 14px; }
.keyword-grid { grid-template-columns: 1fr 1fr 180px; }
.field { display: grid; min-width: 0; gap: 6px; color: #475467; font-size: 11px; font-weight: 600; }
.field em { color: #9ba5b4; font-size: 10px; font-style: normal; font-weight: 400; }
.field .form-control, .field .form-select { min-height: 37px; border-color: #dfe4eb; border-radius: 6px; color: #344054; background-color: #fff; font-size: 12px; box-shadow: none; }
.field .form-control:focus, .field .form-select:focus { border-color: #8fb2e8; box-shadow: 0 0 0 3px #2366d11a; }
.input-suffix { position: relative; }
.input-suffix .form-control { padding-right: 34px; }
.input-suffix span { position: absolute; top: 50%; right: 12px; color: #8b95a4; font-size: 11px; transform: translateY(-50%); }
.search-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 15px; padding-top: 13px; border-top: 1px solid #f0f2f6; }
.phone-check { margin: 0; }
.phone-check .form-check-label, .task-filter .form-check-label { color: #596579; font-size: 11px; }
.form-actions { display: flex; align-items: center; gap: 12px; }
.form-hint { color: #929baa; font-size: 10px; }
.form-actions .btn { min-height: 34px; padding: 0 13px; font-size: 11px; }
.task-progress { padding: 0 21px 16px; }
.progress-heading { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; color: #475467; font-size: 11px; }
.progress-heading span { color: #8b95a4; }
.progress { background: #edf1f6; }
.progress-bar { background: linear-gradient(90deg, #2870df, #4b91ed); transition: width .3s ease; }
.task-message { margin: 8px 0 0; color: #728097; font-size: 10px; }

.leads-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 18px 21px 13px; }
.leads-heading .eyebrow { margin-bottom: 4px; }
.leads-heading h2 { margin: 0; color: #263448; font-size: 16px; font-weight: 700; }
.section-copy { margin: 4px 0 0; color: #929baa; font-size: 10px; }
.leads-heading .btn { min-height: 35px; padding: 0 12px; font-size: 11px; }
.export-icon { margin-right: 5px; font-size: 17px; line-height: 0; }
.filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 12px 21px; border-top: 1px solid #f0f2f6; border-bottom: 1px solid #edf0f4; background: #fbfcfe; }
.filter-search { position: relative; flex: 1 1 245px; }
.filter-search .form-control { height: 34px; padding-left: 33px; border-color: #e0e5ec; border-radius: 6px; font-size: 11px; }
.search-glass { position: absolute; top: 50%; left: 11px; z-index: 1; color: #98a2b3; font-size: 18px; line-height: 1; transform: translateY(-53%); }
.filter-select { width: auto; min-width: 145px; height: 34px; border-color: #e0e5ec; font-size: 10px; }
.task-filter { margin: 0 0 0 auto; white-space: nowrap; }
.task-filter .form-check-label { font-size: 10px; }
.table-responsive { overflow-x: auto; }
.leads-table { min-width: 940px; margin: 0; }
.opportunity-table { min-width: 1080px; }
.opportunity-table td strong { color: #344054; font-size: 11px; font-weight: 650; }
.opportunity-table td small { color: #929baa; font-size: 9px; }
.order-heading-actions { display: flex; align-items: center; gap: 12px; }
.asset-subsection + .asset-subsection { margin-top: 24px; border-top: 1px solid #edf0f4; }
.asset-subsection .leads-heading h3 { margin: 0; color: #263448; font-size: 13px; font-weight: 700; }
.asset-subsection .leads-table { min-width: 980px; }
.competitor-summary { margin: 0 20px 16px; }
.import-warning { margin: 0 20px 15px; }
.data-center-stats { padding: 0 20px 16px; }
.data-import-panel { margin: 0 20px 16px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.data-import-panel .drawer-section-heading { padding: 14px 15px 0; }
.data-import-panel .drawer-section-heading h3 { margin: 0 0 4px; color: #29384c; font-size: 13px; }
.data-import-panel .drawer-section-heading p { margin: 0; color: #8a95a5; font-size: 10px; }
.duplicate-review-panel .drawer-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.duplicate-review-hint { min-height: 18px; padding: 8px 15px 0; }
.duplicate-group-list { display: grid; gap: 10px; padding: 0 15px 15px; }
.duplicate-group { overflow: hidden; border: 1px solid #e6eaf0; border-radius: 8px; background: #fbfcfe; }
.duplicate-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px 3px; color: #344054; font-size: 11px; }
.duplicate-group-help { margin: 0; padding: 2px 13px 9px; color: #8994a4; font-size: 9px; line-height: 1.5; }
.duplicate-lead-row { display: grid; grid-template-columns: 145px minmax(180px, 1fr) minmax(140px, auto) auto; align-items: center; gap: 12px; padding: 10px 13px; border-top: 1px solid #edf0f4; background: #fff; }
.duplicate-survivor-choice { display: flex; align-items: center; gap: 7px; color: #52647c; font-size: 10px; white-space: nowrap; }
.duplicate-lead-details { display: grid; gap: 2px; min-width: 0; }
.duplicate-lead-details strong { overflow: hidden; color: #344054; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.duplicate-lead-details span, .duplicate-lead-details small, .duplicate-linked-count { color: #8994a4; font-size: 9px; line-height: 1.4; }
.duplicate-lead-details span, .duplicate-lead-details small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.duplicate-group .btn { white-space: nowrap; }
.merge-history-table { min-width: 900px; }
.data-import-controls { display: flex; align-items: end; gap: 10px; padding: 13px 15px 0; }
.data-import-controls .field { flex: 1 1 280px; }
.data-import-controls .btn { min-height: 37px; white-space: nowrap; }
.data-import-controls .form-control { min-height: 37px; font-size: 11px; }
#dataImportHint { min-height: 18px; padding: 0 15px; }
.data-import-counts { padding: 8px 15px; color: #52647c; font-size: 11px; }
.import-preview-table, .import-history-table { min-width: 760px; }
.import-errors { margin: 8px 15px 13px; padding-left: 22px; color: #9b4b38; font-size: 10px; line-height: 1.6; }
.data-center-backup { display: grid; gap: 4px; margin: 0 20px 20px; padding: 12px 14px; border: 1px solid #e5eaf1; border-radius: 8px; color: #657287; background: #f8fafc; font-size: 10px; line-height: 1.5; }
.data-center-backup strong { color: #344054; font-size: 11px; }
.order-table { min-width: 1180px; }
.order-table td strong { color: #344054; font-size: 11px; font-weight: 650; }
.order-table td small { color: #929baa; font-size: 9px; }
.order-due td { background: #fffaf1; }
.order-due td:first-child { box-shadow: inset 3px 0 #e7a33e; }
.care-table { min-width: 1050px; }
.care-due td { background: #fffaf1; }
.care-due td:first-child { box-shadow: inset 3px 0 #e7a33e; }
.reports-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 17px 20px; }
.reports-grid .stat-card { min-width: 0; }
.report-tables { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 0 20px 20px; }
.report-table-card { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.report-table-card .drawer-section-heading { padding: 14px 15px 0; }
.report-table { margin: 0; }
.report-table th, .report-table td { padding: 9px 15px; color: #596579; font-size: 11px; }
.report-table th:last-child, .report-table td:last-child { text-align: right; }
.leads-table thead th { height: 39px; padding: 0 12px; border-bottom: 1px solid #edf0f4; color: #8390a2; background: #fff; font-size: 10px; font-weight: 600; white-space: nowrap; }
.leads-table tbody td { max-width: 265px; padding: 11px 12px; border-bottom-color: #f0f2f6; color: #596579; font-size: 11px; vertical-align: middle; }
.leads-table tbody tr:last-child td { border-bottom: 0; }
.lead-name { display: flex; align-items: center; gap: 8px; color: #253449; font-size: 11px; font-weight: 650; }
.lead-avatar { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; border: 1px solid #f1e5cc; border-radius: 8px; color: #9c6d21; background: #fff9ef; font-size: 11px; font-weight: 700; }
.new-mark { display: inline-block; margin-left: 4px; padding: 2px 4px; border-radius: 4px; color: #b46d17; background: #fff3df; font-size: 9px; font-weight: 600; }
.phone-cell { color: #344054 !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
.phone-copy { margin-left: 5px; padding: 2px 5px; border: 0; border-radius: 4px; color: #748196; background: transparent; font-size: 10px; }
.phone-copy:hover { color: var(--blue); background: #edf4ff; }
.address-cell { overflow: hidden; max-width: 240px; text-overflow: ellipsis; white-space: nowrap; }
.status-badge { display: inline-flex; align-items: center; padding: 4px 7px; border-radius: 20px; color: #657185; background: #f1f3f6; font-size: 9px; white-space: nowrap; }
.status-badge[data-status="跟进中"], .status-badge[data-status="已联系"] { color: #2267ae; background: #ebf4ff; }
.status-badge[data-status="意向客户"] { color: #a76712; background: #fff4e0; }
.status-badge[data-status="已成交"] { color: #177e5b; background: #e9f8f1; }
.status-badge[data-status="安排试饮"], .status-badge[data-status="报价跟进"] { color: #2267ae; background: #ebf4ff; }
.status-badge[data-status="合作洽谈"] { color: #7757c7; background: #f3efff; }
.status-badge[data-status="未成交"] { color: #a84c4c; background: #fff0f0; }
.row-open { padding: 5px 7px; border: 1px solid transparent; border-radius: 5px; color: #738096; background: transparent; font-size: 10px; }
.row-open:hover { border-color: #dbe6f6; color: var(--blue); background: #f6f9ff; }
.empty-state { height: 125px; color: #98a2b3 !important; text-align: center; }
.table-footer { display: flex; align-items: center; justify-content: space-between; min-height: 50px; padding: 0 20px; border-top: 1px solid #edf0f4; color: #8c97a8; font-size: 10px; }
.pager { display: flex; align-items: center; gap: 11px; }
.pager .btn { min-height: 28px; padding: 0 8px; border-color: #e0e5ec; color: #657185; font-size: 10px; }
.page-footer { display: flex; justify-content: space-between; gap: 10px; padding: 16px 2px 4px; color: #9ba5b4; font-size: 9px; }

.drawer-backdrop { position: fixed; inset: 0; z-index: 30; background: #14203366; backdrop-filter: blur(1px); }
.detail-drawer { position: fixed; inset: 0 0 0 auto; z-index: 31; display: flex; width: min(470px, 100vw); flex-direction: column; border-left: 1px solid var(--line); background: #fff; box-shadow: -18px 0 50px #15243b1a; animation: slide-in .2s ease-out; }
@keyframes slide-in { from { transform: translateX(15px); opacity: .7; } to { transform: translateX(0); opacity: 1; } }
.drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 21px 23px 17px; border-bottom: 1px solid var(--line); }
.drawer-head .eyebrow { margin-bottom: 4px; }
.drawer-head h2 { margin: 0; color: #1f2d40; font-size: 18px; }
.drawer-head .btn { width: 31px; height: 31px; color: #7d8797; font-size: 19px; }
.drawer-body { overflow-y: auto; padding: 17px 23px 30px; }
.detail-contact { display: grid; gap: 5px; margin-bottom: 17px; padding: 14px; border: 1px solid #e8eef7; border-radius: 8px; background: #f8faff; }
.detail-label { color: #8390a2; font-size: 10px; }
.detail-contact strong { color: #24354b; font-size: 17px; font-variant-numeric: tabular-nums; }
.detail-address { color: #68758a; font-size: 11px; line-height: 1.5; }
.drawer-form, .visit-form { display: grid; gap: 12px; }
.drawer-form .btn, .visit-form .btn { min-height: 36px; font-size: 11px; }
.drawer-form textarea, .visit-form textarea { resize: vertical; }
.visit-section { margin-top: 21px; padding-top: 17px; border-top: 1px solid #edf0f4; }
.opportunity-edit-section { margin-bottom: 5px; }
.drawer-section-heading h3 { margin: 0 0 4px; color: #29384c; font-size: 14px; }
.drawer-section-heading p { margin: 0 0 12px; color: #8a95a5; font-size: 10px; }
.visit-row { display: grid; grid-template-columns: .8fr 1.4fr; gap: 10px; }
.visit-list { display: grid; gap: 0; margin: 15px 0 0; padding: 0; list-style: none; }
.visit-item { position: relative; padding: 0 0 15px 17px; border-left: 1px solid #e6ebf2; }
.visit-item::before { position: absolute; top: 3px; left: -4px; width: 7px; height: 7px; border: 1px solid #fff; border-radius: 50%; background: #d5902f; content: ""; }
.visit-item strong { display: block; color: #475467; font-size: 11px; }
.visit-item small { color: #96a0af; font-size: 9px; }
.visit-item p { margin: 4px 0 0; color: #69768b; font-size: 10px; line-height: 1.5; }
.visit-plan-actions { display: flex; flex-wrap: wrap; gap: 4px; margin: 5px 0 0 -7px; }
.visit-mode-note { margin: 0 0 10px; padding: 9px 11px; border: 1px solid #f2dfbb; border-radius: 7px; color: #785518; background: #fff9ed; font-size: 10px; line-height: 1.5; }
.visit-plan-table { min-width: 930px; }
.empty-visits { padding: 12px 0; color: #a0a9b7; font-size: 10px; text-align: center; }
.toast-wrap { position: fixed; right: 22px; bottom: 20px; z-index: 50; display: grid; gap: 8px; }
.toast-message { padding: 10px 14px; border: 1px solid #dce8df; border-radius: 8px; color: #235e43; background: #f4fbf6; box-shadow: 0 8px 25px #15243b16; font-size: 11px; animation: toast-in .15s ease-out; }
@keyframes toast-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1100px) {
  .sidebar { width: 205px; }
  .main-area { margin-left: 205px; }
  .topbar { padding: 0 22px; }
  .page-content { padding: 24px 22px 18px; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reports-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .report-tables { grid-template-columns: 1fr; }
  .keyword-grid { grid-template-columns: 1fr 1fr 130px; }
}
@media (max-width: 760px) {
  .sidebar { position: sticky; inset: 0 0 auto; width: 100%; height: auto; padding: 9px 12px 7px; }
  .brand { padding: 0 2px 8px; }
  .brand-mark { width: 32px; height: 32px; border-radius: 9px; font-size: 17px; }
  .brand strong { font-size: 13px; }
  .brand small, .nav-caption, .sidebar-bottom { display: none; }
  .main-nav { display: flex; overflow-x: auto; gap: 3px; scrollbar-width: none; }
  .main-nav::-webkit-scrollbar { display: none; }
  .nav-link { min-height: 33px; flex: 0 0 auto; gap: 5px; padding: 0 9px; font-size: 10px; }
  .nav-icon { width: auto; font-size: 14px; }
  .nav-soon { display: none; }
  .main-area { margin-left: 0; }
  #top { scroll-margin-top: 92px; }
  .topbar { position: static; height: 45px; padding: 0 15px; }
  .topbar-right { gap: 9px; }
  .online-indicator { font-size: 10px; }
  .avatar { width: 26px; height: 26px; font-size: 10px; }
  .page-content { padding: 18px 13px 12px; }
  .welcome-row { align-items: flex-start; }
  .welcome-row h1 { font-size: 20px; }
  .welcome-copy { max-width: 280px; font-size: 11px; line-height: 1.5; }
  .btn-start { min-height: 35px; flex: 0 0 auto; padding: 0 9px; font-size: 10px; }
  .review-notice { align-items: flex-start; font-size: 10px; line-height: 1.5; }
  .stats-grid { gap: 8px; }
  .stat-card { min-height: 94px; padding: 11px; }
  .stat-card > strong { font-size: 21px; }
  .stat-card > .stat-action-title { font-size: 12px; }
  .stat-card > small { font-size: 9px; }
  .card-heading { gap: 9px; padding: 14px 13px 12px; }
  .heading-icon { width: 32px; height: 32px; font-size: 20px; }
  .card-heading p { max-width: 225px; line-height: 1.5; }
  .source-pill { padding: 5px 7px; font-size: 9px; }
  .search-form { padding: 13px; }
  .region-grid { gap: 8px; }
  .keyword-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .field-limit { grid-column: 1 / -1; max-width: 150px; }
  .search-footer { align-items: flex-start; flex-direction: column; gap: 11px; }
  .form-actions { width: 100%; justify-content: space-between; }
  .form-hint { max-width: 170px; line-height: 1.4; }
  .task-progress { padding: 0 13px 13px; }
  .leads-heading { padding: 15px 13px 12px; }
  .reports-grid { gap: 8px; padding: 12px; }
  .report-tables { gap: 10px; padding: 0 12px 12px; }
  .report-table-card .drawer-section-heading { padding-right: 12px; padding-left: 12px; }
  .competitor-summary { margin: 0 13px 13px; }
  .import-warning { margin: 0 13px 12px; }
  .data-center-stats { padding: 0 12px 12px; }
  .data-import-panel { margin: 0 13px 12px; }
  .duplicate-lead-row { grid-template-columns: 1fr auto; gap: 8px; }
  .duplicate-survivor-choice { grid-column: 1 / -1; }
  .duplicate-linked-count { grid-column: 1; }
  .duplicate-group .btn { grid-column: 2; grid-row: 3; }
  .duplicate-group-list { padding-right: 10px; padding-left: 10px; }
  .duplicate-review-hint { padding-right: 12px; padding-left: 12px; }
  .data-import-controls { align-items: stretch; flex-wrap: wrap; padding-right: 12px; padding-left: 12px; }
  .data-import-controls .field { flex-basis: 100%; }
  .data-import-controls .btn { flex: 1; }
  #dataImportHint { padding-right: 12px; padding-left: 12px; }
  .data-center-backup { margin: 0 13px 13px; }
  .report-table th, .report-table td { padding-right: 12px; padding-left: 12px; }
  .order-heading-actions { align-items: flex-end; flex-direction: column; gap: 7px; }
  .filter-bar { gap: 7px; padding: 10px 13px; }
  .filter-search { flex-basis: 100%; }
  .filter-select { min-width: 0; flex: 1 1 130px; }
  .task-filter { margin-left: 0; }
  .leads-table { min-width: 850px; }
  .leads-table thead th, .leads-table tbody td { padding-right: 9px; padding-left: 9px; }
  .table-footer { padding: 0 13px; }
  .page-footer { flex-direction: column; gap: 4px; }
  .drawer-head { padding: 16px; }
  .drawer-body { padding: 14px 16px 25px; }
}
