/* Page composition. Shared tokens and components live in niva-ui.css. */
.app-shell { display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);height:100dvh; }
.topbar { grid-column:1/-1;display:flex;align-items:center;gap:var(--space-6);padding:0 var(--space-6);border-bottom:1px solid var(--line);background:var(--surface); }
.brand { display:flex;align-items:center;gap:var(--space-3);color:var(--ink);text-decoration:none;font-size:var(--fs-h3);font-weight:600;min-width:168px; }
.brand small { display:block;font-size:var(--fs-micro);color:var(--ink-3);font-weight:400; }
.brand-mark { display:grid;place-items:center;width:34px;height:38px;border-radius:var(--r-lg);background:var(--accent);color:var(--on-accent);font-size:var(--fs-title); }
.shell-page-title { min-width:0;margin:0;border-left:1px solid var(--line);padding-left:var(--space-6);font-size:var(--fs-h3);font-weight:600;line-height:1.25; }
.shell-project { color:var(--ink-2);font-size:var(--fs-ui);border-left:1px solid var(--line);padding-left:var(--space-6); }
.shell-page-title + .shell-project { min-width:0;border-left:0;padding-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.topbar-actions { display:flex;align-items:center;gap:var(--space-5);margin-left:auto;flex-shrink:0; }
.whoami { display:flex;align-items:center;gap:var(--space-2);color:var(--ink);text-decoration:none; }
.whoami strong,.whoami small { display:block; }
.whoami strong { font-size:var(--fs-ui);font-weight:500; }
.whoami small { color:var(--ink-3); }
.whoami .avatar { background:var(--accent-soft);color:var(--accent);width:32px;height:32px;min-width:32px;max-width:32px;min-height:32px;max-height:32px; }
.sidebar { display:flex;flex-direction:column;justify-content:space-between;background:var(--surface);border-right:1px solid var(--line);padding:var(--space-5) var(--space-3);overflow:auto; }
.sidebar nav { display:grid;gap:var(--space-1); }
.sidebar nav a { display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--fs-ui);text-decoration:none; }
.sidebar nav a:hover { background:var(--surface-hover); }
.sidebar nav a.active { background:var(--accent-soft);color:var(--accent);font-weight:500; }
.sidebar nav a[data-nav="permissions"],.sidebar nav a[data-nav="profile"] { margin-top:var(--space-4); }
.sidebar-footer { margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line); }
.sidebar-signout-button { width:100%;justify-content:flex-start;background:transparent;color:var(--ink-2); }
#main-content { min-width:0;padding:var(--space-7) var(--space-7) var(--space-4);width:100%;max-width:var(--page-max);margin:0 auto;overflow:auto; }
#main-content:has(> .leads-list-page) { display:flex;flex-direction:column; }
#main-content > * { flex-shrink:0; }
.mobile-nav-toggle { display:none !important; }
.page-head { margin-bottom:var(--space-5); }
.page-head-actions { display:flex;align-items:center;gap:var(--space-2); }
.page-head .sub { margin:var(--space-1) 0 0; }
.page { max-width:none;padding:0;margin-bottom:var(--space-5); }
.page h1 { margin-bottom:var(--space-1); }
.eyebrow { display:none; }
/* List composition */
.leads-list-page { position:relative;display:flex;flex-direction:column;flex:1 0 auto; }
.leads-list-page > .leads-card { display:flex;flex-direction:column;flex:1; }
.leads-list-page .table-wrap { flex:none; }
.leads-list-page .list-pagination { margin-top:auto; }
.leads-card { overflow:hidden; }
.leads-filterbar,.toolbar { display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-2);margin-bottom:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg); }
.card > .leads-filterbar { margin:0;border:0;border-bottom:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0; }
.leads-search-group,.leads-filter-group { display:flex;align-items:center;gap:var(--space-2);min-width:0; }
.leads-search-group { flex:1; }
.leads-search-group input[type="search"] { max-width:320px; }
.leads-search-group select { width:auto;max-width:100px; }
.leads-filterbar input,.leads-filterbar select { margin-top:0 !important; }
.leads-filterbar select { width:auto;max-width:200px; }
.leads-filter-group { flex-wrap:wrap; }
.leads-due-date { display:flex;align-items:center;gap:var(--space-2);white-space:nowrap; }
.leads-due-date input { max-width:145px; }
.leads-overflow-toggle { width:var(--control-h);padding:var(--space-2); }
.leads-overflow-toggle svg { fill:currentColor; }
.leads-overflow-menu svg { fill:none;stroke:currentColor;stroke-width:1.6; }
.lead-table-name { min-width:150px; }
.lead-table-name > input,.lead-table-name-heading > input { display:inline-block;margin-right:var(--space-2);vertical-align:middle; }
.lead-row-control { max-width:100%;min-height:32px;justify-content:flex-start;padding:var(--space-1) var(--space-2);margin-left:calc(-1 * var(--space-2));background:transparent;color:var(--ink);border:1px solid transparent;font-weight:400; }
.lead-row-control:hover,tr:hover .lead-row-control { background:var(--surface);border-color:var(--line);filter:none; }
.lead-row-control[aria-expanded="true"] { border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft); }
.lead-row-chevron { opacity:0;stroke:currentColor;fill:none;width:12px;height:12px; }
.lead-row-control:focus-visible .lead-row-chevron,tr:hover .lead-row-chevron,.lead-row-control[aria-expanded="true"] .lead-row-chevron { opacity:1; }
.lead-row-control-value { white-space:nowrap; }
.lead-status-control .lead-row-control-value { padding:2px var(--space-2);border-radius:20px;font-size:var(--fs-meta); }
.lead-contact { color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:var(--fs-meta);overflow-wrap:anywhere; }
.lead-row-actions { display:flex;gap:var(--space-1);align-items:center;justify-content:flex-end;opacity:0; }
tr:hover .lead-row-actions,tr:focus-within .lead-row-actions { opacity:1; }
.lead-row-action,.lead-row-more { display:grid;place-items:center;width:30px;min-height:30px;padding:var(--space-1);background:transparent;color:var(--ink-2);border:0;text-decoration:none; }
.lead-row-actions svg { width:17px;height:17px;stroke:currentColor;fill:none; }
.lead-row-action-whatsapp svg { fill:currentColor;stroke:none; }
.list-pagination { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);font-size:var(--fs-meta);color:var(--ink-3); }
.lead-bulk-bar { display:flex;align-items:center;gap:var(--space-3);background:var(--accent-soft);color:var(--accent);padding:var(--space-2) var(--space-3);border-radius:var(--r-md);margin-bottom:var(--space-3); }
.lead-bulk-bar [data-clear-selection] { margin-left:auto; }
.list-pagination-left,.list-pagination-controls,.list-pagination-size,.list-pagination-bulk { display:flex;align-items:center;gap:var(--space-2); }
.list-pagination-size select { width:auto;margin:0;min-height:30px;padding:var(--space-1) var(--space-2); }
.list-pagination-button { width:30px;min-height:30px;padding:var(--space-1);background:transparent; }
.list-pagination-button svg { fill:none;stroke:currentColor;stroke-width:1.6; }
.list-pagination-summary { font-variant-numeric:tabular-nums; }
.list-pagination-bulk { color:var(--accent); }
.leads-more-options { display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);font-size:var(--fs-meta); }
/* Focused forms and dialogs */
:is(.lead-action-dialog-grid,.firm-form-grid,.project-form-grid,.team-form-grid,.cp-form-grid,.config-settings-grid,.setup-grid,.registration-grid,.lead-registration-grid) { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4); }
:is(.firm-form-grid,.project-form-grid,.team-form-grid,.cp-form-grid) label+label { margin-top:0; }
.project-form-span,.team-form-span,.cp-form-span,.span2,.full-width { grid-column:1/-1; }
:is(.firm-form-actions,.project-form-actions,.team-form-actions,.cp-form-actions,.form-actions,.registration-actions) { display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4); }
:is(.firm-dialog-note,.project-dialog-note,.team-dialog-note,.cp-dialog-note,.firm-status-note,.cp-section-note) { font-size:var(--fs-meta);color:var(--ink-2);margin:var(--space-4) 0 0; }
:is(.team-drawer-titleline,.firm-drawer-titleline,.cp-drawer-titleline,.project-drawer-titleline) { display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap; }
:is(.team-section-heading,.firm-section-heading,.project-section-heading,.cp-section-heading) p { font-size:var(--fs-meta);margin-bottom:var(--space-4);color:var(--ink-2); }
.team-project-connection,.project-member-row,.project-source-row,.cp-manager-row { padding:var(--space-4);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:var(--space-3); }
.team-project-connection small { display:block; }
.team-project-connection-readonly { display:grid;gap:var(--space-2); }
.team-invitation-panel,.cp-invitation-panel { padding:var(--space-4);background:var(--accent-soft);border-radius:var(--r-md); }
.team-invitation-panel p,.cp-invitation-panel p { font-size:var(--fs-meta); }
.team-drawer-account-actions { display:grid;gap:var(--space-4); }
.lead-edit-dialog,.team-invite-dialog,.project-create-dialog,.role-create-dialog { --dialog-w:620px; }
.timeline-head { display:flex;align-items:center;justify-content:space-between;padding:0;border:0;margin:0 0 var(--space-4);font-size:var(--fs-meta); }
.timeline-head h3 { margin:0; }
.timeline-columns,.timeline-entry-grid { display:grid;grid-template-columns:minmax(0,1fr) 80px 76px;gap:var(--space-3); }
.timeline-columns { margin-left:var(--space-6);padding-bottom:var(--space-2);font-size:var(--fs-micro);color:var(--ink-3); }
.timeline-entry { position:relative;padding-bottom:var(--space-5); }
.timeline-entry::before { content:'';position:absolute;left:-23px;top:5px;width:9px;height:9px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface); }
.timeline-entry-update::before { background:var(--accent);border-color:var(--accent); }
.timeline-entry-grid time,.timeline-entry-actor { font-size:var(--fs-micro);color:var(--ink-3); }
.timeline-entry-activity strong { font-size:var(--fs-ui);font-weight:500; }
.timeline-entry-activity > span,.timeline-entry-kindline > span { display:none; }
.timeline-entry-detail { margin-top:var(--space-2);font-size:var(--fs-ui); }
.timeline-entry-detail .note { border:0;background:transparent;padding:0;margin:0; }
.timeline-amend-button { background:transparent;color:var(--accent);padding:0;min-height:24px;font-size:var(--fs-micro);text-decoration:underline; }
.timeline-follow-up { display:inline-flex;gap:var(--space-2);font-size:var(--fs-micro);padding:var(--space-1) var(--space-2);background:var(--surface-sunk);border-radius:20px;margin-top:var(--space-2); }
.notes-wrap .note { margin-bottom:var(--space-2); }
.notes-wrap .muted { font-size:var(--fs-meta); }
/* Administration */
.roles-page,.profile-page,.config-page { display:grid;gap:var(--space-5); }
.roles-layout,.config-layout { display:grid;grid-template-columns:minmax(250px,1fr) minmax(0,2fr);gap:var(--space-5); }
.roles-list-card header,.roles-editor-card header,.profile-panel-head,.config-panel-head { display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--line); }
.roles-editor-form > :not(header):not(footer),.role-create-form > :not(header):not(footer) { margin:var(--space-5); }
.roles-editor-actions { display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:var(--surface-sunk); }
.roles-editor-actions span { color:var(--ink-2);font-size:var(--fs-meta); }
.roles-permission-identity { display:grid;gap:var(--space-1); }
.roles-permission-key { color:var(--ink-3);font:inherit;font-size:var(--fs-micro); }
.roles-row-badges { display:flex;gap:var(--space-1); }
.perms { list-style:none;padding:0;margin:0; }
.perm { display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--line); }
.perm .reason { margin-left:auto;color:var(--ink-3);font-size:var(--fs-meta); }
.perm form { margin-left:auto; }
.perm.blocked { color:var(--ink-3); }
.perm.held { background:var(--accent-soft); }
.config-status-create,.config-settings-form { padding:var(--space-5); }
.config-status-head,.config-status-row { display:grid;grid-template-columns:minmax(140px,1fr) 70px 70px 70px 80px;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--line); }
.config-status-head { color:var(--ink-3);font-size:var(--fs-meta); }
.config-settings-group { margin-bottom:var(--space-6); }
.config-settings-group header { display:flex;gap:var(--space-3); }
.config-settings-group header > span,.profile-security-icon { display:none; }
.config-unit-input { display:flex;align-items:center;gap:var(--space-2); }
.config-unit-input > span { font-size:var(--fs-meta); }
.config-settings-actions { text-align:right; }
.profile-hero { display:flex;align-items:center;gap:var(--space-4); }
.profile-hero h1 { margin:0; }
.profile-avatar { display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:var(--r-xl);width:56px;height:56px;font-size:var(--fs-title); }
.profile-form,.profile-security-grid,.profile-access-grid { padding:var(--space-5); }
.profile-form-grid,.profile-fields,.profile-security-grid,.profile-access-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5); }
.profile-security-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.profile-security-action { display:grid;align-content:start;gap:var(--space-3); }
.profile-security-action h3 { font-size:var(--fs-body); }
.profile-security-action button { margin-top:var(--space-2); }
.profile-permission-list,.profile-projects ul { list-style:none;padding:0; }
.profile-projects li { display:flex;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--line); }
.profile-projects li strong,.profile-projects li span { display:block; }
.profile-permission-count { font-size:var(--fs-meta);color:var(--ink-3); }
.profile-permission-group { margin-bottom:var(--space-4); }
/* Public entry and full-page forms */
.auth-page { min-height:100vh;min-height:100dvh;display:flex;flex-direction:column; }
.auth-brand { display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-8);flex:none; }
.auth-shell,.setup-shell { width:100%;max-width:472px;margin:auto;padding:var(--space-4);flex:none; }
.auth-shell:has(.auth-card-wide),.setup-shell { max-width:680px; }
.auth-card .form,.setup-card .form { display:grid;gap:var(--space-5);padding:var(--space-7); }
.auth-header,.setup-header { margin:0;padding:0; }
.auth-header h1,.setup-header h1 { margin:0;line-height:1.25; }
.auth-header p,.setup-header p { margin:var(--space-2) 0 0;color:var(--ink-2);font-size:var(--fs-ui);overflow-wrap:anywhere; }
.auth-form,.setup-form { display:grid;gap:var(--space-5);margin:0;padding:0;min-width:0; }
.auth-two-grid,.setup-profile-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-4);align-items:start; }
.auth-phone-grid,.setup-phone-grid { display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-3) var(--space-4);align-items:start; }
.auth-field,.setup-field { display:grid;gap:var(--space-1);min-width:0;margin:0; }
.auth-form label+label,.setup-form label+label { margin-top:0; }
.auth-label,.setup-label { display:flex;align-items:center;gap:var(--space-2);line-height:20px; }
.auth-optional { color:var(--ink-3);font-size:var(--fs-micro); }
.auth-field > input,.setup-field > input,.auth-field > select,.setup-field > select,
.auth-field > .select-field,.setup-field > .select-field { margin-top:0; }
.auth-field > .select-field,.setup-field > .select-field { max-width:320px; }
.auth-page .auth-field .select-trigger,.auth-page .setup-field .select-trigger { min-height:40px; }
.auth-page .form input:not([type="hidden"]),.auth-page .form select { min-height:40px;margin-top:0; }
.auth-help,.setup-help { color:var(--ink-2);line-height:1.45; }
.auth-page .auth-field input.auth-code-input { width:180px;max-width:100%;font-size:var(--fs-h3);letter-spacing:.25em;font-variant-numeric:tabular-nums; }
.auth-recovery { margin:calc(-1 * var(--space-2)) 0 0;text-align:right;font-size:var(--fs-meta); }
.auth-submit,.setup-submit { width:100%;min-height:40px; }
.auth-card .auth-notice,.auth-card .auth-error,.setup-card .setup-error { margin:0;overflow-wrap:anywhere; }
.auth-card .auth-footer { margin:0;padding:var(--space-4) 0 0;border-top:1px solid var(--line); }
.auth-card .form > form + form { padding-top:var(--space-4);border-top:1px solid var(--line); }
.auth-links,.auth-secondary { margin-top:var(--space-5);text-align:center;font-size:var(--fs-ui); }
.auth-links a { margin-inline:var(--space-2); }
.auth-footer { margin:0;padding:var(--space-3) var(--space-4);text-align:center;font-size:var(--fs-micro);color:var(--ink-3);flex:none; }
@media (max-height:740px) {
  .auth-brand { padding-block:var(--space-3); }
  .auth-card .form,.setup-card .form { padding:var(--space-5);gap:var(--space-4); }
  .auth-form,.setup-form,.auth-two-grid,.setup-profile-grid { gap:var(--space-3); }
}
.lead-registration-page { max-width:900px;margin:auto; }
.lead-registration-card,.registration-card { padding:var(--space-6); }
.lead-registration-form { display:grid;gap:var(--space-5); }
.lead-registration-section { padding:var(--space-5);border-bottom:1px solid var(--line); }
.lead-registration-section h2 { font-size:var(--fs-h3); }
.phone-control,.phone-input-group { display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--space-2); }
[data-phone-preview] { font-size:var(--fs-micro);color:var(--ink-2);grid-column:1/-1; }
[data-phone-preview][data-resolution="recovered"] { color:var(--t-amber); }
/* Workbook review */
.bulk-upload-dialog { --dialog-w:var(--dialog-wide); }
.bulk-upload-form > header,.bulk-upload-dialog-head { display:flex;justify-content:space-between;padding:var(--space-5); }
.bulk-upload-form > section,.bulk-upload-dialog-body { padding:var(--space-5); }
.bulk-upload-grid,.bulk-upload-settings { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4); }
.bulk-upload-summary { display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4);background:var(--surface-sunk);border-radius:var(--r-md); }
.bulk-upload-summary strong { font-size:var(--fs-h3); }
.bulk-upload-issues,.bulk-upload-issues-wrap { overflow:auto;max-height:280px; }
.bulk-upload-file { padding:var(--space-5);border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--surface-hover); }
.bulk-upload-error,.bulk-upload-advisory { margin-top:var(--space-3); }
.bulk-upload-actions { display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5); }
.bulk-upload-download { margin-left:auto; }
@media(hover:none){.lead-row-actions{opacity:1}.lead-row-chevron{opacity:1}}
@media(max-width:900px){
  .app-shell { display:grid;grid-template-columns:minmax(0,1fr); }
  .topbar { min-height:var(--topbar-h);padding:var(--space-3);gap:var(--space-3); }
  .mobile-nav-toggle { display:grid !important; }
  .brand { min-width:0; }.brand small,.whoami > span:not(.avatar),.shell-project { display:none; }
  .topbar:has(.shell-page-title) .brand > span:not(.brand-mark) { display:none; }
  .topbar:has(.shell-page-title) .brand { flex-shrink:0; }
  .shell-page-title { flex:1;border-left:0;padding-left:0;font-size:15px; }
  .topbar-actions { gap:var(--space-2); }
  .sidebar { position:fixed;top:var(--topbar-h);left:0;bottom:0;width:var(--sidebar-w);z-index:45;box-shadow:var(--shadow);transform:translateX(-110%);overflow:auto; }
  [data-sidebar-open] .sidebar { transform:none; }
  #main-content { padding:var(--space-4) var(--space-3); }
  .leads-filterbar,.leads-filter-group,.leads-search-group { width:100%; }
  .leads-search-group input[type="search"] { max-width:none; }
  .leads-filter-group select { flex:1;max-width:none; }
  .lead-row-actions,.lead-row-chevron { opacity:1; }
  .lead-row-control { border-color:var(--line);margin:0; }
  .lead-row-actions { justify-content:flex-start; }
  .list-pagination { display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3); }.list-pagination-controls { margin-left:auto; }
  .lead-bulk-bar { position:sticky;bottom:0;z-index:10;flex-wrap:wrap;box-shadow:var(--shadow); }
  .list-pagination-bulk { position:fixed;bottom:0;left:0;right:0;background:var(--accent-soft);padding:var(--space-4);justify-content:space-between;z-index:40;box-shadow:var(--shadow); }
  .roles-layout,.config-layout,.profile-security-grid,.profile-access-grid { grid-template-columns:1fr; }
  .config-status-head { display:none; }.config-status-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.config-status-row > :first-child { grid-column:1/-1; }
  .timeline-columns { display:none; }.timeline-entry-grid { grid-template-columns:1fr auto;gap:var(--space-1); }.timeline-entry-activity { grid-column:1/-1; }
  .auth-brand { padding:var(--space-3) var(--space-4); }
  .auth-shell,.setup-shell { padding:var(--space-3); }
  .auth-card .form,.setup-card .form { padding:var(--space-5);gap:var(--space-4); }
  .auth-form,.setup-form,.auth-two-grid,.setup-profile-grid { gap:var(--space-3); }
  .auth-phone-grid,.setup-phone-grid { grid-template-columns:110px minmax(0,1fr);gap:var(--space-3); }
  .auth-page .auth-field .select-trigger,.auth-page .setup-field .select-trigger,.auth-submit,.setup-submit,
  .auth-page .form input:not([type="hidden"]),.auth-page .form select { min-height:44px; }
  .bulk-upload-grid,.bulk-upload-settings,.profile-form-grid,.profile-fields { grid-template-columns:1fr; }
  .lead-registration-card,.registration-card { padding:var(--space-4); }
}
/* Existing workflow compositions use the shared controls above. */
.lead-phone-group { display:flex;align-items:center;gap:var(--space-2); }
.lead-phone-number { white-space:nowrap;font-size:var(--fs-meta); }
.lead-whatsapp { display:grid;place-items:center;color:var(--ink-3);width:24px;height:24px; }
.lead-whatsapp svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5; }
.lead-whatsapp:hover { color:var(--accent); }
.lead-email { display:block;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-micro);color:var(--ink-3); }
.lead-row-overflow-toggle { width:28px;min-height:28px;padding:var(--space-1);background:transparent !important;border:0 !important; }
.lead-row-overflow-toggle svg { fill:currentColor; }
.lead-row-menu-danger { color:var(--t-red) !important; }
.lead-due-cell { white-space:nowrap;font-size:var(--fs-meta); }
.lead-register-card { max-width:900px;margin:auto; }
.lead-register-head { padding:var(--space-5) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--line); }
.lead-register-head h1 { margin:0; }
.lead-register-header-actions { display:flex;align-items:center;gap:var(--space-3); }
.lead-project-switch { display:flex;align-items:center;gap:var(--space-2); }
.lead-register-section { padding:var(--space-6); }
.lead-register-section h2 { font-size:var(--fs-h3); }
.lead-details-grid,.lead-cp-grid,.row.two { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4); }
.lead-phone-field,.team-phone-grid,.cp-phone-grid,.profile-phone-fields { display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--space-2); }
.lead-cp-attribution { grid-column:1/-1; }
.lead-register-progress,.bulk-upload-progress { display:flex;gap:var(--space-6);list-style:none;margin:0;padding:var(--space-4) var(--space-6);background:var(--surface-hover);border-bottom:1px solid var(--line); }
.lead-register-progress li,.bulk-upload-progress li { display:flex;gap:var(--space-2);align-items:center;color:var(--ink-3);font-size:var(--fs-meta); }
.lead-register-progress li > span,.bulk-upload-progress li > span { width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface-sunk); }
.lead-register-progress [aria-current="step"],.bulk-upload-progress [aria-current="step"] { color:var(--accent);font-weight:500; }
.lead-register-progress [aria-current="step"] > span,.bulk-upload-progress [aria-current="step"] > span { background:var(--accent-soft); }
.lead-register-submit { display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6); }
.lead-assignment-options,.assignment-options { display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3); }
.lead-assignment-option,.assignment-option { padding:var(--space-4);border:1px solid var(--line);border-radius:var(--r-md); }
.lead-assignment-option:has(input:checked),.assignment-option:has(input:checked) { background:var(--accent-soft);border-color:var(--accent); }
.lead-assignment-choice,.assignment-option .radio { display:flex;gap:var(--space-2);align-items:flex-start; }
.lead-assignment-choice small { display:block;color:var(--ink-2);margin-top:var(--space-1); }
.lead-assignment-person,.assignment-person-picker { margin-top:var(--space-3); }
.lead-registration-note { margin-top:var(--space-5);color:var(--ink-2); }
.lead-registration-note summary { cursor:pointer; }.lead-registration-note label { margin-top:var(--space-3); }
.bulk-upload-head { display:flex;align-items:center;justify-content:space-between;padding:var(--space-5); }.bulk-upload-head h3 { margin:0; }
.bulk-upload-close { padding:var(--space-1); }.bulk-upload-close svg,.bulk-drop-icon { width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5; }
.bulk-upload-body { padding:var(--space-5); }
.bulk-upload-settings { display:block; }.bulk-upload-settings > *+* { margin-top:var(--space-4); }
.bulk-drop-zone { position:relative;display:flex;flex-direction:column;min-height:240px;padding:var(--space-5);border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--surface-hover); }
.bulk-template-download { margin-left:auto;font-size:var(--fs-meta); }
.bulk-drop-content,.bulk-drop-intro { display:flex;flex-direction:column;align-items:center;gap:var(--space-2); }.bulk-drop-content { margin:auto; }.bulk-drop-intro { color:var(--ink-2); }
.bulk-drop-title { color:var(--ink); }.bulk-drop-help,.bulk-drop-or,.bulk-file-name { color:var(--ink-3);font-size:var(--fs-meta); }
.bulk-file-picker { display:flex;flex-direction:column;align-items:center;gap:var(--space-2); }
.bulk-file-choose { position:relative;display:inline-flex;padding:var(--space-2) var(--space-4);border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);cursor:pointer; }
.bulk-file-choose input[type="file"] { position:absolute;inset:0;opacity:0;margin:0;cursor:pointer; }
.bulk-file-choose:focus-within { outline:2px solid var(--focus);outline-offset:2px; }
.bulk-upload-footer { padding:var(--space-4) var(--space-5);border-top:1px solid var(--line);background:var(--surface-sunk);display:flex;align-items:center;gap:var(--space-3); }
.dlg-foot { display:flex;justify-content:flex-end;gap:var(--space-2);margin-left:auto; }
.bulk-footer-note { font-size:var(--fs-meta);color:var(--ink-2); }
.bulk-review-summary { display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-4);font-size:var(--fs-meta); }.bulk-review-summary dt { color:var(--ink-3); }.bulk-review-summary dd { margin:0; }
.bulk-counts { display:flex;gap:var(--space-3);flex-wrap:wrap;margin:var(--space-4) 0; }.bulk-count { padding:var(--space-3);background:var(--surface-sunk);border-radius:var(--r-md); }
.bulk-count strong { display:block;font-size:var(--fs-h3); }.bulk-count span { color:var(--ink-2);font-size:var(--fs-meta); }
.bulk-issues-wrap { max-height:250px;overflow:auto; }.bulk-issues { font-size:var(--fs-micro); }.bulk-issues td { height:auto;padding:var(--space-2); }
.bulk-advisories { margin-top:var(--space-4);font-size:var(--fs-meta); }
.bulk-visually-hidden { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.profile-hero { padding:var(--space-5); }.profile-account-tags { margin-left:auto;display:grid;gap:var(--space-1);font-size:var(--fs-meta);color:var(--ink-2); }
.profile-form-actions { margin-top:var(--space-4);text-align:right; }.profile-contact-line { display:flex;gap:var(--space-2);flex-wrap:wrap;font-size:var(--fs-meta); }
.config-workspace { display:grid;gap:var(--space-5); }.config-status-create-wrap { padding:var(--space-5); }.config-status-create-wrap h2 { font-size:var(--fs-h3); }
.config-status-create { display:grid;grid-template-columns:minmax(0,1fr) 80px 180px auto;gap:var(--space-3);align-items:end;padding:0; }
.config-status-columns { display:grid;grid-template-columns:minmax(140px,1fr) 70px 70px 70px 80px;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--ink-3);font-size:var(--fs-meta); }
.config-mobile-label { display:none; }.config-status-name-control { display:flex;align-items:center;gap:var(--space-2); }.config-count,.config-root-label { font-size:var(--fs-meta);color:var(--ink-3); }
.perm-right { display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-left:auto; }.perm-right .muted { font-size:var(--fs-micro); }
#dlg-deleg .dlg { padding:var(--space-6); }#dlg-deleg .dlg-foot { margin-top:var(--space-5); }
@media(max-width:900px){
 .lead-details-grid,.lead-cp-grid,.lead-assignment-options { grid-template-columns:1fr; }
 .lead-register-head,.lead-register-header-actions { flex-wrap:wrap; }.lead-register-section { padding:var(--space-4); }
 .config-status-create { grid-template-columns:1fr 1fr; }.config-status-create-name { grid-column:1/-1; }
 .config-status-columns { display:none; }.config-mobile-label { display:block;font-size:var(--fs-micro);color:var(--ink-3); }
 .bulk-upload-footer { flex-wrap:wrap; }.bulk-upload-progress { padding:var(--space-3);gap:var(--space-3); }
 .bulk-upload-body { padding:var(--space-3); }.bulk-upload-head { padding:var(--space-4); }
 .row.two,.assignment-options { grid-template-columns:1fr; }
 .perm { flex-direction:column;align-items:flex-start; }.perm-right { margin-left:0; }
 .profile-hero { flex-wrap:wrap; }.profile-account-tags { margin-left:0; }
}
/* Administration layouts and shared detail polish. */
.roles-workspace { display:grid;grid-template-columns:minmax(360px,1fr) minmax(0,1.15fr);gap:var(--space-5);align-items:start; }
.roles-titleline { display:flex;align-items:center;gap:var(--space-2); }.roles-titleline h2,.roles-titleline h3 { margin:0; }
.roles-permission-head { margin-bottom:var(--space-4); }.roles-permission-head p { font-size:var(--fs-meta);color:var(--ink-2); }
.roles-editor-empty { padding:var(--space-8);text-align:center;color:var(--ink-3); }.roles-editor-empty p { margin:0; }
.roles-description-cell { max-width:180px; }.roles-row-badges { margin-top:var(--space-1); }
.roles-list-table .is-selected { background:var(--accent-soft); }.roles-row-active { justify-content:center; }
.roles-list-table .right { text-align:right; }.roles-list-table .roles-active-column { text-align:center; }
.roles-permission-table td { font-size:var(--fs-meta); }.roles-permission-table .is-unavailable { opacity:.6; }
.roles-permission-table-wrap { max-height:60vh;overflow:auto; }.roles-permission-table thead { position:sticky;top:0;z-index:1; }
.role-create-form > section { margin:0 !important; }.role-create-permissions { margin-top:var(--space-5); }
.role-create-dialog { --dialog-w:800px; }.role-dialog-note { margin-right:auto;font-size:var(--fs-meta);color:var(--ink-3); }
[class$='-visually-hidden'] { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.drawer-head { position:sticky;top:0;z-index:1; }.drawer-head .sub { font-size:var(--fs-meta); }
.drawer .note { white-space:pre-wrap;overflow-wrap:anywhere; }.drawer .note.internal { border:1px solid var(--line);border-radius:var(--r-md);padding:var(--space-3);background:var(--surface-sunk); }
.timeline-entry-actor { overflow-wrap:anywhere; }.timeline-head h3 { color:var(--ink); }.was { margin-inline:0;padding:var(--space-3);background:var(--surface-sunk);border-left:2px solid var(--line-2);white-space:pre-wrap; }
.lead-row-actions { min-width:64px; }.lead-phone-number { color:var(--ink); }
.lead-bulk-bar ~ .leads-card { min-height:0; }
@media(min-width:901px){ .team-filterbar { padding:3px var(--space-2); } }
@media(max-width:900px){
 .roles-workspace { grid-template-columns:minmax(0,1fr); }
 .roles-permission-table-wrap { max-height:50vh; }
 .roles-editor-actions { flex-wrap:wrap; }.roles-editor-actions button { margin-left:auto; }
 .lead-row-actions { justify-content:flex-start; }
 .page-head-actions { flex-wrap:wrap; }
 .drawer-head { top:0; }
}
/* Workbook validation never moves the dialog's title or action footer. */
.bulk-upload-dialog { overflow:hidden; }
.bulk-upload-form { display:flex;flex-direction:column;height:min(90dvh,640px);overflow:hidden; }
.bulk-upload-head,.bulk-upload-progress,.bulk-upload-footer { flex:none; }
.bulk-upload-body { flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges; }
.bulk-upload-footer { height:86px; }
.bulk-upload-inputs { display:flex;flex-direction:column;min-height:100%; }
.bulk-drop-zone { flex:1; }
.bulk-upload-error { white-space:pre-line;overflow-wrap:anywhere;border-color:var(--t-red);color:var(--t-red);background:var(--t-red-bg); }
.bulk-upload-form [aria-invalid="true"] { border-color:var(--t-red); }
.bulk-upload-form .assignment-option { padding:var(--space-2); }
.bulk-upload-form .assignment-person-picker { margin-top:var(--space-2); }
.bulk-issues { min-width:660px; }
@media(max-width:900px){
 .bulk-upload-form { height:min(720px,calc(100dvh - 40px)); }
 .bulk-upload-progress { gap:var(--space-2);padding:var(--space-3); }
 .bulk-upload-progress li { font-size:var(--fs-micro); }
 .bulk-upload-footer { padding:var(--space-3);height:100px; }
 .bulk-footer-note { max-width:42%;font-size:var(--fs-micro); }
 .list-pagination { display:grid;grid-template-columns:1fr;justify-items:center; }
 .list-pagination-left { justify-self:start; }.list-pagination-controls { margin:0; }
}
.phone-resolution-feedback { grid-column:1/-1;margin:0;font-size:var(--fs-micro);color:var(--ink-2); }
.phone-resolution-feedback[data-state="warning"] { color:var(--t-amber); }
:is(.team-phone-grid,.cp-phone-grid,.profile-phone-fields,.lead-phone-field) label+label { margin-top:0; }
:is(.team-invite-body,.cp-invite-body) > *+* { margin-top:var(--space-4); }
.bulk-upload-form .assignment-option-person { display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2); }
.bulk-upload-form .assignment-person-picker { flex:1 1 130px;margin:0; }
.bulk-upload-form .assignment-person-picker select { margin-top:0; }
.perm { justify-content:space-between; }.perm > div:first-child { min-width:0; }.perm .k { display:block;font:inherit;font-size:var(--fs-meta);font-weight:500; }
.perm .muted { font-size:var(--fs-meta); }.perm-right { display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;min-width:180px; }
.toolbar { align-items:end; }.toolbar > label { flex:1 1 160px; }
@media(max-width:900px){
 .leads-filter-group { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2); }
 .leads-filter-group select { width:100%; }
 .leads-filter-group .leads-overflow { justify-self:end; }
 .leads-search-group select { flex:0 0 92px; }
 .leads-due-date input { max-width:none; }
 .reporting-managers-actions { display:flex; }
 .perm { flex-wrap:wrap;gap:var(--space-3); }.perm-right { justify-content:flex-start; }
 .toolbar > label { flex:1 1 140px; }
}
dialog .row.two label+label { margin-top:0; }
.bulk-upload-form [data-bulk-cp-attribution] { padding:var(--space-2); }
.bulk-upload-form [data-bulk-cp-attribution] .row.two { align-items:end; }
.bulk-upload-form [data-bulk-cp-primary] { margin-top:0; }
@media(max-width:900px){
 /* Team cards keep identity and account state in the scan; details stay in the drawer. */
 table.team-list-table tbody tr { grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1);padding:var(--space-2) var(--space-3); }
 table.team-list-table td:first-child { grid-column:1; }
 table.team-list-table td:nth-child(2) { grid-column:1;font-size:var(--fs-micro);color:var(--ink-2); }
 table.team-list-table td:nth-child(3),table.team-list-table td:nth-child(4),table.team-list-table td:nth-child(5) { display:none; }
 table.team-list-table td:last-child { grid-column:2;grid-row:1 / span 2;align-self:center; }
 table.team-list-table td[data-label]::before { display:none; }
}
@media(max-width:900px){
 .team-filter-group { display:flex;flex-wrap:nowrap; }
 .team-filter-group select { flex:1 1 0; }
 .team-filter-group > a,.team-filter-group > [data-menu] { flex:none; }
}
/* Leads reference: filters left, search right, quiet row picks. */
:is(#leads-filter-form,.directory-filterbar) { gap:10px;padding:8px;margin-bottom:10px;border-radius:10px; }
:is(#leads-filter-form,.directory-filterbar) .leads-filter-group { display:flex;gap:7px;flex-wrap:wrap;width:auto; }
:is(#leads-filter-form,.directory-filterbar) .leads-search-group { position:relative;flex:0 1 210px;width:210px;margin-left:auto; }
:is(#leads-filter-form,.directory-filterbar) .leads-search-group > svg { position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none; }
:is(#leads-filter-form,.directory-filterbar) .leads-search-group input[type="search"] { width:100%;max-width:none;min-height:34px;font-size:13px;padding:7px 10px 7px 30px;background:var(--paper);border-radius:7px; }
:is(#leads-filter-form,.directory-filterbar) .leads-overflow-toggle { display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;border-radius:7px; }
:is(#leads-filter-form,.directory-filterbar) .leads-overflow-toggle svg { width:16px;height:16px; }
.leads-clear-filters { border:0;background:transparent;color:var(--ink-3);font-size:12.5px;padding:6px 4px;text-underline-offset:3px;white-space:nowrap; }
:is(#leads-filter-form,.directory-filterbar) .leads-due-date input { min-height:34px;padding:6px 9px;font-size:13px;border-color:var(--accent);border-radius:7px; }
.lead-table thead th { padding:10px 12px; }
.lead-table .lead-row-control { display:inline-flex;align-items:center;gap:7px;padding:5px 7px;margin-left:-7px;min-height:0;border-radius:7px;font-size:13px; }
.lead-row-control .menu-caret { opacity:0;transition:opacity .1s; }
tr:hover .lead-row-control .menu-caret,.lead-row-control:focus-visible .menu-caret,.lead-row-control[aria-expanded="true"] .menu-caret { opacity:1; }
.lead-table .lead-status-control .lead-row-control-value { padding:2px 9px 2px 8px;font-size:12.5px;line-height:20px; }
.lead-table .lead-row-control-value { min-width:0;overflow:hidden;text-overflow:ellipsis; }
.lead-table .lead-row-dropdown { display:flex; }
.lead-table .lead-status-control .lead-row-control-value { flex:none; }
.lead-owner-static { display:inline-flex;align-items:center;gap:7px; }
.lead-table-name > input,.lead-table-name-heading > input { margin-right:22px; }
.lead-table input[type="checkbox"] { appearance:none;width:15px;height:15px;min-height:0;border:1.5px solid var(--line-2);border-radius:4px;background:var(--surface);cursor:pointer;position:relative; }
.lead-table input[type="checkbox"]:hover { border-color:var(--ink-3); }
.lead-table input[type="checkbox"]:checked,.lead-table input[type="checkbox"]:indeterminate { background:var(--accent);border-color:var(--accent); }
.lead-table input[type="checkbox"]:checked::after { content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--on-accent);border-width:0 1.8px 1.8px 0;transform:rotate(43deg); }
.lead-table input[type="checkbox"]:indeterminate::after { content:"";position:absolute;left:2.5px;top:5.5px;width:8px;height:1.8px;background:var(--on-accent); }
.lead-table .lead-table-name,.lead-table .lead-table-name-heading { padding-left:14px; }
.lead-table .lead-phone-number { font-size:13.5px;white-space:nowrap; }
.lead-table .lead-email { display:block;font-size:11.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.lead-due-cell,.lead-source-cell { font-size:12.5px;color:var(--ink-2); }
.lead-source-cell > span { white-space:nowrap; }.lead-created-age { display:block;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums; }
.lead-table .lead-row-actions { gap:2px;min-width:118px; }
.lead-table .lead-row-action,.lead-table .lead-row-overflow-toggle { display:grid;place-items:center;width:28px;height:28px;min-height:28px;padding:0;border-radius:6px; }
.lead-table .lead-row-actions svg { width:15px;height:15px; }
.lead-row-action:hover { background:var(--surface-sunk);color:var(--ink); }
.lead-row-action-whatsapp:hover { color:#1FA855;background:var(--t-green-bg); }
@media(min-width:1200px){
 .lead-table { table-layout:fixed; }
 .lead-table th:first-child { width:22%; }.lead-table th:nth-child(2) { width:148px; }.lead-table th:nth-child(3) { width:146px; }
 .lead-table th:nth-child(4) { width:20%; }.lead-table th:nth-child(5) { width:104px; }.lead-table th:nth-child(6) { width:106px; }.lead-table th:last-child { width:124px; }
 .lead-table-name > a { display:inline-block;max-width:calc(100% - 45px);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
}
@media(max-width:1199px) and (min-width:901px){ .lead-table th:nth-child(6),.lead-table td:nth-child(6) { display:none; } }
@media(max-width:900px){
 :is(#leads-filter-form,.directory-filterbar) .leads-filter-group { flex:1 0 100%; }
 :is(#leads-filter-form,.directory-filterbar) .leads-search-group { flex:1 1 0;margin-left:0; }
 .lead-table .lead-row-actions { justify-content:flex-start;opacity:1; }
 .lead-table .lead-row-actions-cell { grid-column:1 / -1; }
 .lead-table-name > input { margin-right:8px; }
}
@media(hover:none){ .lead-row-actions { opacity:1; }.lead-row-control .menu-caret { opacity:1; } }
@media(prefers-reduced-motion:reduce){ .lead-row-control .menu-caret { transition:none; } }

/* The lead detail panel follows the reference identity / notes / activity layout. */
.drawer.lead-panel { display:flex;flex-direction:column;overflow:hidden;box-shadow:none; }
.lead-panel-head { flex:none;padding:16px 20px 14px;border-bottom:1px solid var(--line); }
.lead-panel-top { display:flex;align-items:flex-start;gap:12px; }
.lead-panel-top h2 { flex:1;min-width:0;margin:0;font-size:19px;font-weight:600;letter-spacing:-.015em; }
.lead-panel-close { display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:7px;color:var(--ink-2);text-decoration:none; }
.lead-panel-close:hover { background:var(--surface-sunk);color:var(--ink); }
.lead-panel-contact { display:flex;align-items:center;gap:7px;margin-top:4px;font-size:13.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;flex-wrap:wrap; }
.lead-panel-contact .num { margin-right:3px; }
.lead-panel-email { margin:3px 0 0;font-size:13px;line-height:1.5;color:var(--ink-2);overflow-wrap:anywhere; }
.lead-panel-icon { display:grid;place-items:center;width:27px;height:27px;min-height:27px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink-2);text-decoration:none; }
.lead-panel-icon:hover { border-color:var(--line-2);background:var(--surface-sunk);filter:none; }
.lead-panel-icon.wa { color:var(--accent); }
.lead-panel-picks { display:flex;flex-wrap:wrap;gap:6px;margin-top:10px; }
.lead-panel-pick { display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:0;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:400; }
.lead-panel-pick:hover { background:var(--surface);border-color:var(--line-2);filter:none; }
.lead-panel-pick[aria-expanded="true"] { border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft); }
.lead-panel-pick:disabled { opacity:1;cursor:default; }
.lead-panel-pick .pill { font-size:12.5px;line-height:20px;padding:2px 9px 2px 8px; }
.lead-panel-pick .menu-caret { opacity:1;color:var(--ink-3); }
.lead-panel-meta { margin-top:10px;font-size:12px;line-height:1.5;color:var(--ink-3);overflow-wrap:anywhere; }
.lead-panel-meta p { margin:0; }
.lead-panel-meta p + p { margin-top:2px; }
.lead-panel-body { flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px 32px; }
.lead-panel h3.lead-panel-section { display:flex;align-items:baseline;gap:8px;margin:22px 0 12px;font-size:12.5px;color:var(--ink-3);font-weight:500; }
.lead-panel-section > span { font-weight:400;font-variant-numeric:tabular-nums; }
.lead-panel-rule { height:1px;background:var(--line);margin:24px -20px 0; }
.lead-panel-none { font-size:13px;color:var(--ink-3);margin:0 0 4px; }
.lead-panel-note { border:1px solid var(--line);border-left:2.5px solid var(--t-amber);border-radius:8px;padding:10px 12px;margin-bottom:8px;background:var(--surface); }
.lead-panel-note p { margin:0;font-size:13.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere; }
.lead-panel-note .meta { margin-top:5px;font-size:11.5px;color:var(--ink-3); }
.lead-panel-activity { margin-top:20px; }
.lead-panel-columns { display:grid;grid-template-columns:1fr 76px 74px;gap:12px;padding:0 0 7px 24px;margin-bottom:12px;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--ink-3); }
.lead-panel-timeline { position:relative;margin:0;padding:0 0 0 24px;list-style:none; }
.lead-panel-timeline::before { content:'';position:absolute;left:6px;top:6px;bottom:8px;width:1.5px;background:var(--line); }
.lead-panel-event { position:relative;display:grid;grid-template-columns:minmax(0,1fr) 76px 74px;gap:0 12px;align-items:start;padding-bottom:16px; }
.lead-panel-event:not(:last-child) { padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--line); }
.lead-panel-event::before { content:'';position:absolute;left:-23px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:1.5px solid var(--line-2); }
.lead-panel-event.is-update::before { background:var(--accent);border-color:var(--accent); }
.lead-panel-event.is-created::before { background:var(--ink-3);border-color:var(--ink-3); }
.lead-panel-event-title { font-size:13px;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:7px;flex-wrap:wrap; }
.lead-panel-event-sub { font-size:12.5px;color:var(--ink-2);margin-top:2px;line-height:1.5;overflow-wrap:anywhere; }
.lead-panel-event-text { font-size:13.5px;color:var(--ink);line-height:1.5;margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere; }
.lead-panel-event-date,.lead-panel-event-by { font-size:12px;color:var(--ink-3);padding-top:1px;font-variant-numeric:tabular-nums; }
.lead-panel-event-by { white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.lead-panel-amend { display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:28px;height:28px;min-height:28px;border:0;border-radius:4px;background:transparent;padding:6px;margin:0 0 0 6px;font:inherit;line-height:1;color:var(--accent);text-decoration:none; }
.lead-panel-amend:hover { background:var(--accent-soft); }
.lead-panel-tag { font-size:10.5px;font-weight:500;line-height:16px;padding:0 6px;border-radius:4px;color:var(--t-blue);background:var(--t-blue-bg); }
.lead-panel-tag.edited { color:var(--ink-3);background:var(--surface-sunk); }
.lead-panel-next { margin:7px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink);font-variant-numeric:tabular-nums; }
.lead-panel-error,.lead-dialog-error { margin:12px 0 0;padding:8px 10px;border-radius:6px;color:var(--t-red);background:var(--t-red-bg);font-size:12.5px; }
.lead-panel-save-state,.lead-panel-archive { margin:10px 0 0;font-size:12px;color:var(--ink-2); }
.lead-panel-save-state { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.lead-panel[aria-busy="true"] .lead-panel-picks { opacity:.65;pointer-events:none; }
.lead-panel-feedback { position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:70;max-width:calc(100% - 32px);padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow); }
@media(max-width:900px) {
  .drawer.lead-panel { width:100%;display:block;overflow-y:auto; }
  .lead-panel-head { padding:14px 16px; }
  .lead-panel-body { overflow:visible;padding:0 16px 48px; }
  .lead-panel-rule { margin-left:-16px;margin-right:-16px; }
  .lead-panel-columns { display:none; }
  .lead-panel-event { display:block;padding-bottom:18px; }
  .lead-panel-event-date,.lead-panel-event-by { display:inline;font-size:11.5px; }
  .lead-panel-event-date { display:inline-block;margin-top:6px; }
  .lead-panel-event-by::before { content:'·';margin:0 5px; }
  .lead-panel-icon { width:34px;height:34px;min-height:34px; }
}

/* Bounded lists: only records scroll; headings, filters and footer stay visible. */
#main-content:has(> .paginated-list-page) { min-height:0;overflow:hidden; }
#main-content > .paginated-list-page { flex:1 1 0;min-height:0;min-width:0; }
.paginated-list-page > * { flex-shrink:0; }
.paginated-list-page > .leads-card { flex:1 1 0;min-height:0;min-width:0; }
.paginated-list-page .list-scroll-region { flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain; }
.list-scroll-region thead th { position:sticky;top:0;z-index:2;background:var(--surface);padding:10px 12px;box-shadow:0 1px 0 var(--line); }
.list-scroll-region:focus-visible { outline:2px solid var(--accent);outline-offset:-2px; }
.paginated-list-page .lead-reference-footer { display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 4px 0;margin-top:0;border:0;color:var(--ink-3);font-size:12.5px; }
.lead-reference-footer .list-pagination-left { gap:14px;flex-wrap:wrap; }
.lead-reference-footer .list-pagination-size { gap:6px; }
.lead-reference-footer .select-field { width:56px; }
.lead-reference-footer .select-field .select-trigger { min-height:26px;height:26px;padding:3px 7px;border-radius:6px;font-size:12.5px;color:var(--ink-2); }
.lead-reference-footer .select-field .select-native { height:26px; }
.lead-reference-footer .list-pagination-controls { gap:3px; }
.lead-reference-footer .list-pagination-button,.lead-reference-footer .list-pagination-page { display:inline-flex;align-items:center;justify-content:center;min-width:28px;width:auto;height:28px;min-height:28px;padding:0 7px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink-2);font-size:12.5px;font-weight:400;font-variant-numeric:tabular-nums;text-decoration:none; }
.lead-reference-footer .list-pagination-button svg { width:11px;height:11px; }
.lead-reference-footer :is(.list-pagination-button,.list-pagination-page):hover:not(:disabled) { background:var(--surface);border-color:var(--line-2);color:var(--ink);filter:none; }
.lead-reference-footer .list-pagination-page[aria-current="page"] { background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:500; }
.lead-reference-footer .list-pagination-button:disabled { opacity:.35;cursor:default; }
.pagination-gap { display:inline-flex;justify-content:center;min-width:16px; }
.lead-table tr.is-keyboard-current { box-shadow:inset 2px 0 var(--accent);background:var(--surface-hover); }

/* Reserve the optional-date message's actual wrapped height before it appears. */
.lead-action-form .follow-up-warning { padding:10px 12px;margin:14px 0 0;border:1px solid var(--t-amber);border-radius:7px;background:var(--t-amber-bg);color:var(--t-amber);font-size:12.5px;line-height:1.5; }
.lead-action-form .follow-up-warning[hidden] { display:block !important;visibility:hidden; }

/* Review & Import: three counts, batch details, then exceptions/advisories. */
.bulk-result { display:grid;gap:16px; }
.bulk-review-heading h4 { margin:0;font-size:16px;font-weight:600; }
.bulk-review-heading p { margin:4px 0 0;color:var(--ink-2);font-size:12.5px; }
.bulk-result .bulk-counts { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0; }
.bulk-result .bulk-count { min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-sunk); }
.bulk-result .bulk-count strong { display:block;font-size:24px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums; }
.bulk-result .bulk-count span { display:block;margin-top:5px;font-size:12px;color:var(--ink-2); }
.bulk-count[data-tone="success"] { color:var(--accent);background:var(--accent-soft); }
.bulk-count[data-tone="warning"] { color:var(--t-amber);background:var(--t-amber-bg); }
.bulk-result .bulk-result-note { margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:7px;color:var(--ink-2);font-size:12.5px;line-height:1.5; }
.bulk-result[data-state="warning"] .bulk-result-note { color:var(--t-amber);background:var(--t-amber-bg);border-color:var(--t-amber); }
.bulk-result .bulk-review-summary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface); }
.bulk-review-summary > div { display:grid;gap:3px;min-width:0; }
.bulk-review-summary > div:first-child { grid-column:1 / -1; }
.bulk-review-summary dt { font-size:11.5px;color:var(--ink-3); }
.bulk-review-summary dd { font-size:13px;color:var(--ink);overflow-wrap:anywhere; }
.bulk-issue-section { min-width:0; }
.bulk-issue-section h5 { margin:0 0 8px;font-size:13px;font-weight:500; }
.bulk-result .bulk-issues-wrap { max-height:240px;border:1px solid var(--line);border-radius:8px; }
.bulk-result .bulk-issues { width:100%;table-layout:fixed;min-width:700px; }
.bulk-result .bulk-issues th:first-child { width:48px; }
.bulk-result .bulk-issues th:nth-child(2) { width:110px; }
.bulk-result .bulk-issues th:nth-child(3) { width:95px; }
.bulk-result .bulk-issues th:nth-child(4),.bulk-result .bulk-issues th:nth-child(5) { width:130px; }
.bulk-result .bulk-issues thead { position:sticky;top:0;z-index:1; }
.bulk-result .bulk-issues td { padding:9px 10px;vertical-align:top;overflow-wrap:anywhere; }
.bulk-result .bulk-issues th { padding:9px 10px; }
.bulk-result .bulk-advisories { margin:0;padding:12px;border:1px solid var(--line);border-radius:8px; }
.bulk-advisories summary { cursor:pointer;color:var(--ink-2);font-size:12.5px; }
.bulk-advisories > p { margin:10px 0;font-size:12px;color:var(--ink-3); }
@media(max-width:900px){
 .paginated-list-page .lead-reference-footer { flex-direction:column;align-items:stretch;gap:8px; }
 .lead-reference-footer .list-pagination-left { justify-content:space-between;width:100%; }
 .lead-reference-footer .list-pagination-controls { justify-content:center; }
 .bulk-result { gap:12px; }
 .bulk-result .bulk-counts { gap:6px; }
 .bulk-result .bulk-count { padding:10px 8px; }
 .bulk-result .bulk-count strong { font-size:21px; }
 .bulk-result .bulk-count span { font-size:11.5px; }
 .bulk-result .bulk-review-summary { grid-template-columns:minmax(0,1fr);gap:12px;padding:12px; }
}

.live-search-feedback { display:flex;align-items:center;gap:8px;flex-shrink:0;margin:0 0 10px;color:var(--t-red);font-size:var(--fs-meta); }
