/* ──────────────────────────────────────────────
   File Storage V2 Prototype — local.css
   ────────────────────────────────────────────── */

/* === Base === */
html, body { overflow: hidden; height: 100%; }
.page-content { min-height: 0; height: 100%; overflow: hidden; }

/* === Sidebar theme === */
.sidenav {
  --sidebar-primary-bg: var(--bg-sidebar, #ffffff);
  --sidebar-primary-border: var(--border-content-alt, #d7d9d5);
  --sidenav-text-color: var(--text-default, #121212);
  --sidenav-item-hover-bg: var(--bg-hover-subtle, #fcfcfc);
  --sidenav-item-selected-bg: var(--bg-grey-f1, #f1f1f1);
}
.sidenav-features-item-icon path,
.sidenav-features-item-icon line,
.sidenav-features-item-icon rect,
.sidenav-features-item-icon circle,
.sidenav-features-item-icon polyline {
  stroke: var(--sidenav-text-color);
  fill: none !important;
}
.sidenav-features-item-icon.meetings { top: 10px; left: 11px; width: 14px; }
.sidenav-features-item-icon.files    { top: 10px; left: 11px; width: 14px; }
.sidenav-features-item-icon.more circle {
  fill: var(--sidenav-text-color) !important;
  stroke: none !important;
}
.sidenav-features-item-icon.search path {
  fill: #22AD01 !important;
  stroke: none !important;
}
.sidenav-container { transition: width 150ms ease; }
.sidenav-company-menu-avatar { flex-shrink: 0; padding-top: 0 !important; }
.sidenav-company-switcher-collapse-toggle {
  opacity: 0; transition: opacity 150ms ease; position: relative;
}
.sidenav-container:hover .sidenav-company-switcher-collapse-toggle { opacity: 1; }
.subnavigation-items { gap: 20px; }

/* === Page scaffold === */
.contact-page-body {
  display: flex; flex-direction: column;
  height: calc(100vh - 60px); overflow: hidden;
}
.contact-content-area {
  display: flex; flex: 1; overflow: hidden; position: relative;
}
.contact-main-content {
  flex: 1; overflow-y: auto;
  padding: 34px 36px 60px 40px;
}
.contact-sidebar {
  width: 290px; flex-shrink: 0;
  border-left: 1px solid var(--border-content);
  overflow-y: auto; background: var(--bg-content);
  padding: 26px 24px;
}

/* === Tab title row === */
.tab-section-title-row {
  display: flex; align-items: center;
  justify-content: space-between; margin-bottom: 20px;
}
.tab-section-title { font-size: 16px; font-weight: 500; color: var(--text-default); }

/* ═══════════════════════════════════════════
   FOLDER CARDS
   ═══════════════════════════════════════════ */
.folders-section { margin-bottom: 24px; }
.folders-section-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 10px;
}
.folders-section-title {
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--text-lighter);
}
.folders-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(158px, 1fr));
  gap: 10px;
}
.folder-card {
  border: 1px solid var(--border-content); border-radius: 8px;
  padding: 14px 14px 12px; cursor: pointer;
  transition: all 0.12s ease; position: relative; background: var(--bg-content);
}
.folder-card:hover {
  border-color: var(--border-content-alt);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.folder-card-icon { margin-bottom: 8px; }
.folder-card-name {
  font-size: 13px; font-weight: 500; color: var(--text-default);
  margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.folder-card-meta { font-size: 11px; color: var(--text-lighter); }
.folder-card-menu {
  position: absolute; top: 8px; right: 8px;
  width: 22px; height: 22px; border: none; background: none;
  border-radius: 4px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--text-muted); font-size: 12px; letter-spacing: 1px;
  opacity: 0; transition: opacity 0.1s; line-height: 1;
}
.folder-card:hover .folder-card-menu { opacity: 1; }
.folder-card-menu:hover { background: var(--bg-grey-f1); }

/* "New folder" dashed card */
.folder-card-new {
  border: 1.5px dashed var(--border-content-alt); background: var(--bg-grey-fa);
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 5px; min-height: 86px;
  color: var(--text-lighter); font-size: 12.5px; font-weight: 500;
  transition: all 0.12s ease;
}
.folder-card-new:hover {
  border-color: #22AD01; color: #22AD01; background: #f4fff2;
}

/* Inline folder creation card */
.folder-card-creating {
  border: 1.5px solid #22AD01; background: var(--bg-content);
  display: flex; flex-direction: column; gap: 10px;
  padding: 14px; min-height: 86px; border-radius: 8px;
}
.folder-name-input {
  border: none; border-bottom: 1.5px solid #22AD01;
  padding: 2px 0; font-size: 13px; font-weight: 500;
  color: var(--text-default); outline: none;
  width: 100%; background: transparent;
}
.folder-create-actions {
  display: flex; gap: 6px;
}
.folder-create-btn {
  padding: 3px 10px; border-radius: 5px; font-size: 12px; font-weight: 500;
  cursor: pointer; border: none;
}
.folder-create-btn--confirm { background: #22AD01; color: white; }
.folder-create-btn--cancel { background: var(--bg-grey-f1); color: var(--text-muted); }

/* ═══════════════════════════════════════════
   FILE LIST (contact & client pages)
   ═══════════════════════════════════════════ */
.files-drop-zone {
  border: 1.5px dashed var(--border-content-alt); border-radius: 10px;
  padding: 24px; text-align: center; background: var(--bg-grey-fa);
  cursor: pointer; transition: all 0.15s ease; margin-bottom: 22px; position: relative;
}
.files-drop-zone:hover { border-color: #22AD01; background: #f4fff2; }
.files-drop-zone.drag-over { border-color: #22AD01; background: #edfae9; border-style: solid; }
.files-drop-zone input[type="file"] {
  position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%;
}
.drop-zone-icon {
  width: 38px; height: 38px; background: #e5f7e0; border-radius: 10px;
  display: flex; align-items: center; justify-content: center; margin: 0 auto 9px;
}
.drop-zone-title { font-size: 13.5px; font-weight: 500; color: var(--text-default); margin-bottom: 3px; }
.drop-zone-title a { color: #22AD01; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.drop-zone-hint { font-size: 12px; color: var(--text-lighter); }

/* Upload progress */
.upload-progress-list {
  display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px;
}
.upload-progress-item {
  display: flex; align-items: center; gap: 12px; padding: 10px 14px;
  background: var(--bg-grey-fa); border-radius: 8px; border: 1px solid var(--border-content);
}
.upload-progress-info {
  flex: 1; display: flex; flex-direction: column; gap: 5px; min-width: 0;
}
.upload-progress-filename {
  font-size: 13px; font-weight: 500; color: var(--text-default);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.upload-progress-bar {
  height: 3px; background: var(--border-content); border-radius: 3px; overflow: hidden;
}
.upload-progress-fill {
  height: 100%; background: #22AD01; border-radius: 3px; transition: width 0.5s ease;
}
.upload-progress-meta { font-size: 11px; color: var(--text-lighter); }
.upload-cancel-btn {
  width: 22px; height: 22px; border: none; background: none;
  color: var(--text-lighter); cursor: pointer; border-radius: 4px;
  display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0;
}
.upload-cancel-btn:hover { background: var(--bg-grey-f1); color: var(--text-muted); }

/* Toolbar */
.files-toolbar {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;
}
.files-toolbar-left { display: flex; align-items: center; gap: 8px; }
.files-toolbar-right { display: flex; align-items: center; gap: 6px; }
.files-count { font-size: 13px; color: var(--text-muted); }
.view-toggle-btn {
  width: 28px; height: 28px; border: none; background: none; border-radius: 5px;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  color: var(--text-muted); transition: background 0.1s;
}
.view-toggle-btn:hover, .view-toggle-btn.active {
  background: var(--bg-grey-f1); color: var(--text-default);
}

/* File list — 7 columns: icon | name | size | uploader | date | visibility | actions */
.files-list { display: flex; flex-direction: column; }
.files-list-header {
  display: grid;
  grid-template-columns: 34px 1fr 68px 96px 106px 130px 36px;
  gap: 0 8px; padding: 5px 12px;
  font-size: 10.5px; font-weight: 500; color: var(--text-lighter);
  border-bottom: 1px solid var(--border-content);
  margin-bottom: 2px; letter-spacing: 0.05em; text-transform: uppercase;
}
.file-row {
  display: grid;
  grid-template-columns: 34px 1fr 68px 96px 106px 130px 36px;
  gap: 0 8px; align-items: center; padding: 8px 12px;
  border-radius: 8px; cursor: default; transition: background 0.1s ease; position: relative;
}
.file-row:hover { background: var(--bg-grey-fa); }
.file-row:hover .file-row-actions { opacity: 1; }

.file-icon-wrap { display: flex; align-items: center; justify-content: center; }
.file-icon {
  width: 28px; height: 36px; border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: 8px; font-weight: 700; text-transform: uppercase; color: white; letter-spacing: 0.04em;
}
.file-icon--pdf { background: #ef4444; }
.file-icon--img { background: #8b5cf6; }
.file-icon--doc { background: #3b82f6; }
.file-icon--zip { background: #f59e0b; }
.file-icon--xls { background: #22c55e; }
.file-icon--mp4 { background: #06b6d4; }

.file-name-cell { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.file-name {
  font-size: 13px; font-weight: 500; color: var(--text-default);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.file-tag {
  display: inline-flex; align-items: center; gap: 3px;
  padding: 1px 5px; border-radius: 3px;
  font-size: 9.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;
  white-space: nowrap;
}
.file-tag--client { background: #dbeafe; color: #1d4ed8; }

/* Dedicated Size column */
.file-size-cell { font-size: 12px; color: var(--text-lighter); white-space: nowrap; }

.file-uploader-cell { display: flex; align-items: center; gap: 6px; overflow: hidden; }
.file-uploader-avatar {
  width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 8px; font-weight: 600; color: white;
}
.file-uploader-name {
  font-size: 12px; color: var(--text-muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.file-date-cell { font-size: 12px; color: var(--text-muted); white-space: nowrap; }

/* Visibility pill */
.vis-pill {
  display: inline-flex; align-items: center; gap: 3px;
  padding: 3px 8px 3px 6px; border-radius: 20px;
  font-size: 11px; font-weight: 500; cursor: pointer;
  border: none; background: none; transition: all 0.15s ease;
  white-space: nowrap; user-select: none; outline: none;
}
.vis-pill--internal { background: var(--bg-grey-f1, #f1f1f1); color: var(--text-muted); }
.vis-pill--internal:hover { background: var(--bg-grey-f5); color: var(--text-default); }
.vis-pill--shared { background: #e6f7e2; color: #166534; }
.vis-pill--shared:hover { background: #d4f0cf; }
.vis-pill svg { flex-shrink: 0; }

/* File row actions */
.file-row-actions {
  opacity: 0; display: flex; align-items: center;
  justify-content: flex-end; transition: opacity 0.1s; position: relative;
}
.file-action-btn {
  width: 26px; height: 26px; border: none; background: none;
  border-radius: 5px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--text-muted); font-size: 14px; letter-spacing: 2px; line-height: 1;
  transition: background 0.1s;
}
.file-action-btn:hover { background: var(--bg-grey-f1); color: var(--text-default); }

/* Dropdown */
.file-dropdown {
  position: absolute; right: 0; top: calc(100% + 2px);
  background: white; border: 1px solid var(--border-content);
  border-radius: 8px; box-shadow: 0 4px 14px rgba(0,0,0,0.1);
  z-index: 200; min-width: 160px; padding: 4px; display: none;
}
.file-dropdown.open { display: block; }
.file-dropdown a {
  display: flex; align-items: center; gap: 8px; padding: 7px 10px;
  font-size: 13px; color: var(--text-default); border-radius: 5px;
  cursor: pointer; text-decoration: none;
}
.file-dropdown a:hover { background: var(--bg-grey-fa); color: var(--text-default); }
.file-dropdown a.danger { color: #ef4444; }
.file-dropdown-divider { height: 1px; background: var(--border-content); margin: 4px 0; }

/* ═══════════════════════════════════════════
   LINKED RECORDS
   ═══════════════════════════════════════════ */
.linked-records-section {
  margin-top: 28px; border-top: 1px solid var(--border-content); padding-top: 16px;
}
.linked-records-toggle {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  font-size: 13px; font-weight: 500; color: var(--text-muted);
  margin-bottom: 12px; user-select: none; padding: 4px 0;
}
.linked-records-toggle:hover { color: var(--text-default); }
.linked-chevron { transition: transform 0.15s ease; color: var(--text-lighter); }
.linked-records-section.collapsed .linked-chevron { transform: rotate(-90deg); }
.linked-records-section.collapsed .linked-records-body { display: none; }
.linked-records-count {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--bg-grey-f1); color: var(--text-muted);
  font-size: 11px; font-weight: 600; padding: 1px 7px; border-radius: 10px;
}

/* Linked records — 5 cols: icon | name | size | uploader | source */
.linked-list-header {
  display: grid;
  grid-template-columns: 34px 1fr 68px 96px 1fr;
  gap: 0 8px; padding: 5px 12px;
  font-size: 10.5px; font-weight: 500; color: var(--text-lighter);
  border-bottom: 1px solid var(--border-content);
  margin-bottom: 2px; letter-spacing: 0.05em; text-transform: uppercase;
}
.linked-file-row {
  display: grid;
  grid-template-columns: 34px 1fr 68px 96px 1fr;
  gap: 0 8px; align-items: center;
  padding: 7px 12px; border-radius: 8px; cursor: default;
}
.linked-file-row:hover { background: var(--bg-grey-fa); }
.linked-source-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 7px; border-radius: 4px; font-size: 11px; font-weight: 500;
  background: var(--bg-grey-f1); color: var(--text-muted); white-space: nowrap;
}
.linked-source-badge svg { flex-shrink: 0; opacity: 0.7; }

/* ═══════════════════════════════════════════
   RIGHT SIDEBAR (contact & client)
   ═══════════════════════════════════════════ */
.sidebar-section-label {
  font-size: 11px; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--text-lighter); margin-bottom: 12px;
}
.property-row {
  display: flex; flex-direction: column; gap: 2px;
  padding: 7px 0; border-bottom: 1px solid var(--border-content);
}
.property-row:last-child { border-bottom: none; }
.property-label {
  font-size: 10.5px; color: var(--text-lighter); font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.04em;
}
.property-value { font-size: 13px; color: var(--text-default); }
.property-value a { color: var(--color-primary); text-decoration: none; }
.property-value a:hover { text-decoration: underline; }

/* ═══════════════════════════════════════════
   GLOBAL FILES HUB — two-column layout
   ═══════════════════════════════════════════ */
.files-hub-page {
  display: flex; flex-direction: row;
  height: calc(100vh - 60px); overflow: hidden;
}

/* Left navigation panel (Plutio-style) */
.files-hub-left-nav {
  width: 236px; flex-shrink: 0;
  border-right: 1px solid var(--border-content);
  overflow-y: auto; background: var(--bg-content);
  display: flex; flex-direction: column;
}
.fhnav-top { padding: 16px 0 8px; }

.fhnav-item {
  display: flex; align-items: center; gap: 9px;
  padding: 6px 16px; font-size: 13px; color: var(--text-muted);
  cursor: pointer; transition: background 0.1s; text-decoration: none;
  position: relative;
}
.fhnav-item:hover { background: var(--bg-grey-fa); color: var(--text-default); }
.fhnav-item.active {
  background: var(--bg-grey-f1); color: var(--text-default); font-weight: 500;
}
.fhnav-item-icon {
  width: 18px; height: 18px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; color: var(--text-lighter);
}
.fhnav-item.active .fhnav-item-icon { color: var(--text-default); }
.fhnav-item-count {
  margin-left: auto; font-size: 11px; font-weight: 500;
  color: var(--text-lighter); background: var(--bg-grey-f1);
  padding: 0 5px; border-radius: 8px; min-width: 18px; text-align: center;
}

.fhnav-divider { height: 1px; background: var(--border-content); margin: 8px 16px; }

.fhnav-section { padding-bottom: 8px; }
.fhnav-section-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 16px 4px; cursor: pointer;
}
.fhnav-section-label {
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--text-lighter);
  display: flex; align-items: center; gap: 5px;
}
.fhnav-section-header:hover .fhnav-section-label { color: var(--text-muted); }
.fhnav-section-chevron { transition: transform 0.15s ease; color: var(--text-lighter); }
.fhnav-section.collapsed .fhnav-section-chevron { transform: rotate(-90deg); }
.fhnav-section.collapsed .fhnav-section-body { display: none; }

.fhnav-entity-item {
  display: flex; align-items: center; gap: 8px;
  padding: 5px 16px; font-size: 13px; color: var(--text-muted);
  cursor: pointer; transition: background 0.1s; text-decoration: none;
}
.fhnav-entity-item:hover { background: var(--bg-grey-fa); color: var(--text-default); }
.fhnav-entity-item.active { background: var(--bg-grey-f1); color: var(--text-default); font-weight: 500; }
.fhnav-avatar {
  width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 8px; font-weight: 600; color: white;
}
.fhnav-logo {
  width: 20px; height: 20px; border-radius: 4px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; font-weight: 700; color: white; letter-spacing: 0;
}
.fhnav-entity-name {
  flex: 1; min-width: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fhnav-entity-count {
  font-size: 11px; color: var(--text-lighter); flex-shrink: 0;
}

/* Project filter tabs (Active / All) */
.fhnav-project-tabs {
  display: flex; gap: 0; margin: 4px 16px 6px;
  background: var(--bg-grey-f1); border-radius: 6px; padding: 2px;
}
.fhnav-project-tab {
  flex: 1; text-align: center; padding: 3px 8px; border-radius: 4px;
  font-size: 11.5px; font-weight: 500; cursor: pointer;
  color: var(--text-muted); transition: all 0.12s; user-select: none;
}
.fhnav-project-tab.active {
  background: white; color: var(--text-default);
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.fhnav-search-item {
  display: flex; align-items: center; gap: 8px;
  padding: 5px 16px 8px; font-size: 12.5px; color: var(--text-lighter);
  cursor: pointer;
}
.fhnav-search-item:hover { color: var(--text-muted); }

/* Storage bar at bottom */
.fhnav-storage {
  margin-top: auto; padding: 14px 16px;
  border-top: 1px solid var(--border-content); font-size: 11.5px; color: var(--text-lighter);
}
.fhnav-storage-bar {
  height: 4px; background: var(--bg-grey-f1); border-radius: 4px; overflow: hidden; margin: 6px 0 4px;
}
.fhnav-storage-fill { height: 100%; background: #22AD01; border-radius: 4px; }

/* Right panel */
.files-hub-right-panel {
  flex: 1; display: flex; flex-direction: column; overflow: hidden;
}
.files-hub-header {
  padding: 24px 36px 0; border-bottom: 1px solid var(--border-content);
  background: var(--bg-content);
}
.files-hub-title-row {
  display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 6px;
}
.files-hub-title { font-size: 20px; font-weight: 600; color: var(--text-default); }
.files-hub-breadcrumb {
  display: flex; align-items: center; gap: 6px; margin-bottom: 4px;
  font-size: 12.5px; color: var(--text-lighter);
}
.files-hub-breadcrumb a {
  color: var(--text-lighter); text-decoration: none; cursor: pointer;
}
.files-hub-breadcrumb a:hover { color: var(--text-muted); }
.files-hub-subtitle { font-size: 12.5px; color: var(--text-muted); margin-bottom: 18px; }

/* Filter pills */
.files-hub-filter-bar {
  display: flex; align-items: center; gap: 8px; padding-bottom: 14px; flex-wrap: wrap;
}
.filter-pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 12px; border-radius: 20px;
  font-size: 12.5px; font-weight: 500; cursor: pointer;
  border: 1px solid var(--border-content); background: var(--bg-content);
  color: var(--text-muted); transition: all 0.12s ease; user-select: none;
}
.filter-pill:hover { border-color: var(--border-content-alt); color: var(--text-default); }
.filter-pill.active { background: #121212; border-color: #121212; color: white; }
.filter-pill.active .filter-pill-count { background: rgba(255,255,255,0.2); color: white; }
.filter-pill-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 16px; height: 16px; padding: 0 4px;
  border-radius: 10px; font-size: 10px; font-weight: 600;
  background: var(--bg-grey-f1); color: var(--text-muted);
}
.filter-divider { width: 1px; height: 18px; background: var(--border-content); margin: 0 2px; }
.filter-select {
  display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px;
  border-radius: 20px; font-size: 12.5px; font-weight: 500; cursor: pointer;
  border: 1px solid var(--border-content); background: var(--bg-content);
  color: var(--text-muted); transition: all 0.12s ease; position: relative;
}
.filter-select:hover { border-color: var(--border-content-alt); color: var(--text-default); }

/* Hub main content */
.files-hub-content {
  flex: 1; overflow-y: auto; padding: 22px 36px 60px;
}
.hub-search-row {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px;
}

/* Hub file list — 8 cols: icon | name | size | context | uploader | date | visibility | actions */
.hub-files-list { display: flex; flex-direction: column; }
.hub-files-list-header {
  display: grid;
  grid-template-columns: 34px 1fr 68px 160px 96px 106px 130px 36px;
  gap: 0 8px; padding: 5px 12px;
  font-size: 10.5px; font-weight: 500; color: var(--text-lighter);
  border-bottom: 1px solid var(--border-content);
  margin-bottom: 2px; letter-spacing: 0.05em; text-transform: uppercase;
}
.hub-file-row {
  display: grid;
  grid-template-columns: 34px 1fr 68px 160px 96px 106px 130px 36px;
  gap: 0 8px; align-items: center; padding: 8px 12px;
  border-radius: 8px; cursor: default; transition: background 0.1s ease; position: relative;
}
.hub-file-row:hover { background: var(--bg-grey-fa); }
.hub-file-row:hover .file-row-actions { opacity: 1; }

/* Entity badges */
.entity-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 8px; border-radius: 5px;
  font-size: 11.5px; font-weight: 500; white-space: nowrap;
  max-width: 100%; overflow: hidden; text-overflow: ellipsis;
}
.entity-badge--project { background: #fef3e2; color: #b45309; }
.entity-badge--contact { background: #ede9fe; color: #6d28d9; }
.entity-badge--company { background: #dbeafe; color: #1d4ed8; }
.entity-badge--deal    { background: #dcfce7; color: #15803d; }

/* ═══════════════════════════════════════════
   TOAST
   ═══════════════════════════════════════════ */
.toast-notification {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
  background: #121212; color: white; padding: 10px 18px; border-radius: 8px;
  font-size: 13px; font-weight: 500; display: flex; align-items: center; gap: 10px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2); z-index: 9999;
  opacity: 0; pointer-events: none; transition: opacity 0.2s ease;
}
.toast-notification.visible { opacity: 1; pointer-events: auto; }
.toast-dot { width: 7px; height: 7px; border-radius: 50%; background: #22AD01; flex-shrink: 0; }
