:root {
  --color-primary: #0e5573;
  --color-primary-soft: #e8f5fc;
  --color-secondary: #078bd3;
  --color-secondary-dark: #056da9;
  --color-background: #f3f5f7;
  --color-surface: #ffffff;
  --color-surface-strong: #ffffff;
  --color-surface-alt: #f8fafc;
  --color-border: #dfe5eb;
  --color-border-strong: #c9d3dd;
  --color-text-primary: #0c1b2a;
  --color-text-secondary: #56677a;
  --color-text-muted: #9aa7b5;
  --color-success: #20bf6b;
  --color-success-soft: #e5f8ee;
  --color-warning: #e58e26;
  --color-warning-soft: #fff3df;
  --color-danger: #e04444;
  --color-danger-soft: #fde8e8;
  --color-info: #0b9fdb;
  --color-info-soft: #e5f6fd;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 10px;
  --shadow-soft: 0 1px 3px rgba(15, 23, 42, .08);
  --shadow-subtle: 0 1px 2px rgba(15, 23, 42, .06);
  --shadow-raised: 0 8px 18px rgba(15, 23, 42, .08);
  --shadow-pressed: inset 0 0 0 1px var(--color-border);
  --shadow-blue: none;
  --sidebar-width: 220px;
  --sidebar-collapsed-width: 64px;
  --topbar-height: 76px;
}

body {
  color: var(--color-text-primary);
  background: var(--color-background) !important;
}

.app-shell,
.app-shell.sidebar-collapsed {
  gap: 0;
  min-height: 100vh;
  padding: 0;
}

.app-shell {
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
}

.app-shell.sidebar-collapsed {
  grid-template-columns: var(--sidebar-collapsed-width) minmax(0, 1fr);
}

.workspace,
.main-content {
  background: var(--color-background) !important;
}

.main-content {
  padding: 24px 28px 40px;
}

.sidebar {
  top: 0;
  height: 100vh;
  margin: 0;
  padding: 0;
  gap: 0;
  color: #eaf6fc;
  background: #0e5573 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none;
}

.brand {
  min-height: 68px;
  padding: 14px 16px;
  color: #ffffff;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

.brand-mark {
  width: 38px;
  height: 38px;
  color: #ffffff !important;
  background: transparent !important;
  border: 2px solid #16a9e0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.brand-copy strong,
.brand-copy span {
  color: #ffffff !important;
  line-height: 1.15;
}

.brand-copy strong {
  font-size: 1.12rem;
  letter-spacing: .02em;
}

.brand-copy span {
  color: rgba(255,255,255,.72) !important;
  font-size: .68rem;
}

.sidebar-nav {
  gap: 12px;
  padding: 14px 8px;
  overflow-y: auto;
}

.nav-section {
  gap: 3px;
}

.nav-section-title {
  padding: 12px 8px 6px;
  color: #16a9e0 !important;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.nav-item {
  min-height: 36px;
  margin: 0;
  padding: 8px 10px;
  color: rgba(255,255,255,.9) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.nav-item:hover,
.nav-item:focus-visible {
  color: #ffffff !important;
  background: rgba(255,255,255,.08) !important;
  box-shadow: none !important;
}

.nav-item.active {
  color: #ffffff !important;
  background: #087fb5 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.nav-icon,
.nav-item.active .nav-icon {
  width: 21px;
  height: 21px;
  flex-basis: 21px;
  color: currentColor !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.nav-badge {
  color: #0e5573;
  background: #d9f3ff !important;
  border: 0 !important;
  box-shadow: none !important;
}

.sidebar-user {
  margin: auto 0 0;
  padding: 14px 12px;
  background: rgba(0,0,0,.12) !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.sidebar-user .avatar,
.avatar,
.avatar.small {
  color: #0e5573 !important;
  background: #eaf6fc !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  box-shadow: none !important;
}

.sidebar-user-copy strong {
  color: #ffffff !important;
}

.sidebar-user-copy span {
  color: rgba(255,255,255,.72) !important;
}

.topbar {
  top: 0;
  min-height: var(--topbar-height);
  margin: 0;
  padding: 0 28px;
  color: var(--color-text-primary);
  background: var(--color-background) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none;
}

.section-title p {
  color: var(--color-text-secondary) !important;
  font-size: .76rem;
}

.section-title h1 {
  color: var(--color-text-primary) !important;
  font-size: 1.58rem;
  font-weight: 900;
}

.global-search input,
input,
select,
textarea,
.view-select,
.filter-control select,
.filter-control input,
.clients-search input,
.follow-ups-search input,
.tasks-search input,
.visits-search input,
.negotiations-search input,
.report-search input {
  color: var(--color-text-primary) !important;
  background: #ffffff !important;
  border: 1px solid #cfd8e3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.global-search input {
  height: 38px;
}

input:focus,
select:focus,
textarea:focus,
.view-select:focus,
.filter-control select:focus,
.filter-control input:focus,
.global-search input:focus {
  border-color: var(--color-secondary) !important;
  box-shadow: 0 0 0 3px rgba(7,139,211,.14) !important;
}

.icon-button,
.user-button,
.secondary-action,
.ghost-action,
.mini-button,
.quick-tab,
.alert-tab,
.analytics-tab {
  color: var(--color-text-primary) !important;
  background: #ffffff !important;
  border: 1px solid #cfd8e3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.primary-action,
.quick-tab.active,
.alert-tab.active,
.analytics-tab.active {
  color: #ffffff !important;
  background: var(--color-secondary) !important;
  border: 1px solid var(--color-secondary) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.primary-action:hover,
.secondary-action:hover,
.mini-button:hover,
.quick-tab:hover {
  transform: none !important;
  box-shadow: none !important;
  filter: brightness(.98);
}

.card,
.kpi-card,
.client-metric,
.client-card,
.follow-client-card,
.task-card,
.visit-card,
.negotiation-card,
.opportunity-card,
.forecast-card,
.mdm-kpi,
.audit-kpi,
.iam-kpi,
.analytics-kpi,
.alert-group-card,
.reports-saved-card,
.property-card,
.placeholder-card {
  color: var(--color-text-primary) !important;
  background: #ffffff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 6px !important;
  box-shadow: var(--shadow-soft) !important;
}

.clients-hero,
.pipeline-hero,
.reports-hero,
.tasks-hero,
.visits-hero,
.negotiations-hero,
.alert-hero,
.analytics-hero,
.mdm-hero,
.iam-hero,
.audit-hero,
.dashboard-hero,
.config-hero {
  color: var(--color-text-primary) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 16px !important;
}

.clients-hero h2,
.pipeline-hero h2,
.reports-hero h2,
.tasks-hero h2,
.visits-hero h2,
.negotiations-hero h2,
.alert-hero h2,
.analytics-hero h2,
.mdm-hero h2,
.iam-hero h2,
.audit-hero h2,
.dashboard-hero h2 {
  color: var(--color-text-primary) !important;
  font-size: 1.55rem;
  font-weight: 900;
}

.card-header,
.card-body {
  border-color: var(--color-border) !important;
}

.card-header h2,
.card-header h3,
.card-header h4 {
  color: var(--color-text-primary) !important;
}

.card-header p,
.muted,
.meta-row,
.field-help,
small {
  color: var(--color-text-secondary) !important;
}

.badge {
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-weight: 800;
}

.badge.success,
.badge.low {
  color: #08783f !important;
  background: #dff6ea !important;
}

.badge.warning,
.badge.medium {
  color: #93570c !important;
  background: #fff0d8 !important;
}

.badge.danger,
.badge.critical,
.badge.high {
  color: #a72828 !important;
  background: #fde3e3 !important;
}

.badge.info,
.badge.neutral {
  color: #155c83 !important;
  background: #e5f4fb !important;
}

.table-scroll,
.report-table-wrap,
.audit-table-scroll,
.analytics-table-wrap,
.negotiations-list-wrap .card-body {
  background: #ffffff !important;
  border-radius: 6px;
}

table,
.clients-table,
.pipeline-table,
.tasks-table,
.visits-table,
.negotiations-table,
.report-table,
.analytics-table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
}

th {
  color: var(--color-text-secondary) !important;
  background: #ffffff !important;
  border-bottom: 1px solid var(--color-border) !important;
  font-size: .72rem !important;
  letter-spacing: .05em;
  text-transform: uppercase;
}

td {
  color: var(--color-text-primary) !important;
  background: #ffffff !important;
  border-top: 0 !important;
  border-bottom: 1px solid #edf1f5 !important;
}

tr:hover td {
  background: #f8fbfd !important;
}

.pipeline-column,
.negotiation-column {
  background: #ffffff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 6px !important;
  box-shadow: var(--shadow-soft) !important;
}

.pipeline-column-header,
.pipeline-column-title,
.negotiation-column > .pipeline-column-title {
  color: var(--color-text-primary) !important;
  background: #ffffff !important;
  border-color: var(--color-border) !important;
}

.pipeline-progress,
.funnel-bar,
.meter {
  background: #edf2f7 !important;
  box-shadow: none !important;
}

.pipeline-progress span,
.funnel-bar span,
.meter span {
  background: var(--color-secondary) !important;
}

.dropdown-menu,
.dropdown-panel,
.modal,
.opportunity-drawer,
.negotiation-detail,
.task-detail,
.visit-detail,
.alert-detail-panel {
  color: var(--color-text-primary) !important;
  background: #ffffff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.18) !important;
}

.modal-backdrop,
.pipeline-drawer-backdrop,
.negotiation-detail-backdrop,
.task-detail-backdrop,
.visit-detail-backdrop {
  background: rgba(15, 23, 42, .36) !important;
}

.client-avatar,
.location-drag-handle,
.location-icon,
.activity-icon,
.alert-icon,
.kpi-icon {
  color: var(--color-secondary-dark) !important;
  background: #eff7fc !important;
  border: 1px solid #cfe6f4 !important;
  box-shadow: none !important;
}

.checkbox-list,
.checkbox-list-option,
.mdm-mini-row,
.mdm-catalog-button,
.mdm-version-row,
.mdm-detail-grid div,
.mdm-tree details,
.iam-mini-row,
.iam-org details,
.iam-profile-grid div,
.audit-row,
.audit-dl div,
.audit-export-row,
.location-row {
  background: #ffffff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.mdm-tab,
.iam-tab,
.audit-tab {
  background: #ffffff !important;
  border: 1px solid #cfd8e3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.mdm-tab.active,
.iam-tab.active,
.audit-tab.active,
.mdm-catalog-button.active {
  color: #ffffff !important;
  background: var(--color-secondary) !important;
}

.report-category-card.active,
.reports-saved-card.active {
  color: #ffffff !important;
  background: #087fb5 !important;
  border-color: #087fb5 !important;
}

.report-category-card.active *,
.reports-saved-card.active * {
  color: #ffffff !important;
}

.clients-hero,
.dashboard-hero,
.reports-hero,
.pipeline-hero,
.negotiations-hero,
.task-hero,
.visit-hero,
.alert-header,
.analytics-header {
  background-image: none !important;
}

.kpi-card.featured,
.report-highlight,
.funnel-bar span,
.pipeline-progress span,
.meter span,
.dashboard-progress span {
  background-image: none !important;
}

.kpi-card.featured {
  color: var(--color-text-primary) !important;
  background: #ffffff !important;
  border-color: var(--color-border) !important;
}

.kpi-card.featured * {
  color: inherit !important;
}

.pipeline-list,
.clients-list-card,
.report-output,
.reports-shell,
.negotiations-list-wrap,
.tasks-list-wrap,
.visits-list-wrap,
.alert-inbox-card {
  background: #ffffff !important;
  border: 1px solid var(--color-border) !important;
  border-radius: 6px !important;
  box-shadow: var(--shadow-soft) !important;
}

.client-table-wrap,
.clients-table-wrap,
.pipeline-table-wrap,
.report-table-wrap,
.analytics-table-wrap {
  overflow: auto;
}

.nav-copy {
  font-weight: 700;
}

.app-shell.sidebar-collapsed .sidebar {
  width: var(--sidebar-collapsed-width);
}

.app-shell.sidebar-collapsed .brand,
.app-shell.sidebar-collapsed .sidebar-user,
.app-shell.sidebar-collapsed .nav-item {
  justify-content: center;
  padding-right: 0;
  padding-left: 0;
}

.app-shell.sidebar-collapsed .brand-mark {
  width: 34px;
  height: 34px;
}

@media (max-width: 1024px) {
  .topbar {
    padding: 12px 18px;
    background: #ffffff !important;
    border-bottom: 1px solid var(--color-border) !important;
  }

  .main-content {
    padding: 18px;
  }

  .sidebar {
    box-shadow: 12px 0 32px rgba(15,23,42,.18) !important;
  }
}
