:root {
  --color-primary: #4f7fa4;
  --color-primary-soft: #dce8f1;
  --color-secondary: #4f7fa4;
  --color-secondary-dark: #2f5f84;
  --color-gold: #d9a441;
  --color-background: #f4f4f4;
  --color-surface: #ffffff;
  --color-surface-strong: #ffffff;
  --color-surface-alt: #f7f7f7;
  --color-glass-dark: #ffffff;
  --color-border: #d7d7d7;
  --color-border-strong: #bfc9d2;
  --color-text-primary: #333333;
  --color-text-secondary: #5f6b75;
  --color-text-muted: #8c97a1;
  --color-success: #7fb34d;
  --color-success-soft: #eaf4df;
  --color-warning: #e49a3a;
  --color-warning-soft: #fff0dc;
  --color-danger: #d9534f;
  --color-danger-soft: #fde6e4;
  --color-info: #4f7fa4;
  --color-info-soft: #e6f0f8;
  --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.08);
  --shadow-subtle: 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-inset: none;
  --radius-sm: 2px;
  --radius-md: 2px;
  --radius-lg: 2px;
  --sidebar-width: 250px;
  --sidebar-collapsed-width: 56px;
  --topbar-height: 50px;
  --font-family: "Segoe UI", Arial, sans-serif;
  --glass-blur: none;
}

body {
  color: var(--color-text-primary);
  background: var(--color-background);
  background-attachment: initial;
}

body::before,
body::after {
  display: none;
}

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

.sidebar {
  top: 0;
  height: 100vh;
  gap: 0;
  padding: 0;
  color: #2f3a43;
  background: #f7f7f7;
  border: 0;
  border-right: 1px solid #cfcfcf;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.brand {
  min-height: var(--topbar-height);
  padding: 0 20px;
  color: #ffffff;
  background: #4f7fa4;
  border-right: 1px solid rgba(0, 0, 0, 0.18);
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.12);
}

.brand-mark {
  width: 26px;
  height: 26px;
  flex-basis: 26px;
  color: #4f7fa4;
  background: #ffffff;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  font-size: 0.9rem;
}

.brand-copy strong {
  color: #ffffff;
  font-size: 1rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.brand-copy span,
.sidebar-user-copy span {
  color: rgba(255, 255, 255, 0.78);
}

.sidebar-nav {
  gap: 0;
  padding: 14px 0;
  border-top: 1px solid #e2e2e2;
}

.nav-section {
  gap: 0;
}

.nav-section-title {
  padding: 12px 20px 8px;
  color: #7d8791;
  background: #eeeeee;
  border-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  font-size: 0.72rem;
  letter-spacing: 0;
}

.nav-item {
  min-height: 51px;
  padding: 0 20px;
  color: #2f3a43;
  border-bottom: 1px solid #e5e5e5;
  border-radius: 0;
  font-weight: 600;
}

.nav-item:hover,
.nav-item:focus-visible {
  color: #1f425c;
  background: #ffffff;
}

.nav-item.active {
  color: #1f425c;
  background: #ffffff;
  border-left: 4px solid #4f7fa4;
  box-shadow: none;
}

.nav-icon {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
  color: #4f7fa4;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.nav-badge {
  color: #ffffff;
  background: #5d8db2;
  border: 0;
  border-radius: 1px;
}

.sidebar-user {
  margin: auto 0 0;
  padding: 12px 18px;
  background: #eeeeee;
  border: 0;
  border-top: 1px solid #d7d7d7;
  border-radius: 0;
}

.sidebar-user .avatar {
  background: #4f7fa4;
}

.workspace {
  min-width: 0;
  background: #ffffff;
}

.topbar {
  top: 0;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, 420px) auto;
  min-height: var(--topbar-height);
  padding: 0 10px 0 18px;
  gap: 12px;
  color: #ffffff;
  background: #4f7fa4;
  border: 0;
  border-bottom: 3px solid #3d6687;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.section-title p,
.section-title h1 {
  color: #ffffff;
}

.section-title p {
  opacity: 0.82;
}

.global-search input {
  height: 36px;
  color: #333333;
  background: #ffffff;
  border: 1px solid #d2d2d2;
  border-radius: 0;
}

.global-search span {
  color: #79828a;
}

.main-content {
  padding: 16px 18px 28px;
  background: #ffffff;
}

.icon-button,
.user-button,
.primary-action,
.secondary-action,
.ghost-action,
.mini-button,
.quick-tab,
.link-button,
.view-select,
.filter-control select,
.filter-control input {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.topbar .icon-button,
.topbar .user-button,
.topbar .primary-action,
.topbar .view-select {
  min-height: var(--topbar-height);
  color: #ffffff;
  background: #4f7fa4;
  border: 0;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
}

.topbar .icon-button:hover,
.topbar .user-button:hover,
.topbar .primary-action:hover {
  background: #436f91;
}

.primary-action {
  color: #ffffff;
  background: #4f7fa4;
  border: 1px solid #3d6687;
}

.primary-action:hover {
  background: #436f91;
}

.secondary-action,
.ghost-action,
.mini-button,
.quick-tab {
  color: #3f4b55;
  background: #f7f7f7;
  border: 1px solid #cccccc;
}

.secondary-action:hover,
.ghost-action:hover,
.mini-button:hover,
.quick-tab:hover,
.quick-tab.active {
  color: #ffffff;
  background: #4f7fa4;
  border-color: #3d6687;
}

.dropdown-menu,
.dropdown-panel,
.modal {
  color: #333333;
  background: #ffffff;
  border: 1px solid #cfcfcf;
  border-radius: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  backdrop-filter: none;
}

.dropdown-menu button,
.dropdown-item {
  color: #333333;
  border-radius: 0;
}

.dropdown-menu button:hover,
.dropdown-item:hover {
  background: #edf3f8;
}

.avatar {
  color: #ffffff;
  background: #3d6687;
  border: 0;
}

.notification-count {
  top: 4px;
  right: 4px;
  background: #d9534f;
  border: 1px solid #ffffff;
}

.card,
.dashboard-hero,
.clients-hero,
.client-detail-hero,
.follow-ups-hero,
.pipeline-hero,
.reports-hero,
.tasks-hero,
.visits-hero,
.negotiations-hero,
.clients-toolbar,
.follow-ups-toolbar,
.pipeline-toolbar,
.report-toolbar,
.tasks-toolbar,
.visits-toolbar,
.negotiations-toolbar,
.task-card,
.visit-card,
.negotiation-card,
.pipeline-card,
.alert-item {
  color: #333333;
  background: #ffffff !important;
  border: 1px solid #d4d4d4 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.dashboard-hero,
.clients-hero,
.client-detail-hero,
.follow-ups-hero,
.pipeline-hero,
.reports-hero,
.tasks-hero,
.visits-hero,
.negotiations-hero {
  padding: 16px 20px !important;
  border-top: 3px solid #4f7fa4 !important;
}

.dashboard-hero h2,
.clients-hero h2,
.client-detail-hero h2,
.follow-ups-hero h2,
.pipeline-hero h2,
.reports-hero h2,
.tasks-hero h2,
.visits-hero h2,
.negotiations-hero h2 {
  color: #2d3b45 !important;
  font-size: 1.35rem !important;
}

.dashboard-hero p,
.clients-hero p,
.client-detail-hero p,
.follow-ups-hero p,
.pipeline-hero p,
.reports-hero p,
.tasks-hero p,
.visits-hero p,
.negotiations-hero p,
.muted,
.meta-row,
.card-header p {
  color: #6d7781 !important;
}

.card-header {
  padding: 12px 14px;
  border-bottom: 1px solid #d7d7d7;
  background: #fbfbfb;
}

.card-header h2,
.card-header h3 {
  color: #384650;
  font-size: 1rem;
}

.card-body {
  padding: 14px;
}

.badge {
  min-height: 20px;
  border: 0;
  border-radius: 0;
  padding: 3px 7px;
  color: #ffffff;
}

.badge.info,
.badge.neutral {
  color: #ffffff;
  background: #5d8db2;
}

.badge.success {
  color: #ffffff;
  background: #83b955;
}

.badge.warning {
  color: #ffffff;
  background: #f0a13a;
}

.badge.danger {
  color: #ffffff;
  background: #d9534f;
}

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,
.global-search input {
  border-radius: 0 !important;
}

table,
.clients-table,
.follow-ups-table,
.tasks-table,
.visits-table,
.negotiations-table,
.report-table {
  background: #ffffff;
}

.clients-table th,
.follow-ups-table th,
.tasks-table th,
.visits-table th,
.negotiations-table th,
.report-table th {
  color: #3f4b55;
  background: #f5f5f5;
  border-bottom: 1px solid #cfcfcf;
  letter-spacing: 0;
}

.clients-table td,
.follow-ups-table td,
.tasks-table td,
.visits-table td,
.negotiations-table td,
.report-table td {
  border-bottom: 1px solid #e1e1e1;
}

.toast {
  border-radius: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.empty-state {
  color: #4b565f;
  background: #fbfbfb;
  border: 1px dashed #cfcfcf;
  border-radius: 0;
}

.modal-backdrop {
  background: rgba(0, 0, 0, 0.35);
}

.app-shell.sidebar-collapsed .brand {
  padding: 0;
}

.app-shell.sidebar-collapsed .nav-item {
  padding: 0;
  justify-content: center;
}

@media (max-width: 920px) {
  .sidebar {
    top: 0;
  }

  .topbar {
    grid-template-columns: 1fr auto;
  }

  .global-search {
    display: none;
  }
}
