:root{--ee-primary:#2c7be5;--ee-danger:#e63757;--ee-bg:var(--falcon-body-bg)}
body{background:var(--falcon-body-bg);color:var(--falcon-body-color)}
.content{min-height:100vh}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.page-head h1{font-size:1.55rem;margin:0;font-weight:600}
.page-head p{margin:.35rem 0 0}
.page-head .btn-group{margin-top:.5rem}
.stat-card{display:block;height:100%;padding:1.25rem;color:inherit;text-decoration:none;border:1px solid var(--falcon-border-color,#d8e2ef);border-radius:.375rem;box-shadow:var(--falcon-box-shadow)}
.stat-card:hover{color:inherit;box-shadow:0 .25rem .75rem rgba(0,0,0,.08)}
.stat-card small{display:block;color:var(--falcon-tertiary-color);margin-bottom:.35rem}.stat-card strong{display:block;font-size:1.55rem;font-weight:600}
.empty,.empty-sm{text-align:center;color:var(--falcon-tertiary-color)}.empty{padding:3rem}.empty-sm{padding:1.5rem}
.table>thead{background:var(--falcon-tertiary-bg)}.table>thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--falcon-tertiary-color);font-weight:600;white-space:nowrap}
.pipeline{display:grid;grid-template-columns:repeat(6,minmax(240px,1fr));gap:1rem;overflow-x:auto;padding-bottom:.5rem}.pipeline-col{background:var(--falcon-tertiary-bg);border:1px solid var(--falcon-border-color);border-radius:.375rem;padding:.75rem;min-height:430px}.pipeline-head{display:flex;justify-content:space-between;align-items:center;padding:.25rem .25rem .75rem}.deal-card{background:var(--falcon-card-bg);border:1px solid var(--falcon-border-color);border-radius:.375rem;padding:1rem;margin-bottom:.75rem;box-shadow:var(--falcon-box-shadow-sm)}.deal-card a{display:block;color:inherit;text-decoration:none}.deal-card small,.deal-card strong{display:block;margin-top:.4rem}.timeline-item{padding:.75rem 0;border-bottom:1px solid var(--falcon-border-color,#d8e2ef)}
.login-bg{min-height:100vh;background:var(--falcon-body-bg);color:var(--falcon-body-color)}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:min(430px,100%);background:var(--falcon-card-bg);border:1px solid var(--falcon-border-color);border-radius:.5rem;box-shadow:var(--falcon-box-shadow);padding:2rem;color:var(--falcon-body-color)}.brand{font-family:Poppins,sans-serif;font-size:1.6rem;font-weight:700}.brand span{color:var(--ee-primary)}

/* Ember Eye CRM - theme-aware UI */
html[data-bs-theme="dark"] {
  color-scheme: dark;
}

.table > thead {
  background: var(--falcon-quaternary-bg, #f9fafd);
}
.pipeline-col {
  background: var(--falcon-quaternary-bg, #e9eef5);
  border-color: var(--falcon-border-color);
}
.deal-card {
  background: var(--falcon-card-bg);
  border-color: var(--falcon-border-color);
}
.login-bg { background: var(--falcon-body-bg); }
.login-card {
  background: var(--falcon-card-bg);
  border-color: var(--falcon-border-color);
  color: var(--falcon-body-color);
}

/* Chat is intentionally prefixed to avoid colliding with Falcon's built-in
   .chat-sidebar component. */
.ee-chat-shell {
  height: calc(100vh - 175px);
  min-height: 560px;
  display: grid;
  grid-template-columns: minmax(270px, 310px) minmax(0, 1fr);
  background: var(--falcon-card-bg);
  border: 1px solid var(--falcon-border-color);
  border-radius: .5rem;
  overflow: hidden;
  box-shadow: var(--falcon-box-shadow);
}
.ee-chat-sidebar {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  z-index: auto !important;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--falcon-card-bg);
  border-right: 1px solid var(--falcon-border-color);
  overflow: hidden;
}
.ee-chat-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 1rem 1rem .9rem;
  border-bottom: 1px solid var(--falcon-border-color);
}
.ee-chat-conversation-list {
  padding: .5rem;
  overflow-y: auto;
  flex: 1 1 auto;
  min-height: 0;
}
.ee-chat-conversation {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-width: 0;
  padding: .7rem;
  margin-bottom: .2rem;
  color: var(--falcon-body-color);
  text-decoration: none;
  border-radius: .4rem;
  transition: background-color .15s ease, color .15s ease;
}
.ee-chat-conversation:hover {
  color: var(--falcon-heading-color);
  background: var(--falcon-quaternary-bg);
}
.ee-chat-conversation.active {
  color: var(--falcon-heading-color);
  background: rgba(var(--falcon-primary-rgb), .10);
}
.ee-chat-conversation-content {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
}
.ee-chat-conversation-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  min-width: 0;
}
.ee-chat-conversation-top strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .86rem;
}
.ee-chat-conversation-top time {
  flex: 0 0 auto;
  color: var(--falcon-tertiary-color);
  font-size: .68rem;
}
.ee-chat-conversation-preview {
  display: block;
  margin-top: .15rem;
  color: var(--falcon-tertiary-color);
  font-size: .75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ee-chat-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--falcon-quaternary-bg);
  color: var(--falcon-primary);
}
.ee-chat-avatar-sm {
  width: 30px;
  height: 30px;
  flex-basis: 30px;
  font-size: .75rem;
}
.ee-chat-avatar-lg {
  width: 46px;
  height: 46px;
  flex-basis: 46px;
  font-size: 1rem;
}
.ee-chat-direct-section {
  flex: 0 0 auto;
  max-height: 230px;
  overflow-y: auto;
  padding: .75rem;
  border-top: 1px solid var(--falcon-border-color);
}
.ee-chat-section-label {
  padding: 0 .4rem .5rem;
  color: var(--falcon-tertiary-color);
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.ee-chat-user-form { margin: .15rem 0; }
.ee-chat-user-button {
  display: flex;
  align-items: center;
  gap: .6rem;
  width: 100%;
  padding: .45rem .5rem;
  border: 0;
  border-radius: .35rem;
  background: transparent;
  color: var(--falcon-body-color);
  text-align: left;
}
.ee-chat-user-button:hover {
  background: var(--falcon-quaternary-bg);
}
.ee-chat-main {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-width: 0;
  min-height: 0;
  background: var(--falcon-card-bg);
}
.ee-chat-main-header {
  min-width: 0;
  padding: .9rem 1.25rem;
  border-bottom: 1px solid var(--falcon-border-color);
}
.ee-chat-main-person {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}
.ee-chat-messages {
  min-height: 0;
  padding: 1.25rem 1.5rem;
  overflow-y: auto;
  background: var(--falcon-body-bg);
}
.ee-chat-message {
  display: flex;
  flex-direction: column;
  max-width: min(72%, 680px);
  margin-bottom: 1rem;
}
.ee-chat-message.other { align-items: flex-start; }
.ee-chat-message.own {
  align-items: flex-end;
  margin-left: auto;
}
.ee-chat-message-meta {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .25rem;
  padding: 0 .25rem;
  color: var(--falcon-tertiary-color);
  font-size: .7rem;
}
.ee-chat-message-meta strong { color: var(--falcon-heading-color); }
.ee-chat-message-bubble {
  padding: .65rem .85rem;
  border-radius: .8rem;
  background: var(--falcon-card-bg);
  border: 1px solid var(--falcon-border-color);
  color: var(--falcon-body-color);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.ee-chat-message.own .ee-chat-message-bubble {
  background: var(--falcon-primary);
  border-color: var(--falcon-primary);
  color: #fff;
  border-bottom-right-radius: .25rem;
}
.ee-chat-message.other .ee-chat-message-bubble {
  border-bottom-left-radius: .25rem;
}
.ee-chat-input {
  padding: .85rem 1rem;
  border-top: 1px solid var(--falcon-border-color);
  background: var(--falcon-card-bg);
}
.ee-chat-input-inner {
  display: flex;
  align-items: center;
  gap: .65rem;
  max-width: 900px;
  margin: 0 auto;
}
.ee-chat-input-inner .form-control {
  min-height: 46px;
  flex: 1 1 auto;
}
.ee-chat-send-button {
  min-height: 46px;
  min-width: 88px;
}
.ee-chat-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 100%;
  padding: 2rem;
  text-align: center;
}
.ee-chat-empty-icon {
  width: 64px;
  height: 64px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: var(--falcon-quaternary-bg);
  color: var(--falcon-primary);
  font-size: 1.4rem;
}
.ee-chat-member-picker {
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid var(--falcon-border-color);
  border-radius: .35rem;
}
.ee-chat-member-option {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0;
  padding: .65rem .75rem;
  border-bottom: 1px solid var(--falcon-border-color);
  font-weight: 400;
  cursor: pointer;
}
.ee-chat-member-option:last-child { border-bottom: 0; }
.ee-chat-member-option:hover { background: var(--falcon-quaternary-bg); }
.ee-chat-member-option .form-check-input { margin: 0; flex: 0 0 auto; }

@media (max-width: 900px) {
  .ee-chat-shell {
    height: calc(100vh - 155px);
    min-height: 500px;
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
  }
  .ee-chat-sidebar {
    max-height: 260px;
    border-right: 0;
    border-bottom: 1px solid var(--falcon-border-color);
  }
  .ee-chat-conversation-list { max-height: 150px; }
  .ee-chat-direct-section { display: none; }
  .ee-chat-message { max-width: 88%; }
}

.ee-task-filters {
  display: flex;
  align-items: center;
  gap: .25rem;
  flex-wrap: wrap;
  padding: .25rem;
  background: var(--falcon-quaternary-bg);
  border: 1px solid var(--falcon-border-color);
  border-radius: .5rem;
  width: fit-content;
}
.ee-task-filter {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: .3rem .7rem;
  border-radius: .35rem;
  color: var(--falcon-body-color);
  text-decoration: none;
  font-size: .78rem;
  font-weight: 600;
  white-space: nowrap;
}
.ee-task-filter:hover {
  color: var(--falcon-heading-color);
  background: var(--falcon-card-bg);
}
.ee-task-filter.active {
  color: var(--falcon-primary);
  background: var(--falcon-card-bg);
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
@media (max-width: 576px) {
  .ee-task-filters { width: 100%; overflow-x: auto; flex-wrap: nowrap; }
}

/* Chat tabs */
.ee-chat-tabs {
  display: flex;
  gap: .25rem;
  padding: .65rem .75rem .5rem;
  border-bottom: 1px solid var(--falcon-border-color);
  background: var(--falcon-card-bg);
}
.ee-chat-tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--falcon-body-color);
  padding: .55rem .75rem;
  border-radius: .4rem;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
.ee-chat-tab:hover { background: var(--falcon-quaternary-bg); color: var(--falcon-heading-color); }
.ee-chat-tab.active { background: rgba(var(--falcon-primary-rgb), .1); color: var(--falcon-primary); }
.ee-chat-tab .badge { font-size: .62rem; vertical-align: 1px; }
.ee-chat-tab-panels { flex: 1 1 auto; min-height: 0; overflow: hidden; display: flex; }
.ee-chat-tab-panel { display: none; flex: 1 1 auto; min-height: 0; flex-direction: column; }
.ee-chat-tab-panel.active { display: flex; }
.ee-chat-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .75rem 1rem .6rem;
  border-bottom: 1px solid var(--falcon-border-color);
}
.ee-chat-panel-heading strong { display: block; font-size: .78rem; color: var(--falcon-heading-color); }
.ee-chat-panel-heading small { display: block; margin-top: .1rem; color: var(--falcon-tertiary-color); font-size: .68rem; }
.ee-chat-person-row { text-align: left; }
.ee-chat-person-row.active { background: rgba(var(--falcon-primary-rgb), .1); color: var(--falcon-heading-color); }
.ee-chat-panel-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .15rem;
  padding: 2rem 1rem;
  text-align: center;
  color: var(--falcon-tertiary-color);
  font-size: .75rem;
}
.ee-chat-panel-empty .ee-chat-empty-icon { margin-bottom: .5rem; }
@media (max-width: 767.98px) {
  .ee-chat-tabs { padding-inline: .5rem; }
  .ee-chat-tab { flex: 1 1 50%; text-align: center; }
}

/* -------------------------------------------------------------------------- */
/* Dark mode polish                                                          */
/* -------------------------------------------------------------------------- */
[data-bs-theme="dark"] body {
  background: var(--falcon-body-bg);
  color: var(--falcon-body-color);
}

[data-bs-theme="dark"] .content,
[data-bs-theme="dark"] .content > .p-3,
[data-bs-theme="dark"] .content > .p-lg-4 {
  background: transparent;
}

[data-bs-theme="dark"] .page-head h1,
[data-bs-theme="dark"] .page-head p,
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .table,
[data-bs-theme="dark"] .form-label,
[data-bs-theme="dark"] .form-text {
  color: var(--falcon-body-color);
}

[data-bs-theme="dark"] .page-head h1,
[data-bs-theme="dark"] .card-title,
[data-bs-theme="dark"] .card-header,
[data-bs-theme="dark"] .modal-title,
[data-bs-theme="dark"] .dropdown-header {
  color: var(--falcon-heading-color);
}

[data-bs-theme="dark"] .table {
  --falcon-table-color: var(--falcon-body-color);
  --falcon-table-bg: transparent;
}

[data-bs-theme="dark"] .table > :not(caption) > * > * {
  background-color: transparent;
  color: var(--falcon-body-color);
  border-color: var(--falcon-border-color);
}

[data-bs-theme="dark"] .table > thead {
  background: var(--falcon-tertiary-bg);
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background-color: var(--falcon-input-bg);
  color: var(--falcon-body-color);
  border-color: var(--falcon-border-color);
}

[data-bs-theme="dark"] .form-control::placeholder {
  color: var(--falcon-tertiary-color);
}

[data-bs-theme="dark"] .badge.text-bg-light {
  background-color: var(--falcon-secondary-bg) !important;
  color: var(--falcon-body-color) !important;
}

[data-bs-theme="dark"] .bg-light {
  background-color: var(--falcon-tertiary-bg) !important;
  color: var(--falcon-body-color) !important;
}

[data-bs-theme="dark"] .btn-light {
  color: var(--falcon-body-color);
  background-color: var(--falcon-tertiary-bg);
  border-color: var(--falcon-border-color);
}
