body{margin:0; padding:0; font-family:var(--font-body); color:var(--body-color); background:var(--body-bg)}

h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);}

/* Design tokens → moved to design-tokens.css */

/* *************************************** COMPONENT STYLES (Non-Chrome Elements) ****************************************/
/* 
  NOTE: Core layout/chrome styles (sidebar, navbar, main layout) are now in app-shell.css
  This file contains only component-specific styling that layers on top of the shell
*/

/* Profile Link Styling — Linear style */
.nav-profile-link { padding: 4px; border-radius: 6px; display: flex; align-items: center; justify-content: center; text-decoration: none; margin-right: 4px; transition: background 120ms ease; }
.nav-profile-link:hover { background: var(--sidebar-hover-bg); transform: none; }
.nav-profile-link .profile-avatar { width: 24px; height: 24px; border-radius: 50%; background: var(--sidebar-avatar-bg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: none; transition: none; overflow: hidden; }
.nav-profile-link .profile-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.nav-profile-link .profile-initial { color: #fff; font-size: 10px; font-weight: 700; }
/* Dropdown Menu — matches sidebar palette */
.navbar .dropdown .dropdown-menu-sidebar { position: absolute; top: calc(100% + 6px); right: 4px; left: auto; min-width: 210px; background: #ffffff; border: 1px solid var(--sidebar-border); border-radius: 9px; box-shadow: 0 6px 20px rgba(40, 55, 100, 0.12), 0 1px 4px rgba(40, 55, 100, 0.06); padding: 6px; z-index: 1050; }
/* Dropdown Email Header */
.dropdown-email { color: var(--sidebar-text-dim); font-size: 12px; font-weight: 400; padding: 6px 10px 8px 10px !important; background: transparent; border-radius: 0; font-family: var(--font-body); }
/* Dropdown Items */
.dropdown-menu-sidebar .dropdown-item { color: var(--sidebar-text-muted); font-size: 13px; font-weight: 400; padding: 7px 10px; border-radius: 6px; margin: 0; transition: background 100ms ease, color 100ms ease; border: none; background: transparent; display: flex; align-items: center; text-decoration: none; }
.dropdown-menu-sidebar .dropdown-item:hover { background: var(--sidebar-hover-bg); color: var(--sidebar-text); }
.dropdown-menu-sidebar .dropdown-item:active { background: var(--sidebar-active-bg); color: var(--sidebar-active-text); }
/* Dropdown Divider */
.dropdown-menu-sidebar .dropdown-divider { border: none; height: 1px; background: var(--sidebar-border); margin: 3px 0; }


/* Unauthenticated */
.layout-wrapper.layout-unauthenticated { min-height: 100vh; overflow-y: auto; background: var(--color-bg); }

/**************************************** PAGE HEADERS *****************************************/
.page-header { background-color: transparent; border-bottom: none; padding: var(--space-6) 0 var(--space-5); }
.page-header h1 { font-size: var(--text-xl); font-weight: var(--weight-semibold); margin-bottom: 0.25rem; color: var(--color-text); display: flex; align-items: center; }
.page-header p { color: var(--color-text-muted); font-size: var(--text-base); margin: 0; }
.page-header .header-actions { display: flex; flex-direction: row; align-items: center; justify-content: flex-end; gap: 1.5rem; }
.page-header .progress-container { display: flex; flex-direction: column; align-items: flex-end; }
.page-header .custom-progress.progress { width: 150px; height: 5px; margin: 0.25rem 0; background: var(--color-border); }
.page-header .progress-count { text-align: right; font-weight: var(--heading-weight-bold); font-size: var(--font-size-sm); font-family: var(--font-heading); color: var(--dark-blue); }

@media (max-width: 767px) {
    .page-header { padding: 1.5rem 0 1rem; }
    .header-actions { margin-top: 0.5rem; }
}

/**************************************** BUTTONS — Linear-Style System *****************************************/

/* Base */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: var(--btn-padding-default); font-family: var(--font-family); font-size: var(--btn-font-default); font-weight: var(--btn-font-weight); line-height: 1; white-space: nowrap; text-decoration: none; border-radius: var(--btn-radius); border: 1px solid transparent; cursor: pointer; transition: var(--btn-transition); box-shadow: none; outline: none; }
.btn:focus { box-shadow: none; outline: none; }
.btn:focus-visible { box-shadow: var(--btn-focus-ring); }
.btn i, .btn .bi { font-size: 14px; line-height: 1; }

/* Sizes */
.btn-sm { font-size: var(--btn-font-sm); padding: var(--btn-padding-sm); }
.btn-md { font-size: var(--btn-font-md); padding: var(--btn-padding-md); }
.btn-lg { font-size: var(--btn-font-lg); padding: var(--btn-padding-lg); }
.btn-xs { font-size: var(--text-xs); padding: 4px 8px; }

/* Primary */
.btn-primary { background-color: var(--btn-primary-bg); color: var(--btn-primary-text); border-color: var(--btn-primary-border); }
.btn-primary:hover, .btn-primary:focus { background-color: var(--btn-primary-bg-hover); border-color: var(--btn-primary-bg-hover); color: var(--btn-primary-text); }
.btn-primary:active { background-color: var(--btn-primary-bg-active); border-color: var(--btn-primary-bg-active); }

/* Secondary */
.btn-secondary { background-color: var(--btn-secondary-bg); color: var(--btn-secondary-text); border-color: var(--btn-secondary-border); }
.btn-secondary:hover, .btn-secondary:focus { background-color: var(--btn-secondary-bg-hover); border-color: var(--btn-secondary-border-hover); color: var(--btn-secondary-text); }
.btn-secondary:active { background-color: var(--btn-secondary-bg-active); }

/* Ghost */
.btn-ghost { background-color: var(--btn-ghost-bg); color: var(--btn-ghost-text); border-color: transparent; }
.btn-ghost:hover, .btn-ghost:focus { background-color: var(--btn-ghost-bg-hover); color: var(--btn-ghost-text-hover); border-color: transparent; }

/* Danger */
.btn-danger { background-color: var(--btn-danger-bg); color: var(--btn-danger-text); border-color: var(--btn-danger-bg); }
.btn-danger:hover, .btn-danger:focus { background-color: var(--btn-danger-bg-hover); border-color: var(--btn-danger-bg-hover); color: var(--btn-danger-text); }

/* Danger Secondary */
.btn-danger-secondary { background-color: var(--btn-danger-secondary-bg); color: var(--btn-danger-secondary-text); border-color: var(--btn-danger-secondary-border); }
.btn-danger-secondary:hover, .btn-danger-secondary:focus { background-color: var(--btn-danger-secondary-bg-hover); border-color: var(--btn-danger-secondary-border-hover); color: var(--btn-danger-secondary-text); }

/* Success */
.btn-success { background-color: var(--btn-success-bg); color: var(--btn-success-text); border-color: var(--btn-success-bg); }
.btn-success:hover, .btn-success:focus { background-color: var(--btn-success-bg-hover); border-color: var(--btn-success-bg-hover); color: var(--btn-success-text); }

/* Warning (Bootstrap override) */
.btn-warning { background-color: var(--color-warning); color: var(--color-surface); border-color: var(--color-warning); }
.btn-warning:hover, .btn-warning:focus { background-color: var(--color-warning-hover); border-color: var(--color-warning-hover); color: var(--color-surface); }

/* Disabled */
.btn:disabled, .btn.disabled { opacity: 0.5; pointer-events: none; cursor: not-allowed; }

/* Icon-Only Buttons */
.btn-icon-only { width: 36px; height: 36px; padding: 0; }
.btn-icon-only i { font-size: 1.2rem; }
.btn-icon-only.btn-sm { width: 32px; height: 32px; }
.btn-icon-only.btn-lg { width: 44px; height: 44px; }

/* Modal Close Button */
.btn-modal-close { position: absolute; right: 15px; top: 15px; padding: 0; border: none; background: transparent; font-size: var(--font-size-xxl); opacity: 0.5; transition: var(--btn-transition); z-index: 5; }
.btn-modal-close:hover { opacity: 1; color: var(--color-primary); }
.btn-modal-close i { display: block; }

/**************************************** ICONS *****************************************/
.action-icon {font-size: 0.9rem !important; transition: color 0.2s ease;}
.edit-icon { color: #5c6bc0 !important; }
.delete-icon { color: #ef5350 !important; }
.edit-icon:hover { color: var(--dark-blue) !important; }
.delete-icon:hover { color: #c62828 !important; }

figure.avatar-circle { height: 100px; width: 100px; font-size: 54px; line-height: 54px; display: flex; align-items: center; justify-content: center; }
span.success-icon { font-size: 60px; margin: 0 0 10px; display: inline-block; color: #36C76C; }
span.search-icon { position: absolute; left: 12px; top: 9px;}

.profile-link-active { color: #5c6bc0 !important; transition: color 0.2s ease; }
.profile-link-active:hover { color: var(--color-primary) !important; }

/**************************************** FILTER PILLS (Lead List) - Linear style *****************************************/
.filter-pills-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.filter-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    background: var(--color-hover);
    color: var(--color-text);
    border: none;
    box-shadow: none;
}

.filter-pill .pill-icon {
    margin-right: 6px;
    display: flex;
    align-items: center;
    font-size: 11px;
    color: var(--color-text-muted);
}

.filter-pill .pill-text {
    margin-right: 8px;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.filter-pill .pill-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    background: transparent;
    color: var(--color-text-placeholder);
    text-decoration: none;
    transition: all 0.15s ease;
    font-size: 10px;
}

.filter-pill .pill-close:hover {
    background: var(--color-border);
    color: var(--color-text);
    transform: none;
}

/* All pills same monochrome style */
.file-pill, .search-pill, .date-pill {
    background: var(--color-hover);
    color: var(--color-text);
    border: none;
}

.clear-all-btn {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-muted);
    text-decoration: none;
    padding: 5px 8px;
    background: transparent;
    border: none;
    border-radius: 4px;
    transition: all 0.15s ease;
}

.clear-all-btn:hover {
    color: var(--color-text);
    background: var(--color-hover);
}

/* Search and Filter Bar Responsive */
@media (max-width: 767px) {
    .search-filter-container { flex-direction: column; gap: 1rem; }
    .search-filter-wrapper { width: 100%; flex-direction: column; }
    .search-form { width: 100%; }
    .input-group-form input { width: 100%; }
    .filter-buttons { width: 100%; justify-content: space-between; }
    .filter-buttons .btn { flex: 1; text-align: center; justify-content: center; }
}

/* Active Filters Responsive */
@media (max-width: 767px) {
    .filter-pills-container { flex-direction: column; align-items: stretch; gap: 0.5rem; }
    .filter-pill { width: 100%; justify-content: space-between; }
    .clear-all-btn { width: 100%; justify-content: center; }
}

/* Batch View Header Responsive */
@media (max-width: 767px) {
    .bg-light.border.rounded { margin: 0 -1rem; border-radius: 0; border-left: none; border-right: none; }
    .filter-pill.file-pill { flex: 1; min-width: 0; }
    .filter-pill .pill-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/**************************************** TEXT AND BACKGROUND APPEARANCE *****************************************/
.custom-bg-light{background: var(--color-bg); background-attachment: fixed;}
.login-bg-white { border: 1px solid var(--color-border); border-radius: var(--radius-lg); max-width: 600px; width: 100%; margin: auto; background: var(--color-surface); }
.dark-blue{color:var(--dark-blue)}
.bg-dark-blue{background:var(--dark-blue)}
.primary-link{color:var(--dark-blue)}

/* import history badge and button styling */
.text-primary { color: var(--color-primary) !important; }

.dash-top-heading h1 { font-size: var(--font-size-xxl); color: var(--color-text); font-weight: var(--heading-weight-bold); }
.dash-top-heading p { color: var(--color-text); font-size: var(--font-size-sm); margin: 0; }
.dash-sub-heading h4 { font-size:20px;  font-weight: var(--heading-weight-bold); }

.lead-count { font-size: var(--font-size-lg); line-height: 20px; color: var(--color-primary); font-family: var(--font-heading); }
hr{color:var(--white)}

.started-box { text-align: center; margin-bottom: 3rem; padding-top: 1rem; }
.started-box h4 { font-weight: bold; font-size: var(--font-size-xl); color: #263238; margin: 0 0 25px; }
.started-box .btn { padding: 10px 30px; }

/**************************************** FORMS *****************************************/

.login-form-box{padding: 40px 50px 60px 50px; }  
.form-box-heading p { font-size: var(--font-size-lg); margin: 6px 0 0; color:var(--dark-gray)}
.login-form-box .form-group input{height:50px; box-shadow:inherit; outline:inherit; border-radius:5px}
.login-form-box .form-group input[type="checkbox"] { width: 22px; height: 22px; border-radius: 3px; margin-top: 0; }
.password-toggle { position: absolute; right: 8px; top: 0; bottom: 0; font-size: var(--font-size-xl); color: var(--body-color); }
.shadow-sm{box-shadow: 6px 6px 54px 0px rgba(0, 0, 0, 0.05)}
.input-group-form input {width: 300px; padding-left: 40px; height: 40px; font-size: var(--font-size-sm); font-weight: var(--body-weight-normal); border-radius: 4px; }

.form-control { padding: 10px 14px; border-radius: var(--radius-md); border: 1px solid var(--color-border); transition: all var(--transition-fast); background-color: var(--color-surface); font-size: var(--text-base); color: var(--color-text); }
.form-control:hover { border-color: var(--color-border-hover); }
.form-control:focus { border-color: var(--color-primary); box-shadow: 0 0 0 2px var(--color-primary-light); outline: none; }
.invalid-feedback { font-size: 0.875rem; color: var(--btn-danger-bg); margin-top: 0.5rem; }
.form-control[disabled] {
    background-color: var(--color-subtle) !important;
    opacity: 1;
    cursor: not-allowed !important;
}
select.form-control {
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    padding-right: 2.5rem;
}

/**************************************** PAGINATION *****************************************/
.pagination { display: flex; padding-left: 0; list-style: none; gap: var(--space-1); }
.pagination .page-item .page-link { position: relative; display: flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 6px 12px; color: var(--color-text-muted); background-color: transparent; border: none; border-radius: var(--radius-md); text-decoration: none; transition: all var(--transition-fast); font-weight: var(--weight-medium); font-size: var(--text-sm); }
.pagination .page-item .page-link:hover { background-color: var(--color-hover); color: var(--color-text); }
.pagination .page-item.active .page-link { color: var(--color-surface); background-color: var(--color-primary); }
.pagination .page-item.disabled .page-link { color: var(--color-text-placeholder); pointer-events: none; }


/**************************************** TABLE SYSTEM — Unified Linear Style *****************************************/

/* ---- Utility ---- */
.table-mt--65 { margin-top: -65px; }

/* ---- Container ---- */
.modern-table-container { position: relative; overflow: visible; }
.table-custom-grid { border: none; border-radius: 0; box-shadow: none; background: transparent; overflow: visible; }
.table-custom-grid table { width: 100%; border-collapse: collapse; table-layout: auto; overflow: visible; }
.table-responsive { overflow-x: auto; overflow-y: visible; -webkit-overflow-scrolling: touch; position: relative; }

/* Neutralize Bootstrap .table defaults */
.table-custom-grid .table { --bs-table-bg: transparent; --bs-table-hover-bg: transparent; border-color: transparent; margin-bottom: 0; }

/* ---- Header ---- */
.table-custom-grid table thead tr { background: var(--table-header-bg); border-bottom: 1px solid var(--table-header-border); }
.table-custom-grid table thead tr th {
    padding: var(--table-header-padding);
    background: transparent;
    font-size: var(--table-header-font);
    font-weight: var(--table-header-weight);
    color: var(--table-header-text);
    text-transform: uppercase;
    letter-spacing: var(--table-header-tracking);
    border: none;
    white-space: nowrap;
}
.table-custom-grid table thead tr th.col-select:first-child { padding-left: 0; }
/* Sortable header links */
.table-custom-grid table thead tr th a { display: inline-flex; align-items: center; white-space: nowrap; transition: color var(--transition-fast); color: inherit; text-decoration: none; }
.table-custom-grid table thead tr th a > *:first-child { margin-right: 0.3rem; }
.table-custom-grid table thead tr th a:hover { color: var(--table-cell-primary); }
.table-custom-grid table thead tr th a i.fas { font-size: var(--table-sort-size); background: none; padding: 0; margin-left: 4px; opacity: var(--table-sort-opacity); }

/* ---- Body & Cells ---- */
.table-custom-grid table tbody { overflow: visible; }
.table-custom-grid table tbody tr { overflow: visible; border-bottom: 1px solid var(--table-row-border); transition: background-color 0.1s ease; }
.table-custom-grid table tbody tr:last-child { border-bottom: none; }
.table-custom-grid table tbody tr:last-child td { border: none; }
.table-custom-grid table tbody tr:hover { background-color: var(--table-row-hover); }
.table-custom-grid table tbody tr td {
    padding: var(--table-cell-padding);
    font-size: var(--table-cell-font);
    color: var(--table-cell-color);
    border: none;
    border-bottom: none;
    overflow: visible;
    vertical-align: middle;
}
.table-custom-grid table tbody tr td.col-select:first-child { padding-left: 0; }
/* Primary fields — key data stands out */
.table-custom-grid table tbody tr td[data-label="First Name"],
.table-custom-grid table tbody tr td[data-label="Last Name"],
.table-custom-grid table tbody tr td[data-label="Company"],
.table-custom-grid table tbody tr td[data-label="Last Updated"],
.table-custom-grid table tbody tr td[data-label="Updated"],
.table-custom-grid table tbody tr td[data-label="Generated"],
.table-custom-grid table tbody tr td[data-label="Created"],
.table-custom-grid table tbody tr td[data-label="File"] { color: var(--table-cell-primary); }

/* ---- Table Utility Classes ---- */
.table-title-link { color: var(--table-cell-primary); text-decoration: none; font-weight: var(--weight-medium); }
.table-title-link:hover { color: var(--color-primary); }
.table-description { font-size: var(--text-sm); color: var(--color-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; max-width: 320px; }

/* ---- Action Buttons in Cells ---- */
.table-custom-grid table td .action-buttons { display: flex; justify-content: flex-end; }
.table-custom-grid td[data-label="Actions"] { overflow: visible !important; }
.table-custom-grid .action-buttons { display: flex; justify-content: flex-end; }
.table-custom-grid .action-buttons .dropdown { position: relative; }

/* ---- Column Widths ---- */
.table-custom-grid table th.col-actions, .table-custom-grid table td[data-label="Actions"] { min-width: 85px; max-width: 85px; }
.table-custom-grid table th.col-email, .table-custom-grid table td[data-label="Email"] { min-width: 250px; }
.table-custom-grid table th.col-first_name, .table-custom-grid table th.col-last_name,
.table-custom-grid table td[data-label="First Name"], .table-custom-grid table td[data-label="Last Name"] { min-width: 120px; }
.table-custom-grid table th.col-company, .table-custom-grid table th.col-prior_company,
.table-custom-grid table td[data-label="Company"], .table-custom-grid table td[data-label="Prior Company"] { min-width: 180px; }
.table-custom-grid table th.col-title, .table-custom-grid table th.col-location,
.table-custom-grid table td[data-label="Role"], .table-custom-grid table td[data-label="Location"] { min-width: 160px; }
.table-custom-grid table th.col-start_date, .table-custom-grid table th.col-last_updated,
.table-custom-grid table td[data-label="Role Start Date"], .table-custom-grid table td[data-label="Updated"] { min-width: 140px; }
.table-custom-grid table th.col-links, .table-custom-grid table td[data-label="Links"] { min-width: 70px; width: 70px; }

/* ---- Cell Content & Truncation ---- */
.table-custom-grid .cell-content { position: relative; width: 100%; overflow: hidden; }
.table-custom-grid .truncate-cell .cell-content:hover::after { content: attr(title); position: absolute; top: -30px; left: 0; background: rgba(0, 0, 0, 0.8); color: white; padding: 4px 8px; border-radius: var(--radius-sm); font-size: var(--text-xs); white-space: nowrap; z-index: 10; animation: tableTooltipFade 0.2s forwards; }
@keyframes tableTooltipFade { from { opacity: 0; } to { opacity: 1; } }

/* ---- Selection Checkboxes ---- */
.col-select { width: 40px; min-width: 40px; max-width: 40px; padding-left: 0 !important; }
.col-select .form-check { margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; }
.col-select .form-check-input { width: var(--table-checkbox-size); height: var(--table-checkbox-size); margin: 0; cursor: pointer; border: 1.5px solid var(--table-checkbox-border); border-radius: var(--table-checkbox-radius); transition: all 0.1s ease; background-color: var(--color-surface); }
.col-select .form-check-input:hover { border-color: var(--color-text-placeholder); }
.col-select .form-check-input:checked { background-color: var(--table-checkbox-active); border-color: var(--table-checkbox-active); }
.col-select .form-check-input:focus { box-shadow: none; border-color: var(--table-checkbox-active); }
/* Selected row */
.table-custom-grid table tbody tr.row-selected { background-color: var(--table-row-selected); }
.table-custom-grid table tbody tr.row-selected:hover { background-color: var(--table-row-hover); }

/* Sourced rows — subtle indicator for high-value leads */
.table-custom-grid table tbody tr.row-sourced td:first-child { position: relative; }
.table-custom-grid table tbody tr.row-sourced td:first-child::before {
  content: '';
  position: absolute;
  left: 0;
  top: 25%;
  height: 50%;
  width: 2px;
  border-radius: 1px;
  background: var(--color-success);
}

/* ---- Link Pills ---- */
.link-pills-container { display: flex; gap: 2px; align-items: center; }
.link-pill { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: var(--radius-sm); transition: all var(--transition-fast); position: relative; }
.link-pill i { font-size: 11px; }
.link-pill-active { background: transparent; color: var(--color-text-muted); }
.link-pill-active:hover { background: var(--color-hover); color: var(--color-text); }
.link-pill-inactive { background: transparent; color: var(--color-border); cursor: not-allowed; }
.link-pill-active:hover::before, .link-pill-inactive:hover::before { content: attr(data-tooltip); position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: white; padding: 4px 8px; border-radius: var(--radius-sm); font-size: var(--text-xs); white-space: nowrap; z-index: 9999; pointer-events: none; }

/* ---- Empty State ---- */
.empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--table-empty-padding); max-width: 400px; margin: 0 auto; }
.empty-state-icon { width: var(--table-empty-icon-size); height: var(--table-empty-icon-size); border-radius: var(--radius-lg); background: var(--color-hover); display: flex; align-items: center; justify-content: center; margin: 0 auto var(--space-4); color: var(--color-text-placeholder); }
.empty-state-icon i { font-size: 20px; }
.empty-state h4 { font-size: var(--text-base); font-weight: var(--weight-medium); color: var(--table-cell-primary); margin: 0 0 var(--space-2); }
.empty-state p { font-size: var(--text-base); text-align: center; max-width: 280px; color: var(--color-text-muted); }

/* ---- Status Dots (scrape status indicators) ---- */
.status-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; position: relative; vertical-align: middle; margin-left: 6px; }
.status-dot.status-completed { display: none; }
.status-dot.status-pending { background-color: var(--color-accent); box-shadow: 0 0 5px rgba(255, 163, 43, 0.5); animation: pulse-status 2s infinite; }
.status-dot.status-failed { background-color: var(--color-danger); box-shadow: 0 0 5px rgba(220, 53, 69, 0.5); }
.updated-cell-container { display: inline-flex; align-items: center; position: relative; cursor: default; }
.updated-cell-container[data-tooltip]:hover::before { content: attr(data-tooltip); position: absolute; bottom: 35px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: white; padding: 4px 8px; border-radius: var(--radius-sm); font-size: var(--text-xs); white-space: nowrap; z-index: 9999; pointer-events: none; }
@keyframes pulse-status { 0% { opacity: 0.7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.2); } 100% { opacity: 0.7; transform: scale(1); } }

/* ---- Toolbar ---- */
.table-toolbar { position: sticky; top: 0; z-index: 100; background: var(--color-surface); padding: 0; margin-bottom: 0; }
.table-toolbar.is-sticky { border-bottom: 1px solid var(--color-border); }
.table-toolbar-inner { display: flex; justify-content: space-between; align-items: center; padding: var(--space-4) 0; gap: var(--space-6); }
.toolbar-left { display: flex; align-items: center; gap: var(--space-4); }
.toolbar-right { display: flex; align-items: center; gap: var(--space-2); }

/* Count display */
.toolbar-count { display: flex; align-items: baseline; gap: 4px; font-size: var(--text-sm); color: var(--color-text-muted); font-weight: var(--weight-normal); }
.toolbar-count .count-number { font-weight: var(--weight-medium); color: var(--table-cell-primary); }
.toolbar-count .count-label { color: var(--color-text-muted); }

/* Legacy bulk actions bar (kept for backward compat) */
.toolbar-bulk-actions { display: flex; align-items: center; gap: var(--space-2); padding: 6px var(--space-3); background: var(--color-hover); border-radius: var(--radius-md); }
.bulk-count { font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--table-cell-primary); white-space: nowrap; }
.bulk-action-buttons { display: flex; gap: 4px; }
.bulk-action-btn { font-size: var(--text-sm); padding: 4px 10px; border-radius: var(--radius-sm); font-weight: var(--weight-medium); border: none; background: transparent; color: var(--table-cell-primary); cursor: pointer; }
.bulk-action-btn:hover { background: var(--color-border); }
.bulk-action-btn.btn-outline-danger { color: var(--color-danger-text); }
.bulk-action-btn.btn-outline-danger:hover { background: var(--color-danger-light); }
.clear-selection-btn { font-size: var(--text-sm); color: var(--color-text-muted); text-decoration: none; padding: 4px var(--space-2); }
.clear-selection-btn:hover { color: var(--table-cell-primary); }

/* Search */
.toolbar-search { position: relative; width: 220px; }
.toolbar-search .search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--color-text-placeholder); font-size: var(--text-sm); pointer-events: none; }
.toolbar-search .form-control { padding: 7px 10px 7px 32px; height: auto; font-size: var(--text-sm); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); color: var(--table-cell-primary); transition: border-color var(--transition-fast); }
.toolbar-search .form-control::placeholder { color: var(--color-text-placeholder); }
.toolbar-search .form-control:focus { background: var(--color-surface); border-color: var(--table-cell-primary); box-shadow: none; outline: none; }

/* Export */
.toolbar-export-btn { display: inline-flex; align-items: center; font-size: var(--text-sm); padding: 7px 12px; border-radius: var(--radius-md); border: 1px solid var(--color-border); background: var(--color-surface); color: var(--table-cell-primary); font-weight: var(--weight-medium); transition: all var(--transition-fast); text-decoration: none; }
.toolbar-export-btn:hover { background: var(--color-hover); border-color: var(--color-border-hover); color: var(--table-cell-primary); text-decoration: none; }
.toolbar-export-btn i { margin-right: 6px; font-size: var(--text-xs); }

/* Pagination - minimal gap */
.table-custom-grid ~ nav .pagination,
.modern-table-container .pagination { gap: 2px; margin-top: var(--space-6); }

/* ---- Responsive: Tablet (768px - 991px) ---- */
@media (min-width: 768px) and (max-width: 991px) {
    .table-custom-grid table { min-width: 900px; }
    .table-toolbar-inner { flex-wrap: wrap; gap: var(--space-3); }
    .toolbar-search { width: 100%; order: -1; }
}

/* ---- Responsive: Mobile (max-width: 767px) ---- */
@media (max-width: 767px) {
    /* Card layout for rows */
    .table-custom-grid { border: none; background: transparent; box-shadow: none; }
    .table-custom-grid table thead { display: none; }
    .table-custom-grid table tbody tr {
        display: grid; grid-template-columns: 1fr; gap: var(--space-2);
        padding: var(--space-4); background: var(--color-surface);
        border: 1px solid var(--color-border); border-radius: var(--radius-lg);
        margin-bottom: var(--space-3);
    }
    .table-custom-grid table tbody tr:hover { background-color: var(--color-subtle); }
    .table-custom-grid table tbody td {
        display: flex; padding: var(--space-1) 0; border: none;
        align-items: flex-start; flex-direction: column; gap: 2px;
    }
    .table-custom-grid table tbody td:first-child { padding-left: 0; }
    .table-custom-grid table tbody td::before {
        content: attr(data-label); font-weight: var(--weight-medium);
        color: var(--color-text-muted); font-size: 11px;
        text-transform: uppercase; letter-spacing: 0.5px;
    }
    .table-custom-grid table td .cell-content { width: 100%; word-break: break-word; }
    .table-custom-grid table td .action-buttons { width: 100%; justify-content: flex-start; margin-top: var(--space-1); }
    .link-pills-container { justify-content: flex-start; }
    .table-responsive { overflow-x: visible; }

    /* Toolbar */
    .table-toolbar { position: relative; }
    .table-toolbar-inner { padding: var(--space-3) 0; }
    .toolbar-filters { width: 100%; }
    .toolbar-filters .btn { flex: 1; text-align: center; }
    .updated-cell-container[data-tooltip]:hover::before { bottom: 35px; left: 50%; transform: translateX(-50%); }
}

/**************************************** MODALS *****************************************/
.modal-dialog.mw-850 { max-width: 850px; width: 100%; }
.modal-content { border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-modal); }
.modal-top-heading h3 { font-size: var(--text-xl); font-weight: var(--weight-semibold); color: var(--color-text); }
.modal-top-heading p { font-size: var(--text-base); color: var(--color-text-muted); max-width: 615px; width: 100%; margin: 0 auto; line-height: var(--leading-normal); }
.modal-step-list ul { background: var(--color-subtle); padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-lg); list-style: none; margin: 0; }
.modal-step-list ul li { margin: 0 0 7px; font-size: var(--text-base); color: var(--color-text-secondary); }
.modal-step-list ul li:last-child { margin-bottom: 0; }
.modal-step-list ul li strong { color: var(--color-text); font-weight: var(--weight-semibold); }

/**************************************** PROGRESS BARS % *****************************************/
.custom-progress.progress { height: 5px; background: var(--color-border); width: 150px; margin-left: auto; margin-top: 10px; margin-bottom: 3px; }
.custom-progress.progress .progress-bar { background: #36C76C; }
span.progress-count { font-weight: var(--heading-weight-bold); font-size: var(--font-size-sm); font-family: var(--font-heading); color: var(--dark-blue); }

.progress.progress-subscribe { height: 15px; border-radius: 100px; background: var(--color-border); }
.progress.progress-subscribe .progress-bar.bg-success { text-align: right; border-radius: 100px; font-size: var(--font-size-xs); background-color: #36C76C !important; }


/**************************************** ALERTS *****************************************/
.alert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 14px;
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  line-height: var(--leading-normal);
  color: var(--color-text-secondary);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-border);
}
.alert i.bi { font-size: 15px; flex-shrink: 0; margin-top: 1px; }
.alert.alert-success { border-left-color: var(--color-success); }
.alert.alert-success i.bi { color: var(--color-success); }
.alert.alert-danger { border-left-color: var(--color-danger); }
.alert.alert-danger i.bi { color: var(--color-danger); }
.alert.alert-warning { border-left-color: var(--color-warning); }
.alert.alert-warning i.bi { color: var(--color-warning); }
.alert.alert-info { border-left-color: var(--color-accent); }
.alert.alert-info i.bi { color: var(--color-accent); }
.alert .btn-close { opacity: 0.4; transition: opacity 0.15s ease; }
.alert .btn-close:hover { opacity: 0.8; }


/**************************************** TOAST NOTIFICATIONS *****************************************/
.lc-toast-container { position: fixed; top: 20px; right: 20px; z-index: 10000; display: flex; flex-direction: column; gap: 8px; max-width: 380px; pointer-events: none; }
.lc-toast { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.03); pointer-events: all; opacity: 0; transform: translateY(8px); transition: opacity 0.2s var(--ease-smooth), transform 0.2s var(--ease-smooth); }
.lc-toast.lc-toast-enter { opacity: 1; transform: translateY(0); }
.lc-toast.lc-toast-exit { opacity: 0; transform: translateY(8px); transition: opacity 0.15s ease, transform 0.15s ease; }
.lc-toast-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 20px; height: 20px; color: var(--color-text-muted); }
.lc-toast-icon svg { display: block; }
.lc-toast-message { flex: 1; font-size: var(--text-sm); font-weight: var(--weight-medium); line-height: var(--leading-normal); color: var(--color-text); }
.lc-toast-close { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 24px; height: 24px; padding: 0; border: none; border-radius: var(--radius-sm); background: transparent; color: var(--color-text-muted); cursor: pointer; transition: background 0.12s ease, color 0.12s ease; }
.lc-toast-close:hover { background: var(--color-hover); color: var(--color-text); }
.lc-toast-close svg { display: block; }

/* Type accents — subtle left border + icon color */
.lc-toast-success { border-left: 3px solid var(--color-success); }
.lc-toast-success .lc-toast-icon { color: var(--color-success); }

.lc-toast-error { border-left: 3px solid var(--color-danger); }
.lc-toast-error .lc-toast-icon { color: var(--color-danger); }

.lc-toast-warning { border-left: 3px solid var(--color-warning); }
.lc-toast-warning .lc-toast-icon { color: var(--color-warning); }

.lc-toast-info { border-left: 3px solid var(--color-accent); }
.lc-toast-info .lc-toast-icon { color: var(--color-accent); }
  
/**************************************** BADGES — Linear-Style System *****************************************/

/* Base */
.badge { display: inline-flex; align-items: center; gap: var(--badge-icon-gap); padding: var(--badge-padding); border: none; border-radius: var(--badge-radius); font-family: var(--font-family); font-size: var(--badge-font-size); font-weight: var(--badge-font-weight); line-height: 1; white-space: nowrap; transition: var(--badge-transition); }
.badge i, .badge .bi { font-size: var(--badge-font-size); line-height: 1; }

/* Sizes */
.badge-md { padding: var(--badge-padding-md); font-size: var(--text-sm); }

/* Modifiers */
.badge-caps { text-transform: uppercase; letter-spacing: 0.5px; font-size: 10px; }
.badge-pill { border-radius: 20px; }

/* Color Variants */
.badge-neutral { background: var(--badge-neutral-bg); color: var(--badge-neutral-text); }
.badge-primary { background: var(--badge-primary-bg); color: var(--badge-primary-text); }
.badge-success { background: var(--badge-success-bg); color: var(--badge-success-text); }
.badge-warning { background: var(--badge-warning-bg); color: var(--badge-warning-text); }
.badge-danger  { background: var(--badge-danger-bg);  color: var(--badge-danger-text); }
.badge-info    { background: var(--badge-info-bg);    color: var(--badge-info-text); }
.badge-purple  { background: var(--badge-purple-bg);  color: var(--badge-purple-text); }
.badge-accent  { background: var(--badge-accent-bg);  color: var(--badge-accent-text); }

/* Source icon badge — icon-only in tables, full label on hover via tooltip */
.source-icon-badge { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: none; border-radius: var(--badge-radius); font-size: 13px; line-height: 1; cursor: default; position: relative; }
.source-icon-badge i { font-size: 13px; }
.source-icon-badge[data-tooltip]:hover::before { content: attr(data-tooltip); position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.8); color: white; padding: 4px 8px; border-radius: var(--radius-sm); font-size: var(--text-xs); white-space: nowrap; z-index: 9999; pointer-events: none; }

/* Email copy badge */
.email-copy-badge { cursor: pointer; position: relative; user-select: none; }
.email-copy-badge:hover { background: var(--badge-neutral-bg); filter: brightness(0.96); }
.email-copy-badge .copy-icon { display: none; font-size: 10px; opacity: 0.5; margin-left: 2px; }
.email-copy-badge:hover .copy-icon { display: inline; }
.email-copy-badge.copied { background: var(--badge-success-bg); color: var(--badge-success-text); }
.email-copy-badge.copied .email-text { display: none; }
.email-copy-badge.copied .copy-icon { display: none; }
.email-copy-badge.copied::after { content: 'Copied'; }

/**************************************** CARDS — Unified Flat Style *****************************************/
.card-section { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--card-radius); margin-bottom: var(--space-4); transition: var(--card-transition); }

/* Card Header */
.card-section-header { display: flex; align-items: center; justify-content: space-between; padding: var(--card-header-padding); border-bottom: 1px solid var(--card-border); }
.card-section-header h4, .card-section-header h5 { font-size: var(--text-base); font-weight: var(--weight-semibold); color: var(--color-text); margin: 0; }
.card-section-header .header-actions { display: flex; align-items: center; gap: 1rem; }

/* Card Body */
.card-section-body { padding: var(--card-padding); }

/* Row Spacing */
.card-section-body .row > [class*='col-'] { margin-bottom: 0.75rem; }

/* Form Field Spacing */
.form-group { margin-top: 1.25rem; }
.form-group:first-child { margin-top: 0; }

/* File Display in Cards */
.file-display { display: flex; align-items: center; gap: 1rem; }
.file-icon-wrapper { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: rgba(52, 67, 147, 0.1); border-radius: 8px; flex-shrink: 0; }
.file-details { min-width: 0; flex-grow: 1; }
.file-name { font-weight: 500; color: #1a1a1a; margin-bottom: 0.25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.file-meta { display: flex; align-items: center; gap: 1rem; color: var(--color-text-muted); }

/* Responsive Adjustments */
@media (max-width: 767px) {
    .card-section-header, .card-section-body { padding: 1rem; }
    .card-actions { flex-direction: column; }
    .card-actions .btn { width: 100%; }
}

.profile-card-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }

/* Settings Page: Profile Card */
.user-profile-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 2.5rem; text-align: center; margin-bottom: 1.5rem; }
.user-profile-avatar { margin-bottom: 1.5rem; }
.user-avatar-circle { width: 96px; height: 96px; background: linear-gradient(135deg, var(--dark-blue), #4557b9); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2.5rem; color: var(--white); margin: 0 auto; font-weight: 500; box-shadow: 0 4px 12px rgba(52, 67, 147, 0.2); }
.user-profile-info h3 { font-size: 1.5rem; font-weight: 600; color: #1a1a1a; margin-bottom: 0.5rem; }
.user-profile-username { color: var(--color-text-muted); font-size: 0.95rem; margin: 0; }

/* Modern Resource Links */
.resource-links-container { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.resource-link-card { display: flex; align-items: center; padding: var(--card-padding-compact); background: var(--card-bg); border-radius: var(--card-radius); border: 1px solid var(--card-border); transition: var(--card-transition); text-decoration: none; color: inherit; position: relative; overflow: hidden; }
.resource-link-card:hover { border-color: var(--card-border-hover); }
.resource-icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--card-radius); background: var(--color-primary-light); margin-right: 16px; flex-shrink: 0; color: var(--color-primary); font-size: 20px; }
.resource-content { flex: 1; }
.resource-content h5 { font-size: 16px; font-weight: 600; margin: 0 0 4px; color: #1a1a1a; transition: color 0.3s ease; }
.resource-content p { font-size: 13px; color: var(--color-text-muted); margin: 0; }
.resource-link-card:hover .resource-content h5 { color: var(--dark-blue); }
.resource-arrow { margin-left: 16px; opacity: 0.5; transition: all 0.3s ease; transform: translateX(-5px); }
.resource-link-card:hover .resource-arrow { opacity: 1; transform: translateX(0); }
@media (max-width: 767px) { .resource-links-container { grid-template-columns: 1fr; } }
@media (max-width: 991px) { .user-profile-card { margin-bottom: 2rem; } }

/**************************************** FIND LEADS CREATE FORM *****************************************/
.find-leads-form { position: relative; }
.search-info-section { margin-bottom: 2rem; }
.search-info-section .form-field-container { margin-bottom: 1.5rem; }
.search-info-section .form-field-container:last-child { margin-bottom: 0; }
.optional-text { font-size: 0.75rem; color: #9ca3af; font-weight: 400; margin-left: 0.25rem; }
.form-divider { margin: 2rem 0; border: none; border-top: 2px solid #e5e7eb; opacity: 0.3; }
.filter-groups-container { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 2rem; }
.filter-group { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--card-radius); padding: 0; overflow: hidden; transition: var(--card-transition); position: relative; }
.filter-group:hover { border-color: var(--card-border-hover); }
.filter-group-header { padding: var(--card-header-padding); background: var(--color-subtle); border-bottom: 1px solid var(--card-border); position: relative; }
.filter-group-title { font-size: 1.125rem; font-weight: 600; color: var(--dark-blue); margin: 0 0 0.5rem; display: flex; align-items: center; gap: 0.75rem; }
.filter-group-title i { font-size: 1.25rem; color: var(--dark-blue); opacity: 0.8; }
.filter-group-subtitle { font-size: 0.875rem; color: #6b7280; margin: 0; line-height: 1.4; }
.filter-group-fields { padding: 1.5rem; }
.form-field-container { margin-bottom: 1.5rem; position: relative; }
.form-field-container:last-child { margin-bottom: 0; }
.form-field-container.description-field { background: var(--color-subtle); border: 1px solid var(--card-border); border-radius: var(--card-radius); padding: var(--card-padding); margin-bottom: 2rem; }
.form-field-group { position: relative; }
.form-field-label { display: block; font-size: 0.875rem; font-weight: 600; color: #374151; margin-bottom: 0.75rem; line-height: 1.4; display: flex; align-items: center; gap: 0.5rem; }
.form-field-label i { font-size: 1rem; color: var(--dark-blue); opacity: 0.7; }
.input-container { position: relative; }
.find-leads-form .form-control { border: 2px solid #e5e7eb; border-radius: 8px; padding: 0.875rem 1rem; font-size: 0.875rem; line-height: 1.5; transition: all 0.2s ease; background: #ffffff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); }
.find-leads-form .form-control:focus { border-color: var(--dark-blue); box-shadow: 0 0 0 3px rgba(52, 67, 147, 0.1); outline: none; background: #ffffff; }
.find-leads-form .form-control:hover:not(:focus) { border-color: #d1d5db; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08); }
.textarea-container { position: relative; }
.textarea-container .form-control { min-height: 100px; resize: vertical; }
.checkbox-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; padding: 1.5rem; background: #ffffff; border-radius: 10px; border: 1px solid #e5e7eb; max-height: 220px; overflow-y: auto; }
.checkbox-container::-webkit-scrollbar { width: 4px; }
.checkbox-container::-webkit-scrollbar-track { background: #f8f9fa; border-radius: 4px; }
.checkbox-container::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.checkbox-container::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
.checkbox-container label { display: flex; align-items: center; padding: 0.5rem 0; cursor: pointer; transition: all 0.15s ease; font-size: 0.875rem; line-height: 1.4; background: transparent; border: none; border-radius: 4px; margin-bottom: 0.25rem; }
.checkbox-container label:hover { background: rgba(52, 67, 147, 0.05); padding-left: 0.5rem; padding-right: 0.5rem; }
.checkbox-container input[type="checkbox"] { margin-right: 0.625rem; transform: scale(1); accent-color: var(--dark-blue); width: 16px; height: 16px; }
.checkbox-container input[type="checkbox"]:checked + span { color: var(--dark-blue); font-weight: 500; }
.checkbox-container label:has(input[type="checkbox"]:checked) { background: rgba(52, 67, 147, 0.05); padding-left: 0.5rem; padding-right: 0.5rem; }
.single-checkbox-container { background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; transition: all 0.2s ease; cursor: pointer; }
.single-checkbox-container:hover { background: #f1f3f4; border-color: #d6d9dc; }
.single-checkbox-label { display: flex; align-items: center; cursor: pointer; margin: 0; font-size: 0.875rem; line-height: 1.4; padding: 1rem; width: 100%; }
.single-checkbox-label input[type="checkbox"] { margin-right: 0.75rem; transform: scale(1.2); }
.checkbox-text { color: #374151; font-weight: 500; }
.boolean-filters-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem; }
.form-actions { display: flex; justify-content: flex-end; align-items: center; padding: 2rem 0 1rem; border-top: 1px solid #e5e7eb; margin-top: 2rem; gap: 1rem; }
.form-field-error { color: var(--color-danger-text); font-size: 0.75rem; margin-top: 0.5rem; display: flex; align-items: center; gap: 0.375rem; }
.form-field-error::before { content: '⚠'; font-size: 0.875rem; }
.find-leads-form select.form-control { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%233d4f7c' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); background-size: 16px 12px; padding-right: 2.5rem; }
@media (max-width: 991px) { .filter-groups-container { grid-template-columns: 1fr; gap: 1.5rem; } .filter-group-header { padding: 1.25rem 1.25rem 0.75rem; } .filter-group-fields { padding: 1.25rem; } .checkbox-container { grid-template-columns: 1fr; } .boolean-filters-row { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .filter-group-header { padding: 1rem 1rem 0.75rem; } .filter-group-fields { padding: 1rem; } .form-field-container.description-field { padding: 1rem; margin-bottom: 1.5rem; } .form-actions { flex-direction: column; align-items: stretch; padding: 1.5rem 0; } .form-actions .btn { width: 100%; margin-bottom: 0.5rem; } .form-actions .btn:last-child { margin-bottom: 0; } }
.find-leads-form.loading { pointer-events: none; opacity: 0.7; }
.find-leads-form.loading::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 255, 255, 0.8); display: flex; align-items: center; justify-content: center; z-index: 10; }
.filter-group { animation: slideInUp 0.6s ease forwards; }
.filter-group:nth-child(2) { animation-delay: 0.1s; }
@keyframes slideInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.find-leads-form *:focus { outline: 2px solid transparent; outline-offset: 2px; }
/* Filter Reset Section */
.filter-reset-section { margin: 1.5rem 0 2rem; padding: var(--card-padding); background: var(--color-subtle); border: 1px solid var(--card-border); border-radius: var(--card-radius); }
.filter-reset-container { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.filter-reset-content { flex: 1; }
.filter-reset-title { font-size: 1rem; font-weight: 600; color: var(--dark-blue); margin: 0 0 0.25rem; display: flex; align-items: center; gap: 0.5rem; }
.filter-reset-title i { font-size: 1.125rem; opacity: 0.8; }
.filter-reset-subtitle { font-size: 0.875rem; color: #6b7280; margin: 0; line-height: 1.4; }
.filter-reset-actions { flex-shrink: 0; }
.reset-filters-btn { background-color: var(--btn-secondary-bg); color: var(--btn-secondary-text); border: 1px solid var(--btn-secondary-border); font-weight: var(--btn-font-weight); transition: var(--btn-transition); }
.reset-filters-btn:hover { background-color: var(--btn-secondary-bg-hover); border-color: var(--btn-secondary-border-hover); color: var(--btn-secondary-text); }
@media (max-width: 767px) { .filter-reset-container { flex-direction: column; align-items: stretch; text-align: center; gap: 1rem; } .filter-reset-actions { align-self: stretch; } .reset-filters-btn { width: 100%; justify-content: center; } }
/* ============================================
   MODERN LEAD GENERATION FORM STYLES
   ============================================ */
.modern-lead-form { animation: fadeInUp 0.5s ease-out; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.modern-label { font-size: 0.9375rem; font-weight: 600; color: var(--modern-text-dark); margin-bottom: 0.75rem; display: flex; align-items: center; gap: 0.5rem; }
.modern-label i { color: var(--modern-primary); font-size: 1rem; }
.modern-input { border: 2px solid var(--modern-border); border-radius: 12px; padding: 0.875rem 1.125rem; font-size: 1rem; color: var(--modern-text-dark); transition: all 0.3s ease; background: var(--white); }
.modern-input:focus { border-color: var(--modern-primary); box-shadow: 0 0 0 4px var(--modern-primary-light); outline: none; }
.modern-input::placeholder { color: var(--modern-text-muted); }
.textarea-container.modern-textarea textarea, .modern-textarea textarea.form-control { border: 2px solid var(--modern-border); border-radius: 12px; padding: 1rem 1.125rem; font-size: 1rem; color: var(--modern-text-dark); transition: all 0.3s ease; background: var(--white); line-height: 1.6; resize: vertical; min-height: 180px; }
.textarea-container.modern-textarea textarea:focus, .modern-textarea textarea.form-control:focus { border-color: var(--modern-primary); box-shadow: 0 0 0 4px var(--modern-primary-light); outline: none; }
.textarea-container.modern-textarea textarea::placeholder, .modern-textarea textarea.form-control::placeholder { color: var(--modern-text-muted); line-height: 1.8; }
.form-field-container.focused { transform: scale(1.01); }
.character-counter, .word-counter { font-size: 0.8125rem; color: var(--modern-text-muted); margin-top: 0.5rem; display: flex; align-items: center; gap: 0.25rem; font-weight: 500; transition: all 0.3s ease; }
.character-counter.hidden { display: none; }
.character-counter .current, .word-counter .current { color: var(--modern-primary); font-weight: 600; }
.character-counter.warning { color: var(--color-warning); }
.character-counter.warning .current { color: var(--color-warning); }
.character-counter.error { color: var(--color-danger-text); }
.character-counter.error .current { color: var(--color-danger-text); font-weight: 700; }
.modern-actions { display: flex; gap: 1rem; justify-content: flex-end; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--modern-border-light); }
.form-text { font-size: 0.875rem; color: var(--modern-text-muted); margin-top: 0.75rem; display: flex; align-items: flex-start; gap: 0.5rem; line-height: 1.5; }
.form-text i { color: var(--modern-primary); margin-top: 0.125rem; }
.form-field-error { color: var(--color-danger-text); font-size: 0.875rem; margin-top: 0.5rem; display: flex; align-items: center; gap: 0.375rem; }
.form-field-error::before { content: '⚠'; font-size: 1rem; }
@media (max-width: 767px) { .modern-actions { flex-direction: column-reverse; } .modern-actions .btn { width: 100%; justify-content: center; } }
.section-loading { opacity: 0.6; pointer-events: none; position: relative; }
.section-loading::after { content: ''; position: absolute; top: 50%; left: 50%; width: 32px; height: 32px; margin: -16px 0 0 -16px; border: 3px solid var(--modern-border); border-top: 3px solid var(--modern-primary); border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* Search Criteria JSON Viewer */
.search-criteria-json-viewer { background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 1.25rem; max-height: 500px; overflow-y: auto; position: relative; }
.search-criteria-json-viewer pre { margin: 0; font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Courier, monospace; font-size: 0.875rem; line-height: 1.6; color: #212529; white-space: pre-wrap; word-wrap: break-word; padding-right: 50px; }
.search-criteria-json-viewer code { background: transparent; padding: 0; color: inherit; font-size: inherit; }
/* JSON Copy Button */
.json-copy-btn { position: absolute; top: 12px; right: 12px; background: rgba(255, 255, 255, 0.9); border: 1px solid #dee2e6; border-radius: 6px; padding: 8px 10px; font-size: 14px; color: #6c757d; cursor: pointer; transition: all 0.2s ease; backdrop-filter: blur(4px); z-index: 10; }
.json-copy-btn:hover { background: rgba(255, 255, 255, 1); color: var(--dark-blue); border-color: var(--dark-blue); transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); }
.json-copy-btn.copied { background: var(--btn-success-bg); color: white; border-color: var(--btn-success-bg); }
.search-criteria-json-viewer::-webkit-scrollbar { width: 6px; }
.search-criteria-json-viewer::-webkit-scrollbar-track { background: #f1f3f5; border-radius: 3px; }
.search-criteria-json-viewer::-webkit-scrollbar-thumb { background: #adb5bd; border-radius: 3px; }
.search-criteria-json-viewer::-webkit-scrollbar-thumb:hover { background: #868e96; }
@media (max-width: 767px) { .search-criteria-json-viewer { max-height: 300px; padding: 1rem; } .search-criteria-json-viewer pre { font-size: 0.8125rem; padding-right: 45px; } .json-copy-btn { top: 10px; right: 10px; padding: 6px 8px; font-size: 12px; } }


.error-banner { background: var(--color-danger-light); border: 1px solid #fecaca; border-radius: var(--card-radius); padding: var(--card-padding); display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 2rem; }
.error-icon { width: 40px; height: 40px; border-radius: 8px; background: rgba(220, 53, 69, 0.1); display: flex; align-items: center; justify-content: center; color: #dc3545; font-size: 1.25rem; flex-shrink: 0; }
.error-content { flex: 1; }
.error-title { font-size: 1rem; font-weight: 600; color: var(--color-danger-text); margin-bottom: 0.25rem; }
.error-message { font-size: 0.875rem; color: #7f1d1d; line-height: 1.5; }
.content-area { position: relative; min-height: 400px; }

.processing-container { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4rem 2rem; text-align: center; min-height: 500px; }
.processing-animation { position: relative; width: 140px; height: 140px; margin-bottom: 3rem; }
.spinner-ring { position: absolute; border: 4px solid transparent; border-radius: 50%; top: 0; left: 0; animation: spin 3s linear infinite; }
.ring-1 { width: 140px; height: 140px; border-top: 4px solid #ffa32b; animation-duration: 3s; }
.ring-2 { width: 100px; height: 100px; border-top: 4px solid #3d4f7c; animation-duration: 2s; animation-direction: reverse; top: 20px; left: 20px; }
.ring-3 { width: 60px; height: 60px; border-top: 4px solid #36c76c; animation-duration: 1.5s; top: 40px; left: 40px; }
.processing-pulse { position: absolute; width: 50px; height: 50px; background: linear-gradient(45deg, #3d4f7c, #4a5d8a); border-radius: 50%; animation: pulse 2s ease-in-out infinite; top: 45px; left: 45px; }
.processing-pulse::before { content: ''; position: absolute; width: 24px; height: 24px; background: var(--color-surface); border-radius: 50%; top: 13px; left: 13px; }
.processing-content { max-width: 600px; }
.processing-title { font-size: 2rem; font-weight: 600; color: var(--color-primary); margin-bottom: 1.5rem; display: flex; align-items: center; justify-content: center; }
.processing-description { font-size: 1.125rem; color: #6b7280; margin-bottom: 3rem; line-height: 1.6; }
.processing-steps { display: flex; flex-direction: column; gap: 0; max-width: 500px; margin: 0 auto; text-align: left; }
.step-item { display: flex; align-items: flex-start; gap: 1.25rem; padding: 1.5rem 0; position: relative; transition: all 0.3s ease; }
.step-item:not(:last-child)::after { content: ''; position: absolute; left: 28px; top: 70px; width: 2px; height: calc(100% - 30px); background: #e5e7eb; transition: background 0.3s ease; }
.step-item.active:not(:last-child)::after { background: linear-gradient(to bottom, #ffa32b, #e5e7eb); }
.step-item.completed:not(:last-child)::after { background: #36c76c; }
.step-indicator { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1.5rem; position: relative; z-index: 2; transition: all 0.3s ease; }
.step-item .step-indicator { background: #f3f4f6; color: #9ca3af; border: 3px solid #e5e7eb; }
.step-item.active .step-indicator { background: #fff5e6; color: #ffa32b; border: 3px solid #ffa32b; box-shadow: 0 0 0 6px rgba(255, 163, 43, 0.1); }
.step-item.completed .step-indicator { background: #dcfce7; color: #36c76c; border: 3px solid #36c76c; }
.step-spinner { animation: spin 1s linear infinite; }
.step-content { flex: 1; padding-top: 0.5rem; }
.step-title { font-size: 1.125rem; font-weight: 600; color: #374151; margin-bottom: 0.5rem; transition: color 0.3s ease; }
.step-item.active .step-title { color: var(--color-primary); }
.step-item.completed .step-title { color: #059669; }
.step-description { font-size: 0.9375rem; color: #6b7280; line-height: 1.5; }
.step-item.active .step-description { color: #4b5563; }


.completion-container { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4rem 2rem; text-align: center; min-height: 400px; }
.completion-animation i { font-size: 5rem; color: #36C76C; animation: bounce 1s ease-in-out; }
.completion-title { font-size: 2rem; font-weight: 600; color: #059669; margin: 2rem 0 1rem; }
.completion-description { font-size: 1.125rem; color: #6b7280; margin-bottom: 2rem; line-height: 1.6; }
.completion-notice { background: #e0f2fe; border: 1px solid #81d4fa; border-radius: var(--card-radius); padding: var(--card-padding); color: #0277bd; font-size: 0.9375rem; display: flex; align-items: center; justify-content: center; max-width: 500px; }

.failure-container { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2.5rem 2rem; text-align: center; min-height: 300px; }
.failure-animation i { font-size: 3.5rem; color: #dc3545; animation: shake 0.5s ease-in-out; }
.failure-title { font-size: 1.5rem; font-weight: 600; color: var(--color-danger-text); margin: 1.5rem 0 0.75rem; }
.failure-description { font-size: 1rem; color: #6b7280; margin-bottom: 1.5rem; line-height: 1.5; max-width: 500px; }
.failure-actions { margin-top: 0.5rem; }



.draft-container { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4rem 2rem; text-align: center; min-height: 400px; }
.draft-animation i { font-size: 5rem; color: #6c757d; opacity: 0.7; }
.draft-title { font-size: 2rem; font-weight: 600; color: #495057; margin: 2rem 0 1rem; }
.draft-description { font-size: 1.125rem; color: #6b7280; line-height: 1.6; }
.criteria-container { padding: 1.5rem 2rem; }
.criteria-header { margin-bottom: 1.5rem; }
.criteria-header h4 { font-size: 1.125rem; font-weight: 600; color: var(--dark-blue); margin: 0; display: flex; align-items: center; }
.criteria-content { max-width: 100%; }
.criteria-json-viewer { background: var(--color-subtle); border: 1px solid var(--card-border); border-radius: var(--card-radius); padding: var(--card-padding); max-height: 500px; overflow: hidden; position: relative; }
.criteria-json-viewer pre { margin: 0; font-family: 'SF Mono', 'Roboto Mono'; font-size: 0.8125rem; line-height: 1.5; color: #374151; white-space: pre-wrap; word-wrap: break-word; padding-right: 50px; max-height: 460px; overflow-y: auto; padding-bottom: 0.5rem; }
.criteria-json-viewer code { background: transparent; padding: 0; color: inherit; font-size: inherit; }
.criteria-json-viewer pre::-webkit-scrollbar { width: 6px; }
.criteria-json-viewer pre::-webkit-scrollbar-track { background: transparent; }
.criteria-json-viewer pre::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
.criteria-json-viewer pre::-webkit-scrollbar-thumb:hover { background: #94a3b8; }


@keyframes spin { 
    0% { transform: rotate(0deg); } 
    100% { transform: rotate(360deg); } 
}

@keyframes pulse { 
    0% { opacity: 0.6; transform: scale(1); } 
    50% { opacity: 1; transform: scale(1.05); } 
    100% { opacity: 0.6; transform: scale(1); } 
}

/* Media queries */
@media (max-width: 991px) { 
    .processing-container, .completion-container, .failure-container, .draft-container { padding: 2.5rem 1.5rem; min-height: 280px; } 
    .processing-title, .completion-title, .failure-title, .draft-title { font-size: 1.375rem; } 
    
    .processing-animation { width: 120px; height: 120px; }
    .ring-1 { width: 120px; height: 120px; }
    .ring-2 { width: 90px; height: 90px; top: 15px; left: 15px; }
    .ring-3 { width: 60px; height: 60px; top: 30px; left: 30px; }
    .processing-pulse { top: 35px; left: 35px; }
}

@media (max-width: 767px) { 
    .processing-container, .completion-container, .failure-container, .draft-container { padding: 2rem 1rem; min-height: 250px; } 
    .processing-title, .completion-title, .failure-title, .draft-title { font-size: 1.25rem; flex-direction: column; gap: 0.5rem; } 
    .processing-description, .completion-description, .failure-description, .draft-description { font-size: 0.9375rem; } 
    
    .processing-animation { width: 100px; height: 100px; }
    .ring-1 { width: 100px; height: 100px; }
    .ring-2 { width: 75px; height: 75px; top: 12.5px; left: 12.5px; }
    .ring-3 { width: 50px; height: 50px; top: 25px; left: 25px; }
    .processing-pulse { width: 40px; height: 40px; top: 30px; left: 30px; }
    .processing-pulse::before { width: 20px; height: 20px; top: 10px; left: 10px; }
}


/**************************************** LINEAR DESIGN SYSTEM - PROGRESS/CREDIT TRACKER *****************************************/
.page-header .progress-container, .header-actions .progress-container { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.page-header .custom-progress.progress, .header-actions .custom-progress.progress { width: 120px; height: 4px; background: var(--color-border); border-radius: 2px; overflow: hidden; margin: 0; }
.page-header .custom-progress.progress .progress-bar, .header-actions .custom-progress.progress .progress-bar { background: var(--color-primary); border-radius: 2px; transition: width 0.3s ease; }
.page-header .progress-count, .header-actions .progress-count { font-size: 12px; font-weight: 500; color: var(--color-text-muted); font-family: inherit; letter-spacing: 0; }

/**************************************** LINEAR DESIGN SYSTEM - FILE DISPLAY *****************************************/
.file-display { display: flex; align-items: center; gap: 12px; padding: 12px 0; }
.file-icon-wrapper { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: var(--color-hover); border-radius: 8px; flex-shrink: 0; }
.file-icon-wrapper i { color: var(--color-text) !important; font-size: 18px !important; }
.file-details { flex: 1; }
.file-name { font-size: 14px; font-weight: 500; color: var(--color-text); margin-bottom: 4px; }
.file-meta { display: flex; align-items: center; gap: 12px; font-size: 13px; color: var(--color-text-muted); }
.status-wrapper { flex-shrink: 0; }

/* (Pagination styles defined above in PAGINATION section — no duplicate needed) */

/* (Card styles defined above in CARDS section — no duplicate needed) */

/**************************************** LINEAR DESIGN SYSTEM - NAV PILLS/TABS *****************************************/
.nav-pills { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: none; margin-bottom: 20px !important; }
.nav-pills .nav-link { color: var(--color-text-muted); background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: 8px; margin-right: 0; padding: 10px 16px; font-size: 13px; font-weight: 500; font-family: inherit; transition: all 0.15s ease; position: relative; overflow: hidden; }
.nav-pills .nav-link:before { display: none; }
.nav-pills .nav-link:hover:not(.active) { color: var(--color-text); background-color: var(--color-subtle); border-color: var(--color-border-hover); transform: none; box-shadow: none; }
.nav-pills .nav-link.active { color: var(--color-primary); background-color: var(--color-surface); border-color: var(--color-primary); box-shadow: none; }
.nav-pills .nav-link.active:before { display: none; }
.nav-pills .nav-link.active .tabs-content span { color: var(--color-primary); font-weight: 600; }
.nav-pills .nav-link:active { transform: none; }
.tabs-content span { font-size: 13px; color: inherit; font-weight: 500; line-height: 1.4; font-family: inherit; }
.tabs-content small { font-size: 11px; color: var(--color-text-placeholder); font-weight: 400; }
.nav-pills .nav-link.active .tabs-content small { color: var(--color-text-muted); }
@media (min-width: 768px) and (max-width: 991px) { .nav-pills { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 8px; } .nav-pills .nav-link { flex-shrink: 0; } }
@media (max-width: 767px) { .nav-pills { display: flex; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 8px; -webkit-overflow-scrolling: touch; } .nav-pills .nav-link { flex-shrink: 0; white-space: nowrap; } }

/**************************************** LINEAR DESIGN SYSTEM - ACTION DROPDOWNS *****************************************/
/* Action Button - Three dots trigger */
.action-btn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 6px;
    color: var(--color-text-placeholder);
    transition: all 0.15s ease;
    cursor: pointer;
}
.action-btn:hover {
    background: var(--color-hover);
    color: var(--color-text-secondary);
}
.action-btn:focus {
    outline: none;
    box-shadow: none;
}
.action-btn i {
    font-size: 16px;
}

/* Action Dropdown Menu */
.action-dropdown {
    min-width: 180px;
    padding: 6px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-dropdown);
    z-index: 9999;
    animation: actionDropdownFade 0.12s ease-out;
}
@keyframes actionDropdownFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Overflow fixes for dropdown visibility */
.card-section-body { overflow: visible !important; }
.card-section { overflow: visible !important; }

/* Dropdown Items */
.action-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-secondary);
    border-radius: 6px;
    transition: all 0.1s ease;
    border: none;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    width: 100%;
}
.action-dropdown .dropdown-item:hover {
    background: var(--color-hover);
    color: var(--color-text);
    text-decoration: none;
}
.action-dropdown .dropdown-item:active {
    background: var(--color-border);
}

/* Dropdown Item Icons */
.action-dropdown .dropdown-item i {
    width: 16px;
    font-size: 14px;
    color: var(--color-text-muted);
    text-align: center;
    flex-shrink: 0;
    transition: color 0.1s ease;
}
.action-dropdown .dropdown-item:hover i {
    color: var(--color-text-secondary);
}

/* Dropdown Divider */
.action-dropdown .dropdown-divider {
    margin: 4px 0;
    border: none;
    height: 1px;
    background: #f0f0f0;
}

/* Danger Item (Delete) */
.action-dropdown .dropdown-item.text-danger,
.action-dropdown .dropdown-item[class*="danger"] {
    color: var(--color-danger-text);
}
.action-dropdown .dropdown-item.text-danger:hover,
.action-dropdown .dropdown-item[class*="danger"]:hover {
    background: var(--color-danger-light);
    color: #b91c1c;
}
.action-dropdown .dropdown-item.text-danger i,
.action-dropdown .dropdown-item[class*="danger"] i {
    color: var(--color-danger-text);
}

/* Button inside dropdown (for delete forms) */
.action-dropdown button.dropdown-item {
    text-align: left;
}


/* Mobile Action Dropdown - bottom sheet style */
@media (max-width: 767px) {
    .action-dropdown {
        position: fixed !important;
        top: auto !important;
        bottom: 20px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: calc(100% - 32px) !important;
        max-width: 280px;
        border-radius: var(--radius-lg);
        padding: var(--space-2);
        box-shadow: var(--shadow-modal);
        margin-bottom: 0 !important;
    }
    .action-dropdown .dropdown-item {
        padding: var(--space-3) var(--space-4);
        font-size: var(--text-base);
        border-radius: var(--radius-md);
    }
}

/**************************************** LINEAR DESIGN SYSTEM - MISC *****************************************/
.bg-light.border.rounded { background: var(--color-subtle) !important; border: 1px solid var(--color-border) !important; border-radius: 8px !important; padding: 12px 16px !important; }
.alpha-status-pill { position: fixed; bottom: 15px; right: 15px; background-color: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 10px 16px; display: flex; align-items: center; font-size: var(--badge-font-size); box-shadow: none; z-index: 1000; transition: all var(--transition-fast); max-width: 100%; }
.alpha-status-pill:hover { box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); }
.alpha-pill-text { color: var(--color-text-muted); font-weight: 400; }
.alpha-report-link { color: var(--color-primary); font-weight: var(--weight-medium); text-decoration: none; white-space: nowrap; }
.alpha-report-link:hover { text-decoration: underline; }
@media (max-width: 767px) { .alpha-status-pill { bottom: 10px; right: 10px; left: 10px; width: auto; justify-content: center; } }
.started-box { background: var(--color-subtle); border-radius: 8px; padding: 24px; border: 1px solid var(--color-border); }
.started-box h4 { font-size: 14px; font-weight: 500; color: var(--color-text); margin-bottom: 16px; }

/**************************************** WELCOME MODAL *****************************************/
.onloadModal .modal-content { border-radius: var(--radius-lg); border: 1px solid var(--color-border); box-shadow: var(--shadow-modal); }
.modal-step-list ul { padding-left: 0; list-style: none; }
.modal-step-list ul li { font-size: var(--text-base); color: var(--color-text-secondary); padding: 8px 0; padding-left: 20px; position: relative; }
.modal-step-list ul li:before { content: ""; position: absolute; left: 0; top: 14px; width: 6px; height: 6px; background: var(--color-text); border-radius: 50%; }
.modal-step-list ul li strong { color: var(--color-text); font-weight: var(--weight-medium); }

/**************************************** UNIFIED DASHBOARD - FILTER DROPDOWNS *****************************************/
.toolbar-filters {
    display: flex;
    align-items: center;
    gap: 8px;
}
.filter-dropdown {
    position: relative;
}
.filter-dropdown-btn {
    font-size: 13px;
    padding: 6px 10px;
    border-radius: 6px;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-text-muted);
    font-weight: 500;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    line-height: 1.4;
}
.filter-dropdown-btn:hover {
    background: var(--color-hover);
    border-color: var(--color-border-hover);
    color: var(--color-text);
}
.filter-dropdown-btn.active {
    background: #f0f4fa;
    border-color: var(--color-primary);
    color: var(--color-primary);
}
.filter-dropdown-btn .filter-label {
    white-space: nowrap;
}
.filter-dropdown-btn i.bi-chevron-down {
    font-size: 10px;
    opacity: 0.5;
    margin-left: 2px;
}
.toolbar-filters .dropdown-menu {
    min-width: 130px;
    padding: 4px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    margin-top: 4px;
}
.toolbar-filters .dropdown-item {
    font-size: 13px;
    padding: 8px 12px;
    border-radius: 4px;
    color: var(--color-text-secondary);
}
.toolbar-filters .dropdown-item:hover {
    background: var(--color-hover);
    color: var(--color-text);
}
.toolbar-filters .dropdown-item.active {
    background: #f0f4fa;
    color: var(--color-primary);
    font-weight: 500;
}

/**************************************** UNIFIED DASHBOARD - TRACKING BUTTON *****************************************/
.add-tracking-btn { padding: 4px 10px; font-size: 12px; border-radius: 4px; background: var(--color-surface); border: 1px solid var(--color-border); color: var(--color-text-muted); cursor: pointer; transition: all 0.15s; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; }
.add-tracking-btn:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-surface); }
.add-tracking-btn.tracking-active { background: var(--color-success-light); border-color: #bbf7d0; color: var(--color-success-text); cursor: default; pointer-events: none; }
.add-tracking-btn i { font-size: 12px; }

/**************************************** UNIFIED DASHBOARD - QUICK STATS *****************************************/
.quick-stats-row { display: flex; gap: 16px; flex-wrap: wrap; }
.quick-stat-card { display: flex; flex-direction: column; padding: var(--card-padding-compact) var(--card-padding); background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--card-radius); text-decoration: none; transition: var(--card-transition); min-width: 120px; }
.quick-stat-card:hover { border-color: var(--card-border-hover); text-decoration: none; }
.quick-stat-card.active { border-color: var(--color-primary); background: var(--color-subtle); }
.stat-count { font-size: 24px; font-weight: 600; color: var(--color-text); }
.stat-label { font-size: 13px; color: var(--color-text-muted); }

/**************************************** UNIFIED DASHBOARD - FILTER PILLS *****************************************/
.filter-pill.source-pill { background: #eff6ff; }
.filter-pill.workflow-pill { background: var(--color-success-light); }

/**************************************** TABLE - EXTRA COLUMN WIDTHS *****************************************/
.col-tracking { width: 90px; min-width: 90px; }
/* Import history columns */
/* Import history columns */
.col-file { min-width: 200px; }
.col-uploaded { min-width: 120px; }
.col-status { min-width: 80px; }
.col-contacts { min-width: 120px; }
/* Find leads columns */
.col-description { min-width: 200px; }
.col-results { min-width: 100px; }
.col-created { min-width: 120px; }

/**************************************** FIND LEADS DETAIL - INLINE STYLES MIGRATED *****************************************/
/* Search Info Bar */
.search-info-bar { display: flex; align-items: center; justify-content: space-between; padding: var(--space-4) var(--space-5); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); margin-bottom: var(--space-4); }
.search-info-left { display: flex; align-items: center; gap: var(--space-8); }
.search-info-right { display: flex; align-items: center; gap: var(--space-3); }
.search-info-item { display: flex; flex-direction: column; gap: var(--space-1); }
.search-info-label { font-size: 11px; font-weight: var(--weight-medium); color: var(--color-text-disabled); text-transform: uppercase; letter-spacing: 0.5px; }
.search-info-value { font-size: var(--text-base); font-weight: var(--weight-medium); color: var(--color-text); }

/* Search Description Card */
.search-description-card { background: var(--card-bg-subtle); border: 1px solid var(--card-border); border-radius: var(--card-radius); padding: var(--card-header-padding); margin-bottom: var(--space-6); }
.search-description-label { font-size: var(--text-xs); font-weight: var(--weight-medium); color: var(--color-text-muted); margin-bottom: var(--space-2); display: flex; align-items: center; gap: 6px; }
.search-description-text { font-size: var(--text-base); color: var(--color-text); line-height: var(--leading-loose); }

/* State Cards */
.status-content-area { margin-top: var(--space-6); }
.state-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--card-radius); padding: var(--space-12) var(--space-8); text-align: center; max-width: 600px; margin: 0 auto; }
.state-icon { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; font-size: 28px; }
.state-icon-success { background: var(--color-success-light); color: var(--color-success-text); border: 1px solid #bbf7d0; }
.state-icon-error { background: var(--color-danger-light); color: var(--color-danger-text); border: 1px solid #fecaca; }
.state-icon-neutral { background: var(--color-hover); color: var(--color-text-muted); border: 1px solid var(--color-border); }
.state-title { font-size: var(--text-xl); font-weight: var(--weight-semibold); color: var(--color-text); margin-bottom: var(--space-2); }
.state-description { font-size: var(--text-base); color: var(--color-text-muted); margin-bottom: var(--space-6); max-width: 400px; margin-left: auto; margin-right: auto; }
.state-actions { display: flex; justify-content: center; gap: var(--space-3); flex-wrap: wrap; }
.state-actions .btn-lg { padding: 12px 20px; font-size: var(--text-base); }
.state-notice { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); background: var(--color-subtle); border: 1px solid var(--color-border); border-radius: var(--radius-lg); font-size: var(--text-sm); color: var(--color-text-muted); }

/* Processing Spinner */
.state-spinner { width: 64px; height: 64px; margin: 0 auto var(--space-6); position: relative; }
.state-spinner .spinner-ring { width: 100%; height: 100%; border: 3px solid var(--color-border); border-top-color: var(--color-primary); border-radius: 50%; animation: spin 1s linear infinite; }

/* Progress Steps */
.progress-steps { display: inline-flex; flex-direction: column; gap: 0; margin: var(--space-8) auto 0; text-align: left; }
.progress-step { display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-3) 0; position: relative; }
.progress-step:not(:last-child)::after { content: ''; position: absolute; left: 15px; top: 44px; width: 2px; height: calc(100% - 20px); background: var(--color-border); }
.progress-step.completed:not(:last-child)::after { background: var(--color-success-text); }
.progress-step.active:not(:last-child)::after { background: linear-gradient(to bottom, var(--color-primary), var(--color-border)); }
.step-icon { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: var(--text-base); flex-shrink: 0; background: var(--color-hover); color: var(--color-text-placeholder); border: 1px solid var(--color-border); position: relative; z-index: 1; }
.progress-step.completed .step-icon { background: var(--color-success-light); color: var(--color-success-text); border-color: #bbf7d0; }
.progress-step.active .step-icon { background: var(--color-surface); color: var(--color-primary); border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-light); }
.step-info { flex: 1; padding-top: var(--space-1); }
.step-name { font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text); }
.step-detail { font-size: var(--text-xs); color: var(--color-text-disabled); }
.progress-step.active .step-name { color: var(--color-primary); }

/* Completed Header Banner */
.completed-header { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-5) var(--space-6); background: var(--color-success-light); border: 1px solid #bbf7d0; border-radius: var(--radius-lg); margin-bottom: var(--space-6); }
.completed-header.dismissed { display: none; }
.completed-header-icon { width: 48px; height: 48px; border-radius: 50%; background: #dcfce7; color: var(--color-success-text); display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
.completed-header-content { flex: 1; }
.completed-header-title { font-size: var(--text-md); font-weight: var(--weight-semibold); color: var(--color-success-text); margin: 0 0 4px 0; }
.completed-header-description { font-size: var(--text-base); color: #166534; margin: 0; }
.completed-header-actions { display: flex; align-items: center; gap: var(--space-2); }

/* Monitor All Button */
.btn-monitor-all { display: inline-flex; align-items: center; gap: 6px; padding: var(--btn-padding-default); font-size: var(--btn-font-default); font-weight: var(--btn-font-weight); color: var(--btn-success-text); background: var(--btn-success-bg); border: none; border-radius: var(--btn-radius); cursor: pointer; transition: var(--btn-transition); }
.btn-monitor-all:hover { background: var(--btn-success-bg-hover); }
.btn-monitor-all i { font-size: 14px; }
.btn-dismiss-banner { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 0; background: transparent; border: none; border-radius: var(--radius-sm); color: var(--color-success-text); cursor: pointer; opacity: 0.6; transition: all var(--transition-fast); }
.btn-dismiss-banner:hover { background: rgba(21, 128, 61, 0.1); opacity: 1; }
.results-section { margin-top: 0; }

/* Curated Notice */
.curated-notice { display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-4) var(--space-5); background: #eff6ff; border: 1px solid #bfdbfe; border-radius: var(--radius-lg); color: #1e40af; font-size: var(--text-sm); }
.curated-notice i { font-size: 18px; flex-shrink: 0; margin-top: 2px; }

/* Monitoring Modal */
.monitoring-modal { border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-modal); }
.monitoring-modal-header { display: flex; justify-content: space-between; align-items: flex-start; padding: var(--space-6) var(--space-6) 0; }
.monitoring-modal-icon { width: 48px; height: 48px; border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; }
.monitoring-modal-icon i { font-size: 22px; color: var(--color-surface); }
.monitoring-modal-icon.start { background: var(--color-success); }
.monitoring-modal-body { padding: var(--space-5) var(--space-6); }
.monitoring-modal-body h3 { font-size: var(--text-xl); font-weight: var(--weight-semibold); color: var(--color-text); margin: 0 0 4px; }
.monitoring-subtitle { font-size: var(--text-base); color: var(--color-text-muted); margin: 0 0 var(--space-5); }
.monitoring-subtitle strong { color: var(--color-text); }

/* Signals Explainer */
.monitoring-explainer { display: flex; gap: var(--space-2); margin-bottom: var(--space-5); flex-wrap: wrap; }
.explainer-item { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; background: var(--color-hover); border-radius: 20px; font-size: var(--text-xs); font-weight: var(--weight-medium); color: var(--color-text-secondary); }
.explainer-item i { font-size: var(--text-xs); color: var(--color-text-muted); }
.explainer-item.coming-soon { background: var(--color-subtle); color: var(--color-text-placeholder); }

/* Frequency Options */
.monitoring-form-section { margin-bottom: var(--space-5); }
.monitoring-label { display: block; font-size: var(--text-xs); font-weight: var(--weight-semibold); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 10px; }
.frequency-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
.frequency-option { cursor: pointer; }
.frequency-option input { display: none; }
.frequency-card { display: flex; flex-direction: column; align-items: center; padding: var(--space-3) var(--space-2); background: var(--card-bg-subtle); border: 2px solid var(--card-border); border-radius: var(--card-radius); transition: var(--card-transition); }
.frequency-option:hover .frequency-card { border-color: var(--card-border-hover); background: var(--color-hover); }
.frequency-option input:checked + .frequency-card { background: var(--color-primary-light); border-color: var(--color-primary); }
.frequency-name { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--color-text); }
.frequency-desc { font-size: 11px; color: var(--color-text-muted); margin-top: 2px; }
.frequency-option input:checked + .frequency-card .frequency-desc { color: var(--color-primary); }

/* Credit Preview Box */
.monitoring-credit-preview { background: var(--color-subtle); border-radius: var(--radius-lg); padding: var(--space-4); }
.credit-preview-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-3); font-size: var(--text-xs); font-weight: var(--weight-semibold); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.credit-balance-pill { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 20px; font-size: var(--text-xs); font-weight: var(--weight-semibold); color: var(--color-success); text-transform: none; }
.credit-preview-details { background: var(--color-surface); border-radius: var(--radius-lg); padding: 4px 0; }
.preview-row { display: flex; justify-content: space-between; align-items: center; padding: var(--space-2) var(--space-3); font-size: var(--text-sm); }
.preview-row span:first-child { color: var(--color-text-muted); }
.preview-row span:last-child { color: var(--color-text); font-weight: var(--weight-medium); }
.preview-row.highlight { background: #f0f9ff; border-radius: var(--radius-md); margin: 4px; }
.preview-row.highlight span:last-child { color: #2563eb; font-weight: var(--weight-semibold); }

/* Modal Footer */
.monitoring-modal-footer { display: flex; justify-content: flex-end; gap: 10px; padding: var(--space-4) var(--space-6) var(--space-6); }
.monitoring-modal-footer .btn { padding: var(--btn-padding-md); font-size: var(--btn-font-md); }

/* Monitoring Modal Responsive */
@media (max-width: 767px) {
    .search-info-bar { flex-direction: column; align-items: stretch; gap: var(--space-4); }
    .search-info-left { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
    .search-info-right { justify-content: stretch; }
    .search-info-right .btn-monitor-all { width: 100%; justify-content: center; }
    .state-card { padding: var(--space-8) var(--space-5); }
    .state-actions { flex-direction: column; width: 100%; }
    .state-actions .btn { width: 100%; justify-content: center; }
    .completed-header { flex-direction: column; text-align: center; padding: var(--space-4) var(--space-5); }
    .completed-header-icon { margin: 0 auto; }
    .frequency-options { grid-template-columns: 1fr; }
}

/* Results link styles removed — now uses standard badge-success badge-md */

/**************************************** FIND LEADS CREATE - INLINE STYLES MIGRATED *****************************************/
/* Form Styles */
.find-leads-form-linear { max-width: 100%; }
.form-group-linear { margin-bottom: 0; }
.form-label-linear { display: block; font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text); margin-bottom: var(--space-2); }
.form-input-linear, .form-textarea-linear { width: 100%; padding: 10px 14px; font-size: var(--text-base); color: var(--color-text); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); transition: all var(--transition-fast); }
.form-input-linear:hover, .form-textarea-linear:hover { border-color: var(--color-border-hover); }
.form-input-linear:focus, .form-textarea-linear:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 2px var(--color-primary-light); }
.form-input-linear::placeholder, .form-textarea-linear::placeholder { color: var(--color-text-placeholder); }
.form-textarea-linear { resize: vertical; min-height: 120px; line-height: var(--leading-normal); }
.form-hint { font-size: var(--text-xs); color: var(--color-text-muted); margin-top: 6px; display: flex; align-items: center; gap: 4px; }
.form-hint i { font-size: var(--text-xs); }
.form-error { font-size: var(--text-xs); color: var(--color-danger); margin-top: 6px; display: flex; align-items: center; gap: 4px; }
.form-error::before { content: '!'; display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; background: var(--color-danger); color: var(--color-surface); border-radius: 50%; font-size: 10px; font-weight: var(--weight-semibold); }
.form-actions-linear { display: flex; justify-content: flex-end; gap: var(--space-3); margin-top: var(--space-6); padding-top: var(--space-6); border-top: 1px solid var(--color-border); }

/* Tip items (used inside card-aside) */
.tip-item { margin-bottom: var(--space-4); }
.tip-item:last-child { margin-bottom: 0; }
.tip-title { font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text); margin-bottom: var(--space-1); }
.tip-text { font-size: var(--text-xs); color: var(--color-text-muted); line-height: var(--leading-normal); }

/**************************************** DASHBOARD - MONITORING MODAL EXTRAS *****************************************/
/* Icon Variants */
.monitoring-modal-icon.refresh { background: #3b82f6; }
.monitoring-modal-icon.stop { background: #f97316; }

/* Additional Preview Row Variants */
.preview-row.cost-row span:last-child { color: var(--color-danger-text); }
.preview-row.total-row span:last-child { color: var(--color-text); font-weight: var(--weight-semibold); }
.cost-value { color: var(--color-danger-text) !important; }

/* Warning Box */
.monitoring-warning { display: flex; align-items: flex-start; gap: 10px; padding: var(--space-3) var(--space-4); background: var(--color-danger-light); border: 1px solid #fecaca; border-radius: var(--radius-lg); margin-top: var(--space-4); }
.monitoring-warning i { color: var(--color-danger-text); font-size: var(--text-md); flex-shrink: 0; }
.monitoring-warning span { font-size: var(--text-sm); color: #991b1b; line-height: var(--leading-normal); }

/* Scheduled Refresh Notice */
.scheduled-refresh-notice { display: flex; align-items: flex-start; gap: 10px; padding: var(--space-3) var(--space-4); background: #eff6ff; border: 1px solid #bfdbfe; border-radius: var(--radius-lg); margin-top: var(--space-4); }
.scheduled-refresh-notice i { color: #2563eb; font-size: var(--text-md); flex-shrink: 0; margin-top: 1px; }
.scheduled-refresh-notice span { font-size: var(--text-sm); color: #1e40af; line-height: var(--leading-normal); }
.scheduled-refresh-notice strong { color: #1e3a8a; }

/* Refresh Info Box */
.refresh-info-box { background: #f8fafc; border-radius: var(--radius-lg); padding: 14px var(--space-4); margin-bottom: var(--space-4); }
.refresh-info-box p { font-size: var(--text-sm); color: var(--color-text-secondary); line-height: 1.6; margin: 0; }

/* Stop Warning Box */
.stop-warning-box { display: flex; gap: 14px; padding: var(--space-4); background: var(--color-warning-light); border: 1px solid #fde68a; border-radius: var(--radius-lg); }
.stop-warning-box .warning-icon { width: 40px; height: 40px; background: #fef3c7; border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.stop-warning-box .warning-icon i { font-size: 20px; color: var(--color-warning); }
.stop-warning-box .warning-content p { font-size: var(--text-sm); color: var(--color-warning-text); line-height: var(--leading-normal); margin: 0 0 4px; }
.stop-warning-box .warning-content p:last-child { margin: 0; }

/* Spinning Animation */
.spinning { animation: spin 1s linear infinite; }

/* Monitoring Modal Small Screen */
@media (max-width: 576px) {
    .frequency-options { grid-template-columns: 1fr; }
    .monitoring-explainer { flex-direction: column; }
    .monitoring-modal-footer { flex-direction: column; }
    .monitoring-modal-footer .btn { width: 100%; justify-content: center; }
}

/**************************************** DASHBOARD - SOURCED CARD & BADGES *****************************************/
.quick-stat-card.sourced-card { position: relative; background: var(--color-warning-light); border-color: #fbbf24; }
.quick-stat-card.sourced-card:hover { border-color: var(--color-warning); }
.quick-stat-card.sourced-card.active { border-color: var(--color-warning); background: #fef3c7; }
.quick-stat-card.sourced-card .stat-count { color: var(--color-warning-text); }
.quick-stat-card.sourced-card .stat-label { color: #b45309; }
.sourced-badge-indicator { position: absolute; top: var(--space-2); right: var(--space-2); color: var(--color-warning); font-size: var(--text-base); }
.stat-subtitle { font-size: 11px; color: var(--color-text-placeholder); margin-top: 2px; }
.quick-stat-card.sourced-card .stat-subtitle { color: var(--color-warning-hover); }

/* Table cell colors now handled in unified TABLE SYSTEM section */

/**************************************** DASHBOARD - WELCOME MODAL *****************************************/
.welcome-modal-content { border: none; border-radius: var(--radius-lg); padding: var(--space-8); position: relative; }
.welcome-modal-close { position: absolute; top: var(--space-4); right: var(--space-4); opacity: 0.5; }
.welcome-modal-close:hover { opacity: 1; }
.welcome-modal-body { text-align: center; }
.welcome-icon { width: 64px; height: 64px; background: var(--color-primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto var(--space-5); }
.welcome-icon i { font-size: 28px; color: var(--color-surface); }
.welcome-modal-body h3 { font-size: 22px; font-weight: var(--weight-semibold); color: var(--color-text); margin-bottom: var(--space-3); }
.welcome-modal-body > p { font-size: var(--text-base); color: var(--color-text-secondary); line-height: 1.6; margin-bottom: var(--space-6); max-width: 400px; margin-left: auto; margin-right: auto; }
.welcome-tips { background: #f8fafc; border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5); margin-bottom: var(--space-6); text-align: left; }
.welcome-tip { display: flex; align-items: flex-start; gap: 10px; margin-bottom: var(--space-3); }
.welcome-tip:last-child { margin-bottom: 0; }
.welcome-tip i { color: var(--color-success-text); font-size: var(--text-md); margin-top: 2px; flex-shrink: 0; }
.welcome-tip span { font-size: var(--text-sm); color: var(--color-text-secondary); line-height: var(--leading-normal); }
.welcome-link { color: var(--color-primary); text-decoration: none; font-weight: var(--weight-medium); }
.welcome-link:hover { text-decoration: underline; }
.welcome-actions { display: flex; justify-content: center; gap: var(--space-3); }
.welcome-actions .btn { display: inline-flex; align-items: center; gap: var(--space-2); }
@media (max-width: 576px) { .welcome-modal-content { padding: var(--space-6) var(--space-4); } .welcome-actions { flex-direction: column; } .welcome-actions .btn { width: 100%; justify-content: center; } }

/**************************************** DASHBOARD - HELP TRIGGER & MODAL *****************************************/
.help-trigger-btn { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; padding: 0; margin-left: 6px; background: transparent; border: none; border-radius: 50%; color: var(--color-text-placeholder); cursor: pointer; transition: all var(--transition-base); vertical-align: middle; }
.help-trigger-btn:hover { color: var(--color-primary); background: var(--color-primary-light); }
.help-trigger-btn i { font-size: var(--text-md); }
/* Help Modal — minimal */
.help-modal-content { border: 1px solid var(--color-border); border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-modal); }
.help-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); padding: 24px 24px 0; }
.help-modal-header h3 { font-size: 16px; font-weight: var(--weight-semibold); color: var(--color-text); margin: 0 0 4px; letter-spacing: var(--tracking-tight); }
.help-modal-header p { font-size: var(--text-sm); color: var(--color-text-muted); margin: 0; }
.help-modal-close { opacity: 0.4; transition: opacity 100ms ease; flex-shrink: 0; margin-top: 2px; }
.help-modal-close:hover { opacity: 0.8; }
.help-modal-body { padding: 20px 24px 8px; }

/* Section rows */
.help-section { padding: 14px 0; border-bottom: 1px solid var(--color-border); }
.help-section:has(+ :not(.help-section)) { border-bottom: none; }
.help-section-label { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.help-section-label i { font-size: 15px; color: var(--color-text-muted); width: 16px; text-align: center; }
.help-section-label h4 { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--color-text); margin: 0; }
.help-badge { font-size: 10px; font-weight: var(--weight-semibold); color: var(--color-warning-text); background: var(--color-warning-light); padding: 2px 7px; border-radius: 999px; letter-spacing: 0.02em; }
.help-section p { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.55; margin: 0; padding-left: 24px; }
.help-section p strong { color: var(--color-text-secondary); font-weight: var(--weight-medium); }

/* Steps */
.help-steps { padding: 14px 0 8px; }
.help-steps h5 { font-size: var(--text-xs); font-weight: var(--weight-semibold); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 12px; }
.help-step { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.help-step:last-child { margin-bottom: 0; }
.help-step-num { width: 18px; height: 18px; border-radius: 50%; background: var(--color-hover); color: var(--color-text-muted); font-size: 11px; font-weight: var(--weight-semibold); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.help-step p { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.5; margin: 0; }
.help-step p strong { color: var(--color-text-secondary); font-weight: var(--weight-medium); }

/* Footer */
.help-modal-footer { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; border-top: 1px solid var(--color-border); }
.help-footer-link { display: inline-flex; align-items: center; gap: 4px; font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text-muted); text-decoration: none; transition: color 100ms ease; }
.help-footer-link:hover { color: var(--color-text); text-decoration: none; }
.help-footer-link i { font-size: 12px; }

@media (max-width: 768px) {
    .help-modal-header { padding: 20px 20px 0; }
    .help-modal-body { padding: 16px 20px 4px; }
    .help-modal-footer { padding: 14px 20px; flex-direction: column-reverse; gap: 12px; }
    .help-modal-footer .btn { width: 100%; }
}

/**************************************** LEAD DETAIL PAGE *****************************************/
.detail-fields { display: flex; flex-direction: column; gap: var(--space-5); }
.detail-field { display: flex; flex-direction: column; gap: var(--space-1); }
.detail-label { font-size: var(--text-xs); font-weight: var(--weight-medium); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.detail-value { font-size: var(--text-base); color: var(--color-text); line-height: var(--leading-normal); }
.detail-link { color: var(--color-primary); text-decoration: none; display: inline-flex; align-items: center; word-break: break-all; }
.detail-link:hover { color: var(--color-primary-hover); text-decoration: underline; }
.detail-link i { font-size: 11px; opacity: 0.7; }

/* Card Aside — canonical sidebar card (replaces info-card, help-card, tips-card) */
.card-aside { background: var(--card-bg-subtle); border: 1px solid var(--card-border); border-radius: var(--card-radius); overflow: hidden; position: sticky; top: 100px; transition: var(--card-transition); }
.card-aside-header { padding: var(--card-header-padding); border-bottom: 1px solid var(--card-border); display: flex; align-items: center; gap: 10px; background: var(--card-bg); }
.card-aside-header i { font-size: var(--text-lg); color: var(--color-primary); }
.card-aside-header h5 { margin: 0; font-size: var(--text-base); font-weight: var(--weight-semibold); color: var(--color-text); }
.card-aside-body { padding: var(--card-padding); }
@media (max-width: 991px) { .card-aside { position: static; margin-top: var(--space-6); } }

.info-item { display: flex; align-items: flex-start; gap: var(--space-3); margin-bottom: var(--space-4); }
.info-item:last-child { margin-bottom: 0; }
.info-icon { color: var(--color-primary); font-size: var(--text-md); flex-shrink: 0; margin-top: 1px; }
.info-text { font-size: var(--text-sm); color: var(--color-text-secondary); line-height: var(--leading-normal); }

/* Quick Action List */
.quick-action-list { display: flex; flex-direction: column; gap: var(--space-2); }
.quick-action-item { display: flex; align-items: center; gap: var(--space-3); padding: 10px var(--space-3); border-radius: var(--radius-md); text-decoration: none; color: var(--color-text-secondary); font-size: var(--text-sm); transition: all var(--transition-fast); }
.quick-action-item:hover { background: var(--color-surface); color: var(--color-primary); text-decoration: none; }
.quick-action-item i { font-size: var(--text-md); color: var(--color-text-muted); }
.quick-action-item:hover i { color: var(--color-primary); }

/**************************************** LEAD FORMS - EXTRAS *****************************************/
.lead-form { max-width: 100%; }
.form-input-linear:disabled { background: var(--color-hover); color: var(--color-text-muted); cursor: not-allowed; }
.form-input-linear.is-invalid { border-color: #fecaca; }
.password-input-wrapper { position: relative; }
.password-input-wrapper .form-input-linear { padding-right: 44px; }
.password-toggle-btn { position: absolute; right: var(--space-3); top: 50%; transform: translateY(-50%); background: none; border: none; color: var(--color-text-muted); cursor: pointer; padding: var(--space-1); display: flex; align-items: center; justify-content: center; }
.password-toggle-btn:hover { color: var(--color-primary); }

/**************************************** TABLE TOOLBAR - SELECTION BAR *****************************************/
.selection-bar { display: flex; align-items: center; gap: var(--space-3); padding: 6px var(--space-3); background: var(--color-hover); border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.selection-info { display: flex; align-items: center; gap: var(--space-2); }
.selection-count { font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text); padding: 0 var(--space-1); white-space: nowrap; }
.selection-clear-btn { display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; padding: 0; background: transparent; border: none; border-radius: var(--radius-sm); color: var(--color-text-muted); cursor: pointer; transition: all var(--transition-fast); }
.selection-clear-btn:hover { background: var(--color-border); color: var(--color-text); }
.selection-clear-btn i { font-size: var(--text-base); }
.selection-divider { width: 1px; height: 20px; background: var(--color-border-hover); }
.selection-actions { display: flex; align-items: center; gap: 6px; }
.selection-action-btn { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); cursor: pointer; transition: all var(--transition-fast); white-space: nowrap; }
.selection-action-btn:hover { background: var(--color-hover); border-color: var(--color-border-hover); }
.selection-action-btn i { font-size: var(--text-sm); color: var(--color-text-secondary); }
.selection-action-btn.selection-action-danger { color: var(--color-danger-text); border-color: #fecaca; }
.selection-action-btn.selection-action-danger:hover { background: var(--color-danger-light); border-color: #fca5a5; }
.selection-action-btn.selection-action-danger i { color: var(--color-danger-text); }
@media (max-width: 768px) { .selection-bar { flex-wrap: wrap; padding: var(--space-2); } .selection-actions { flex-wrap: wrap; gap: 6px; } .selection-action-btn span { display: none; } .selection-action-btn { padding: var(--space-2); } .selection-divider { display: none; } }

/**************************************** CSV UPLOAD MODAL *****************************************/
.csv-upload-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); z-index: 1050; display: flex; justify-content: center; align-items: center; backdrop-filter: blur(2px); }
.csv-upload-modal { width: 95%; max-height: 85vh; background-color: var(--color-surface); border-radius: var(--radius-lg); border: 1px solid var(--color-border); box-shadow: var(--shadow-modal); overflow: hidden; animation: modalFadeIn 0.2s ease-out; display: flex; flex-direction: column; }
.csv-upload-modal-wide { max-width: 1100px; }
.csv-upload-modal-content { display: flex; flex-direction: column; height: 100%; padding: var(--space-6); overflow-y: auto; position: relative; }
.csv-progress-indicator { margin-bottom: var(--space-6); position: relative; padding-top: 0; }
.csv-progress-indicator .steps-container { display: flex; align-items: center; justify-content: space-between; max-width: 400px; margin: 0 auto; position: relative; z-index: 2; }
.csv-progress-indicator .steps-container:before { content: ''; position: absolute; top: 16px; left: 60px; right: 60px; height: 1px; background-color: var(--color-border); z-index: 1; }
.csv-progress-indicator .step { text-align: center; position: relative; z-index: 5; flex: 1; }
.csv-progress-indicator .step-circle { width: 32px; height: 32px; background-color: var(--color-surface); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto var(--space-2); color: var(--color-text-placeholder); font-weight: var(--weight-medium); font-size: var(--text-sm); border: 1px solid var(--color-border); position: relative; z-index: 10; transition: all var(--transition-fast); }
.csv-progress-indicator .step.active .step-circle { background-color: var(--color-primary); color: var(--color-surface); border-color: var(--color-primary); }
.csv-progress-indicator .step.completed .step-circle { background-color: var(--color-primary); color: var(--color-surface); border-color: var(--color-primary); }
.csv-progress-indicator .step-label { color: var(--color-text-placeholder); font-weight: var(--weight-medium); font-size: var(--text-xs); white-space: nowrap; }
.csv-progress-indicator .step.active .step-label { color: var(--color-primary); }
.csv-progress-indicator .step.completed .step-label { color: var(--color-text-muted); }
.step-line { display: none; }
.modal-main-content { flex: 1; min-height: 300px; background-color: var(--color-surface); padding: 0; }
.two-column-container { display: flex; gap: var(--space-6); }
.left-column { flex: 3; min-width: 0; display: flex; flex-direction: column; }
.right-column { flex: 2; min-width: 0; display: flex; flex-direction: column; }
.file-drop-area { position: relative; padding: var(--space-8); border: 1px dashed var(--color-border-hover); border-radius: var(--radius-lg); background-color: var(--color-subtle); text-align: center; cursor: pointer; transition: all var(--transition-fast); height: 100%; min-height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.file-drop-area:hover, .file-drop-area.highlight { border-color: var(--color-primary); background-color: var(--color-hover); }
.file-input-container { height: 0; width: 0; overflow: hidden; position: absolute; }
.file-upload-input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; }
.file-icon-container { margin-bottom: var(--space-4); }
.csv-icon { font-size: 48px; color: var(--color-primary); margin-bottom: 0; }
.drag-text { font-size: var(--text-base); color: var(--color-text-secondary); margin-bottom: 0; }
.browse-link { color: var(--color-primary); font-weight: var(--weight-medium); border: none; background: none; text-decoration: underline; padding: 0; cursor: pointer; transition: color var(--transition-fast); display: inline; }
.browse-link:hover { color: var(--color-primary-hover); }
.selected-file-info { margin-top: var(--space-4); }
.selected-file-name { display: inline-flex; align-items: center; background-color: var(--color-hover); padding: var(--space-2) var(--space-3); border-radius: var(--radius-md); color: var(--color-text); font-size: var(--text-sm); font-weight: var(--weight-medium); }
.upload-guidelines { height: 100%; background-color: var(--color-subtle); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-4); }
.guidelines-section { margin-bottom: 0; }
.guidelines-title { font-size: var(--text-sm); font-weight: var(--weight-medium); margin-bottom: var(--space-2); color: var(--color-text); display: flex; align-items: center; }
.guidelines-title i { color: var(--color-text-muted); margin-right: var(--space-2); }
.guidelines-list { padding-left: var(--space-5); margin-bottom: 0; }
.guidelines-list li { margin-bottom: var(--space-1); color: var(--color-text-secondary); font-size: var(--text-sm); }
.required-columns li { color: var(--color-text); font-weight: var(--weight-medium); }
.optional-columns li { color: var(--color-text-muted); font-weight: var(--weight-normal); }
.dash-upload-head h4 { font-size: var(--text-md); font-weight: var(--weight-semibold); color: var(--color-text); }
.dash-upload-head p { font-size: var(--text-sm); color: var(--color-text-muted); }
.form-buttons { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--color-border); padding-bottom: 0; }
.form-buttons .btn-primary:disabled { background: var(--color-text-placeholder); border-color: var(--color-text-placeholder); opacity: 1; }
.mapping-fields-container { overflow-y: auto; padding-right: 10px; padding-left: 2px; display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: var(--space-3); }
.mapping-fields-container .mb-3 { background-color: var(--color-subtle); padding: var(--space-4); border-radius: var(--radius-lg); border: 1px solid var(--color-border); transition: all var(--transition-fast); margin-bottom: 0 !important; }
.mapping-fields-container .mb-3.required-field { background-color: var(--color-subtle); border-left: 3px solid var(--color-primary); }
.mapping-fields-container .mb-3:hover { border-color: var(--color-border-hover); }
.mapping-fields-container .form-label { font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text); }
.modern-select { max-width: 100%; transition: all var(--transition-fast); border-radius: var(--radius-md); border: 1px solid var(--color-border); padding: 10px var(--space-3); font-size: var(--text-base); appearance: none; background-color: var(--color-surface); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23171717' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 14px; }
.modern-select:focus { border-color: var(--color-primary); box-shadow: 0 0 0 2px var(--color-primary-light); outline: none; }
.modern-select:hover { border-color: var(--color-border-hover); }
.modern-select option:disabled { color: var(--color-text-placeholder); }
.form-select:focus { border-color: var(--color-primary); box-shadow: 0 0 0 2px var(--color-primary-light); }
.selected-file-display { display: inline-flex; align-items: center; background-color: var(--color-hover); padding: 6px var(--space-3); border-radius: var(--radius-md); color: var(--color-text); font-size: var(--text-sm); font-weight: var(--weight-medium); margin-bottom: 10px; }
#processing-container { text-align: center; }
[data-bs-toggle="tooltip"] { cursor: help; }
#upload-error, #mapping-error { background-color: var(--color-danger-light); border: 1px solid #fecaca; border-radius: var(--radius-lg); color: var(--color-danger-text); }
#upload-error i, #mapping-error i { color: var(--color-danger-text); }
@keyframes modalFadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 768px) { .two-column-container { flex-direction: column; } .csv-upload-modal-wide { max-width: 720px; } .mapping-fields-container { grid-template-columns: 1fr; } }
@media (max-height: 700px) { .form-buttons { position: sticky; bottom: 0; background-color: var(--color-surface); z-index: 10; margin-top: var(--space-4); padding-top: var(--space-3); } }
#no-subscription-container { min-height: 350px; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 30px; }
.subscription-message-icon { display: flex; justify-content: center; align-items: center; width: 80px; height: 80px; border-radius: 50%; background-color: var(--color-warning-light); border: 1px solid #fef3c7; margin-bottom: var(--space-5); }
.processing-state-container { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-10); margin: 0 auto; max-width: 400px; }
.processing-indicator { margin-bottom: var(--space-6); position: relative; }
.processing-spinner { position: relative; width: 64px; height: 64px; }
.spinner-ring { box-sizing: border-box; position: absolute; width: 100%; height: 100%; border: 3px solid var(--color-border); border-top-color: var(--color-primary); border-radius: 50%; animation: spinner-animation 1s linear infinite; }
.spinner-inner-circle { display: none; }
@keyframes spinner-animation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
#processing-header { font-size: var(--text-lg); font-weight: var(--weight-semibold); color: var(--color-text); margin-bottom: var(--space-2); }
#processing-subtext { font-size: var(--text-base); color: var(--color-text-muted); margin-bottom: var(--space-6); max-width: 100%; }
.pulse-dots { display: flex; justify-content: center; gap: 6px; }
.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background-color: var(--color-primary); opacity: 0.3; }
.pulse-dot:nth-child(1) { animation: pulse 1.2s infinite 0s; }
.pulse-dot:nth-child(2) { animation: pulse 1.2s infinite 0.2s; }
.pulse-dot:nth-child(3) { animation: pulse 1.2s infinite 0.4s; }
@keyframes pulse { 0%, 100% { opacity: 0.3; transform: scale(1); } 50% { opacity: 1; transform: scale(1.15); } }
#processing-success, #processing-error { background: none; border: none; padding: 0; margin-bottom: var(--space-6); }
.success-container { display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: var(--color-surface); border-radius: var(--radius-lg); border: 1px solid var(--color-border); padding: var(--space-8); max-width: 380px; margin: 0 auto; }
.success-icon-container { margin-bottom: var(--space-4); }
.csv-success-icon { width: 56px; height: 56px; background-color: var(--color-success-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--color-success-text); border: 1px solid #bbf7d0; }
.csv-success-icon i { font-size: var(--text-xl); }
.success-content { text-align: center; }
.success-content h5 { color: var(--color-text); font-weight: var(--weight-semibold); font-size: var(--text-md); margin-bottom: var(--space-1); }
.success-content p { color: var(--color-text-muted); font-size: var(--text-base); margin-bottom: 0; }
.error-container { display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: var(--color-surface); border-radius: var(--radius-lg); border: 1px solid #fecaca; padding: var(--space-8); max-width: 380px; margin: 0 auto; }
.error-icon-container { margin-bottom: var(--space-4); }
.csv-error-icon { width: 56px; height: 56px; background-color: var(--color-danger-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--color-danger-text); border: 1px solid #fecaca; }
.csv-error-icon i { font-size: var(--text-xl); }
.error-content { text-align: center; }
.error-content h5 { color: var(--color-text); font-weight: var(--weight-semibold); font-size: var(--text-md); margin-bottom: var(--space-1); }
.error-content p { color: var(--color-text-muted); font-size: var(--text-base); margin-bottom: var(--space-4); }

/**************************************** HOME PAGE *****************************************/
.action-card { background: var(--card-bg); border-radius: var(--card-radius); padding: var(--card-padding); border: 1px solid var(--card-border); transition: var(--card-transition); }
.action-card:hover { border-color: var(--card-border-hover); }
.action-icon-circle { width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }

/**************************************** SUBSCRIPTION MANAGEMENT *****************************************/
.plan-details-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); margin-bottom: var(--space-6); }
.plan-detail-item { display: flex; flex-direction: column; gap: 6px; }
.plan-detail-label { font-size: var(--text-xs); font-weight: var(--weight-medium); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.plan-detail-value { font-size: var(--text-base); font-weight: var(--weight-medium); color: var(--color-text); }
.credit-usage-section { padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
.credit-usage-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.credit-usage-label { font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text); }
.credit-usage-count { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--color-text); }
.credit-progress { height: 8px; background: var(--color-border); border-radius: var(--radius-sm); overflow: hidden; margin-bottom: var(--space-2); }
.credit-progress-bar { height: 100%; border-radius: var(--radius-sm); transition: width 0.3s ease; }
.credit-progress-bar.success { background: var(--color-success-text); }
.credit-progress-bar.warning { background: #d97706; }
.credit-progress-bar.danger { background: var(--color-danger-text); }
.credit-usage-note { font-size: var(--text-xs); color: var(--color-text-muted); }
.cancellation-notice { display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-4); background: var(--color-warning-light); border: 1px solid #fde68a; border-radius: var(--radius-lg); }
.cancellation-notice i { color: var(--color-warning-hover); font-size: 20px; flex-shrink: 0; margin-top: 2px; }
.cancellation-notice strong { display: block; color: var(--color-warning-text); font-size: var(--text-base); margin-bottom: var(--space-1); }
.cancellation-notice p { margin: 0; font-size: var(--text-sm); color: #a16207; line-height: var(--leading-normal); }
.manage-description { font-size: var(--text-base); color: var(--color-text-muted); margin-bottom: var(--space-4); }
.help-actions { display: flex; flex-direction: column; gap: var(--space-2); }
.help-action-link { display: flex; align-items: center; gap: 10px; padding: var(--space-3) 14px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); color: var(--color-text); text-decoration: none; font-size: var(--text-sm); font-weight: var(--weight-medium); transition: all var(--transition-fast); }
.help-action-link:hover { background: var(--color-hover); border-color: var(--color-border-hover); color: var(--color-text); text-decoration: none; }
.help-action-link i { color: var(--color-primary); font-size: var(--text-md); }
.empty-state-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--card-radius); padding: var(--space-12) var(--space-8); text-align: center; }
.empty-state-card .empty-state-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--color-hover); display: flex; align-items: center; justify-content: center; margin: 0 auto var(--space-5); }
.empty-state-card .empty-state-icon i { font-size: 28px; color: var(--color-text-muted); }
.empty-state-card h3 { font-size: var(--text-lg); font-weight: var(--weight-semibold); color: var(--color-text); margin-bottom: var(--space-2); }
.empty-state-card p { font-size: var(--text-base); color: var(--color-text-muted); margin-bottom: var(--space-6); }
@media (max-width: 767px) { .plan-details-grid { grid-template-columns: 1fr; gap: var(--space-4); } }

/**************************************** SUCCESS CARD *****************************************/
.success-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: var(--card-radius); padding: var(--space-12) var(--space-8); text-align: center; }
.success-title { font-size: 20px; font-weight: var(--weight-semibold); color: var(--color-text); margin-bottom: var(--space-3); }
.success-message { font-size: var(--text-base); color: var(--color-text-secondary); line-height: 1.6; margin-bottom: var(--space-8); max-width: 400px; margin-left: auto; margin-right: auto; }
.success-actions { display: flex; justify-content: center; gap: var(--space-3); }

/**************************************** AUTH PAGES *****************************************/
.auth-page-bg { background: var(--color-bg); }

/**************************************** ERROR PAGES *****************************************/
.layout-error { min-height: 100vh; display: flex; flex-direction: column; }
.error-header { border-bottom: 1px solid var(--color-border); }
.error-content-wrapper { flex-grow: 1; display: flex; align-items: center; justify-content: center; padding: 2rem 0; }
.error-content { text-align: center; max-width: 500px; margin: 0 auto; padding: 2rem; }
.error-code { font-size: 5rem; font-weight: bold; color: var(--color-primary); line-height: 1; margin-bottom: 1rem; font-family: var(--font-family); }
.error-title { font-size: 1.5rem; color: var(--color-text-secondary); margin-bottom: 1rem; font-family: var(--font-family); }
.error-message { color: var(--color-text-muted); margin-bottom: 2rem; }

/**************************************** IMPORT HISTORY *****************************************/
.status-wrapper .badge { font-weight: var(--weight-medium); font-size: var(--text-base); }

/**************************************** COMING SOON PAGE *****************************************/
.coming-soon-container { max-width: 1000px; margin: 0 auto; padding: 2rem 0; }
.coming-soon-container h2 { font-size: 2.5rem; font-weight: var(--weight-semibold); color: var(--color-text); margin-bottom: 1rem; }
.coming-soon-container .lead { font-size: 1.2rem; max-width: 600px; margin: 0 auto 3rem; line-height: 1.6; }
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin: 3rem 0; }
.feature-item { padding: 2rem 1.5rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); transition: all var(--transition-base); height: 100%; }
.feature-item:hover { border-color: var(--color-primary); }
.feature-icon { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; font-size: 1.5rem; color: var(--color-surface); }
.feature-icon.smart-search { background: #3b82f6; }
.feature-icon.quality-leads { background: var(--color-success); }
.feature-icon.automation { background: var(--color-warning); }
.feature-item h5 { font-size: 1.25rem; font-weight: var(--weight-semibold); color: var(--color-text); margin-bottom: 1rem; }
.feature-item p { font-size: 0.95rem; line-height: var(--leading-normal); margin: 0; }
.cta-section { margin-top: 3rem; }
.cta-section p { font-size: 1.1rem; margin-bottom: 1.5rem; color: var(--color-text-muted); }
@media (max-width: 992px) { .features-grid { grid-template-columns: 1fr; gap: 1.5rem; margin: 2rem 0; } }

/**************************************** LANDING PAGE *****************************************/
.landing-min-vh { min-height: 85vh; }

/**************************************** SALESFORCE SETUP *****************************************/
.step-widget { display: none; }
.step-widget.active { display: block; }
@keyframes progress-bar-pulse { 0% { opacity: 1; } 50% { opacity: 0.6; } 100% { opacity: 1; } }
.sf-step-container { display: flex; gap: 2rem; }
.sf-step-main { flex: 1.7; }
.sf-step-benefits { flex: 1; align-self: flex-start; }
.sf-step-header h4 { font-size: var(--font-size-xl); font-weight: var(--heading-weight-bold); margin-bottom: 1rem; color: #212121; position: relative; padding-bottom: 0.75rem; }
.sf-step-header h4:after { content: ''; position: absolute; bottom: 0; left: 0; width: 50px; height: 3px; background: var(--color-primary); border-radius: 3px; }
.sf-step-header p { font-size: var(--font-size-md); color: var(--dark-gray); line-height: 1.5; }
.sf-step-description p { color: var(--dark-gray); margin-bottom: 1.5rem; }
.sf-action-area { margin: 1.5rem 0; }
.sf-auth-btn { transition: all 0.3s ease; padding-left: 1.5rem; padding-right: 1.5rem; }
.sf-security-notice { display: flex; align-items: center; background: var(--color-primary-light); padding: 1rem; border-radius: var(--radius-lg); margin-top: 1.5rem; }
.sf-security-notice i { color: var(--color-primary); font-size: var(--font-size-lg); margin-right: 0.75rem; flex-shrink: 0; }
.sf-security-notice p { margin: 0; font-size: var(--font-size-sm); color: #757575; }
.sf-support-link { color: var(--color-primary); text-decoration: none; font-weight: var(--heading-weight-medium); }
.sf-support-link:hover { text-decoration: underline; }
.sf-benefits-card { background: var(--color-primary-light); border-radius: var(--card-radius); padding: var(--card-padding); height: 100%; border: 1px solid rgba(61, 79, 124, 0.1); }
.sf-benefits-header { display: flex; align-items: center; margin-bottom: 1.25rem; }
.sf-benefits-header i { font-size: var(--font-size-xl); color: var(--color-primary); margin-right: 0.75rem; }
.sf-benefits-header h5 { font-size: var(--font-size-md); font-weight: var(--heading-weight-bold); margin: 0; color: #212121; }
.sf-benefits-list { padding: 0; margin: 0; list-style: none; }
.sf-benefits-list li { display: flex; align-items: flex-start; padding: 0.75rem 0; border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
.sf-benefits-list li:last-child { border-bottom: none; padding-bottom: 0; }
.sf-benefits-list li i { color: var(--color-primary); margin-right: 0.75rem; font-size: var(--font-size-md); margin-top: 2px; }
.sf-benefits-list li span { flex: 1; line-height: 1.4; }
@media (max-width: 991px) { .sf-step-container { flex-direction: column; } .sf-step-benefits { margin-top: 1.5rem; } }
.sf-installation-status { margin-top: 2rem; }
.sf-status-message { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: var(--radius-md); margin-bottom: 1rem; font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--color-text-secondary); background: var(--color-surface); border: 1px solid var(--color-border); border-left: 3px solid var(--color-border); }
.sf-status-message.alert-info { border-left-color: var(--color-accent); }
.sf-status-message.alert-warning { border-left-color: var(--color-warning); }
.sf-status-message.alert-success { border-left-color: var(--color-success); }
.sf-status-message i { font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.sf-status-message.alert-info i { color: var(--color-accent); }
.sf-status-message.alert-warning i { color: var(--color-warning); }
.sf-status-message.alert-success i { color: var(--color-success); }
.sf-progress-indicator { display: flex; align-items: flex-start; width: 100%; }
.sf-progress-text { flex: 1; }
.sf-progress-text h5, .sf-success-text h5 { font-size: var(--font-size-md); font-weight: var(--heading-weight-bold); margin-bottom: 0.5rem; }
.sf-progress-text p, .sf-success-text p { margin: 0; font-size: var(--font-size-sm); }
.sf-installation-success { display: flex; align-items: center; background-color: rgba(54, 199, 108, 0.08); padding: 1.25rem; border-radius: var(--radius-lg); border-left: 4px solid #36C76C; margin: 1.5rem 0; }
.sf-installation-success i { font-size: var(--font-size-xl); color: #36C76C; margin-right: 1rem; }
.sf-success-message h5 { font-size: var(--font-size-md); font-weight: var(--heading-weight-bold); margin-bottom: 0.25rem; color: #212121; }
.sf-success-message p { margin: 0; font-size: var(--font-size-sm); color: var(--color-text-muted); }
.sf-progress-container { margin: 1rem 0; }
.sf-progress-bar { height: 8px; background-color: #f0f0f0; border-radius: var(--radius-sm); overflow: hidden; }
.sf-progress-fill { height: 100%; background-color: #36C76C; border-radius: var(--radius-sm); animation: progress-animation 2s linear infinite; background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); background-size: 1rem 1rem; }
@keyframes progress-animation { from { background-position: 0 0; } to { background-position: 1rem 0; } }
.sf-installation-help { font-size: var(--font-size-sm); color: #757575; margin: 1rem 0; }
.sf-verify-status { display: flex; align-items: center; gap: 0.75rem; font-size: var(--font-size-sm); color: var(--color-text-secondary); margin: 1rem 0; padding: 0.75rem; background: var(--color-primary-light); border-radius: var(--radius-md); }
.sf-manual-override { text-align: center; margin-top: 2rem; }
.sf-divider { height: 1px; background: rgba(0, 0, 0, 0.1); margin: 1.5rem 0; }
.sf-manual-override p { color: var(--color-text-muted); font-size: var(--font-size-sm); margin-bottom: 1rem; }
.sf-manual-btn { padding: 0.625rem 1.25rem; }
.sf-override-note { font-size: var(--font-size-xs); color: #888; margin-top: 0.75rem; }
.sf-next-action { display: flex; justify-content: flex-end; margin-top: 2rem; }
.sf-next-btn { display: inline-flex; align-items: center; transition: all 0.3s ease; }
.sf-next-btn:hover { transform: translateX(2px); }
.sf-installation-steps { margin-top: 1.25rem; }
.sf-install-step { display: flex; align-items: flex-start; margin-bottom: 1.25rem; position: relative; }
.sf-install-step:not(:last-child)::after { content: ''; position: absolute; top: 30px; left: 14px; width: 1px; height: calc(100% - 10px); background-color: rgba(61, 79, 124, 0.2); }
.sf-install-step:last-child { margin-bottom: 0; }
.sf-step-number { width: 28px; height: 28px; border-radius: 50%; background: var(--color-primary); color: var(--color-surface); font-weight: var(--heading-weight-bold); display: flex; align-items: center; justify-content: center; margin-right: 0.875rem; flex-shrink: 0; font-size: var(--font-size-sm); }
.sf-install-step p { margin: 0; padding-top: 0.25rem; flex: 1; font-size: var(--font-size-sm); line-height: 1.4; }
@media (max-width: 991px) { .sf-next-action { margin-top: 1.5rem; } }
.sf-compact-card { max-width: 360px; margin-left: auto; }
.sf-sync-items { margin-top: 1.25rem; }
.sf-sync-item { display: flex; align-items: flex-start; gap: 0.875rem; padding: 0.875rem 0; border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
.sf-sync-item:last-child { border-bottom: none; padding-bottom: 0; }
.sf-sync-icon { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: rgba(61, 79, 124, 0.1); border-radius: var(--radius-md); flex-shrink: 0; }
.sf-sync-icon i { color: var(--color-primary); font-size: var(--font-size-md); }
.sf-sync-item strong { display: block; font-size: var(--font-size-sm); font-weight: var(--heading-weight-medium); margin-bottom: 0.25rem; color: #212121; }
.sf-sync-item p { margin: 0; font-size: var(--font-size-xs); color: var(--color-text-muted); line-height: 1.4; }
@media (max-width: 991px) { .sf-compact-card { max-width: none; margin-left: 0; } }
.step-widget { border: 1px solid var(--color-border); border-radius: var(--radius-lg); transition: all 0.3s ease; padding: 30px !important; }
.stripe-container { max-width: 1500px; width: 100%; margin: 0 auto; padding: 0; }
.dash-sub-heading h4 { font-size: 22px; font-weight: var(--weight-semibold); margin-bottom: 15px; }
.dash-sub-heading p { font-family: var(--font-family-fallback); color: var(--dark-gray); }
.sf-top-nav { margin-bottom: 1.5rem; margin-top: 0; }
.sf-completion-container { max-width: 750px; margin: 0 auto; text-align: center; }
.sf-completion-header { margin-bottom: 2rem; }
.sf-completion-icon { display: block; font-size: 3.5rem; color: #36C76C; margin-bottom: 1rem; }
.sf-completion-header h3 { font-size: 1.75rem; font-weight: var(--heading-weight-bold); margin-bottom: 0.5rem; color: #212121; }
.sf-completion-header p { font-size: 1.125rem; color: var(--color-text-muted); margin-bottom: 0; }
.sf-completion-details { margin: 2rem auto; max-width: 500px; }
.sf-account-details { background-color: var(--color-primary-light); border-radius: var(--radius-lg); padding: 1.5rem; margin: 1.5rem 0; text-align: left; border: 1px solid rgba(61, 79, 124, 0.1); }
.sf-detail-item { display: flex; justify-content: space-between; align-items: center; padding: 0.5rem 0; border-bottom: 1px solid rgba(0, 0, 0, 0.05); }
.sf-detail-item:last-child { border-bottom: none; padding-bottom: 0; }
.sf-detail-label { font-weight: var(--heading-weight-medium); color: var(--color-text-secondary); }
.sf-detail-value { font-weight: var(--heading-weight-medium); color: var(--color-primary); }
.sf-completion-notice { display: flex; align-items: flex-start; background: var(--color-primary-light); padding: 1rem; border-radius: var(--radius-lg); text-align: left; margin-top: 1.5rem; }
.sf-completion-notice i { color: var(--color-primary); font-size: var(--font-size-lg); margin-right: 0.75rem; margin-top: 0.125rem; flex-shrink: 0; }
.sf-completion-notice p { margin: 0; font-size: var(--font-size-sm); color: var(--color-text-muted); line-height: var(--leading-normal); }
.sf-disconnect-area { margin-top: 2rem; }
.sf-disconnect-btn { background-color: #dc3545; border-color: #dc3545; transition: all 0.3s ease; padding: 0.5rem 1.25rem; }
.sf-disconnect-btn:hover { background-color: #c82333; border-color: #bd2130; }
@media (max-width: 576px) { .sf-detail-item { flex-direction: column; align-items: flex-start; } .sf-detail-label { margin-bottom: 0.25rem; } }
.progress-bar-pulse { animation: progress-bar-pulse 2s ease-in-out infinite; }

/* Salesforce Progress Steps */
.salesforce-progress .steps-container { display: flex; align-items: center; justify-content: space-between; max-width: 95%; margin: 0 auto; position: relative; z-index: 2; }
.salesforce-progress .steps-container:before { content: ''; position: absolute; top: 18px; left: 50px; right: 50px; height: 3px; background-color: #dee2e6; z-index: 1; }
.salesforce-progress .step { text-align: center; position: relative; z-index: 5; flex: 1; pointer-events: none; }
.salesforce-progress .step-circle { width: 36px; height: 36px; background-color: var(--color-surface); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto var(--space-3); color: #6c757d; font-weight: bold; border: 2px solid #dee2e6; position: relative; z-index: 10; transition: all 0.3s ease; }
.salesforce-progress .step.active .step-circle { background-color: var(--color-primary); color: var(--color-surface); border-color: var(--color-primary); box-shadow: 0 0 0 4px var(--color-primary-light); transform: scale(1.1); }
.salesforce-progress .step.completed .step-circle { background-color: var(--dark-gray); color: var(--color-surface); border-color: var(--dark-gray); }
.salesforce-progress .step-label { color: #6c757d; font-weight: var(--weight-medium); font-size: var(--text-base); white-space: nowrap; }
.salesforce-progress .step.active .step-label { color: var(--color-primary); }
@media (max-width: 767px) { .salesforce-progress .steps-container:before { left: 20px; right: 20px; } .salesforce-progress .step-circle { width: 30px; height: 30px; font-size: var(--text-xs); } .salesforce-progress .step-label { font-size: 11px; } }
@media (max-width: 575px) { .salesforce-progress .steps-container { max-width: 100%; } .salesforce-progress .steps-container:before { left: 15px; right: 15px; } .salesforce-progress .step-circle { width: 26px; height: 26px; font-size: 10px; } .salesforce-progress .step-label { font-size: 10px; max-width: 70px; overflow: hidden; text-overflow: ellipsis; display: block; margin: 0 auto; } }