/*
 * CRM interface unification layer
 * Loaded last so legacy modules retain their behaviour while sharing one visual system.
 */
:root {
  --ui-canvas: #f5f7fb;
  --ui-surface: #ffffff;
  --ui-surface-subtle: #f8fafc;
  --ui-ink: #182230;
  --ui-muted: #667085;
  --ui-line: #dfe5ee;
  --ui-line-strong: #c9d2df;
  --ui-primary: #2456c9;
  --ui-primary-deep: #173a8a;
  --ui-primary-soft: #eaf0ff;
  --ui-success: #087443;
  --ui-success-soft: #e8f7ef;
  --ui-warning: #a65f11;
  --ui-warning-soft: #fff3df;
  --ui-danger: #ba3030;
  --ui-danger-soft: #fff0f0;
  --ui-radius: 12px;
  --ui-radius-sm: 9px;
  --ui-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 22px rgba(16, 24, 40, .05);
}

/* Shared language: make modules feel like one product instead of separate tools. */
body { background: var(--ui-canvas); color: var(--ui-ink); }
.content { max-width: 1600px; margin: 0 auto; padding-bottom: 72px; }
.card, .table-wrap, .modal, .gc-panel, .workspace-hub__card {
  border-color: var(--ui-line);
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow);
}
.card:hover, .workspace-hub__card:hover { border-color: var(--ui-line-strong); }

.btn, button.btn {
  min-height: 34px;
  border-radius: var(--ui-radius-sm);
  border-color: var(--ui-line-strong);
  font-weight: 600;
  letter-spacing: -.005em;
}
.btn--primary, .btn-primary {
  background: var(--ui-primary);
  border-color: var(--ui-primary);
  box-shadow: 0 1px 2px rgba(23, 58, 138, .16);
}
.btn--primary:hover, .btn-primary:hover { background: var(--ui-primary-deep); border-color: var(--ui-primary-deep); }
.btn--danger { background: var(--ui-danger); border-color: var(--ui-danger); }
.btn--danger:hover { background: #972525; border-color: #972525; }
input, select, textarea, .input, .select {
  border-color: var(--ui-line-strong);
  border-radius: var(--ui-radius-sm);
  color: var(--ui-ink);
  background: var(--ui-surface);
}
input:hover, select:hover, textarea:hover, .input:hover, .select:hover { border-color: #9fb1ca; }
input:focus, select:focus, textarea:focus, .input:focus, .select:focus {
  border-color: var(--ui-primary);
  box-shadow: 0 0 0 3px rgba(36, 86, 201, .13);
}

/* Make the rail, command bar and page headings read as one navigation system. */
.nav__brand-copy span { color: #e6c486; }
.nav__section-head { min-height: 34px; }
.nav__item { min-height: 37px; border-radius: 8px; }
.nav__item.active { box-shadow: inset 3px 0 0 #e6c486; }
.topbar { box-shadow: 0 1px 0 rgba(16, 24, 40, .02); }
.topbar h1, .gc-page-head h1, .page-head h1 { color: var(--ui-ink); letter-spacing: -.02em; }
.gc-page-head, .page-head { margin-bottom: 18px; }

/* Role dashboards: the old cockpit variables are explicitly mapped to the CRM palette. */
.cockpit.gc-dashboard {
  --ink: var(--ui-ink);
  --ink2: var(--ui-muted);
  --ink3: #8b98aa;
  --bg: var(--ui-canvas);
  --surf: var(--ui-surface);
  --line: var(--ui-line);
  --olive: var(--ui-primary);
  --olive-l: var(--ui-primary-soft);
  --lime: #d9ecff;
  --danger: var(--ui-danger);
  --warn: var(--ui-warning);
  --ok: var(--ui-success);
  max-width: 1540px;
  color: var(--ui-ink);
}
.gc-dashboard .ck-hero {
  align-items: flex-start;
  margin-bottom: 20px;
  padding: 4px 0 18px;
  border-bottom: 1px solid var(--ui-line);
}
.gc-dashboard .ck-hello { font-size: clamp(24px, 2.2vw, 32px); font-weight: 550; color: var(--ui-ink); }
.gc-dashboard .ck-sub { margin-top: 7px; max-width: 650px; color: var(--ui-muted); font-size: 13px; }
.gc-dashboard .ck-h2 { margin: 22px 0 11px; color: var(--ui-ink); font-size: 15px; }
.gc-dashboard .ck-h2 .cnt {
  color: var(--ui-primary-deep);
  background: var(--ui-primary-soft);
  border-radius: 999px;
  padding: 3px 9px;
}

/* Metrics now use the same quiet hierarchy in BDE, BDM and administrator views. */
.gc-dashboard .ck-stats, .gc-dashboard .bde-stats { gap: 10px; }
.gc-dashboard .ck-stat {
  min-width: 142px;
  padding: 14px 15px;
  border-color: var(--ui-line);
  border-radius: var(--ui-radius);
  box-shadow: none;
  transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}
.gc-dashboard .ck-stat:hover { transform: translateY(-1px); border-color: #b8c7dc; box-shadow: var(--ui-shadow); }
.gc-dashboard .ck-stat .lbl { color: var(--ui-muted); font-size: 10px; letter-spacing: .055em; }
.gc-dashboard .ck-stat .num { margin-top: 7px; color: var(--ui-ink); font-size: 30px; font-weight: 600; }
.gc-dashboard .ck-stat.is-hot .num { color: var(--ui-primary); }
.gc-dashboard .ck-stat.is-urgent { border-color: #edc2c2; background: #fffafa; }
.gc-dashboard .ck-stat.is-urgent .num { color: var(--ui-danger); }
.gc-dashboard .ck-stat.is-urgent .lbl::after { color: var(--ui-danger); }
.gc-dashboard .gc-rate-card {
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
  color: var(--ui-ink);
  box-shadow: none;
}
.gc-dashboard .gc-rate-card:hover { border-color: #b8c7dc; box-shadow: var(--ui-shadow); }
.gc-dashboard .gc-rate-card span, .gc-dashboard .gc-rate-card small { color: var(--ui-muted); }
.gc-dashboard .gc-rate-card b { color: var(--ui-primary-deep); }

/* BDE command centre: tasks and lead context share the same working surface. */
.gc-dashboard .bde-grid { grid-template-columns: 218px minmax(360px, 1fr) 292px; gap: 14px; }
.gc-dashboard .stack { gap: 9px; }
.gc-dashboard .task-card {
  padding: 14px 16px;
  border-color: var(--ui-line);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
  box-shadow: none;
}
.gc-dashboard .task-card:hover { border-color: #aebfd6; box-shadow: var(--ui-shadow); }
.gc-dashboard .task-card.focus {
  padding: 17px 18px;
  border-color: var(--ui-primary);
  box-shadow: 0 0 0 3px rgba(36, 86, 201, .10), var(--ui-shadow);
}
.gc-dashboard .task-card.focus .tc-name { color: var(--ui-primary-deep); font-size: 19px; }
.gc-dashboard .focus-badge { color: var(--ui-primary-deep); background: var(--ui-primary-soft); border-radius: 6px; }
.gc-dashboard .task-card .tc-name, .gc-dashboard .ctx .ctx-name { color: var(--ui-ink); }
.gc-dashboard .task-card .tc-title, .gc-dashboard .ctx .ctx-meta { color: var(--ui-muted); }
.gc-dashboard .task-card .tc-due.bk-amber { color: var(--ui-warning); }
.gc-dashboard .disp { gap: 7px; margin-top: 10px; }
.gc-dashboard .disp button {
  border-color: var(--ui-line-strong);
  border-radius: 7px;
  padding: 7px 10px;
  color: var(--ui-ink);
  font-size: 11px;
  font-weight: 600;
}
.gc-dashboard .disp button:hover { background: var(--ui-primary); border-color: var(--ui-primary); color: #fff; }
.gc-dashboard .disp button.lose:hover { background: var(--ui-danger); border-color: var(--ui-danger); }
.gc-dashboard .ctx {
  padding: 17px;
  border-color: var(--ui-line);
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow);
}
.gc-dashboard .ctx .ctx-grid { margin: 15px 0; gap: 10px; }
.gc-dashboard .ctx .ctx-cell .k { color: var(--ui-muted); }
.gc-dashboard .ctx .ctx-cell .v { color: var(--ui-ink); }
.gc-dashboard .btn-pill {
  border-radius: var(--ui-radius-sm);
  background: var(--ui-primary);
  color: #fff;
  font-weight: 650;
}
.gc-dashboard .btn-pill:hover { background: var(--ui-primary-deep); }
.gc-dashboard .btn-ghost {
  border-radius: var(--ui-radius-sm);
  border-color: var(--ui-line-strong);
  color: var(--ui-ink);
  font-weight: 600;
}
.gc-dashboard .btn-ghost:hover { border-color: var(--ui-primary); color: var(--ui-primary-deep); background: var(--ui-primary-soft); }

/* BDM / Head dashboard: remove the competing black-and-lime cards and retain status meaning. */
.gc-dashboard .agenda { gap: 10px; padding: 2px 1px 10px; }
.gc-dashboard .agenda-card {
  border: 1px solid var(--ui-line);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
  color: var(--ui-ink);
  box-shadow: none;
}
.gc-dashboard .agenda-card .when { color: var(--ui-primary); }
.gc-dashboard .agenda-card .st { color: var(--ui-muted); }
.gc-dashboard .agenda-card button { border: 1px solid var(--ui-line-strong); border-radius: 7px; background: var(--ui-surface); color: var(--ui-primary-deep); font-weight: 600; }
.gc-dashboard .agenda-card button:hover { background: var(--ui-primary-soft); border-color: var(--ui-primary); }
.gc-dashboard .pulse { gap: 9px; padding-bottom: 10px; }
.gc-dashboard .pulse-col {
  border-color: var(--ui-line);
  border-top-color: var(--ui-primary) !important;
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
  box-shadow: none;
}
.gc-dashboard .pulse-col .pc-stage, .gc-dashboard .pulse-col .pc-name { color: var(--ui-muted); }
.gc-dashboard .pulse-col .pc-num { color: var(--ui-ink); font-size: 28px; font-weight: 600; }
.gc-dashboard .eng-row, .gc-dashboard .panel {
  border-color: var(--ui-line);
  border-radius: var(--ui-radius);
  background: var(--ui-surface);
  box-shadow: none;
}
.gc-dashboard .eng-row:hover { border-color: #b8c7dc; }
.gc-dashboard .eng-row .en-mode, .gc-dashboard .eng-row .en-next { color: var(--ui-muted); }
.gc-dashboard .eng-dots i.on { background: var(--ui-primary); }
.gc-dashboard .fbar .track { background: var(--ui-primary-soft); }
.gc-dashboard .fbar .fill, .gc-dashboard .fbar .fill.lime { background: var(--ui-primary); }

/* Common working surfaces: data-rich screens become easier to scan. */
.table-wrap { overflow: hidden; background: var(--ui-surface); }
table thead th, .table-wrap thead th { background: var(--ui-surface-subtle); color: var(--ui-muted); }
table tbody tr:hover, .table-wrap tbody tr:hover { background: #f4f7ff; }
.gc-leads-table tbody td { height: 50px; }
.gc-lead-name { font-weight: 650; }
.gc-exception-strip { gap: 10px; }
.gc-exception-card { border-color: var(--ui-line); border-radius: var(--ui-radius); background: var(--ui-surface); }
.gc-exception-card:hover { border-color: #b8c7dc; box-shadow: var(--ui-shadow); }
.gc-exception-card.has-risk { border-color: #f0c7c7; background: #fffafa; }
.toast { border-radius: var(--ui-radius-sm); box-shadow: var(--ui-shadow); }

/* Preserve an efficient role workspace on narrower laptops and tablets. */
@media (max-width: 1180px) {
  .gc-dashboard .bde-grid { grid-template-columns: 200px minmax(320px, 1fr); }
  .gc-dashboard .bde-grid > :last-child { grid-column: 1 / -1; }
  .gc-dashboard .ctx { position: static; }
}
@media (max-width: 880px) {
  .content { padding-inline: 16px; }
  .gc-dashboard .bde-grid { grid-template-columns: 1fr; }
  .gc-dashboard .bde-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gc-dashboard .ck-stat:last-child { grid-column: 1 / -1; }
  .gc-dashboard .ck-hero { margin-bottom: 16px; }
}
@media (max-width: 620px) {
  .topbar { padding-inline: 12px; }
  .content { padding: 14px 12px 56px; }
  .gc-dashboard .bde-stats { grid-template-columns: 1fr; }
  .gc-dashboard .ck-stat:last-child { grid-column: auto; }
  .gc-dashboard .task-card.focus .tc-name { font-size: 17px; }
  .gc-dashboard .agenda-card { flex-basis: 220px; }
}
