/*
 * OpenDesign V8 — Wave 4 Dashboard
 * Composition only. Live metrics, permission scoping, search and project-row
 * behavior remain owned by the existing application.
 */

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-panel.active {
  display: block;
  padding: 0;
  color: var(--bms-text);
  background: transparent;
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-panel > .section-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--bms-space-6);
  margin: 0 0 var(--bms-space-6);
  padding: 0;
  border: 0;
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-command-eyebrow,
body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-queue-heading > div > span,
body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-insight-card header span {
  color: var(--bms-text-subtle);
  font: 600 9px/1.2 var(--bms-font-ui);
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-panel > .section-title h2 {
  margin: var(--bms-space-2) 0 0;
  color: var(--bms-text);
  font: 750 clamp(30px, 3vw, 42px)/1.06 var(--bms-font-display);
  letter-spacing: -.04em;
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-actions {
  min-width: 0;
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-panel .metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--bms-space-3);
  margin: 0 0 var(--bms-space-4);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-panel .metric {
  min-height: 132px;
  padding: var(--bms-space-5);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-panel .metric strong {
  margin-top: var(--bms-space-4);
  font-size: clamp(24px, 2vw, 31px);
  line-height: 1.1;
}

body.bms-opendesign-v8[data-business-profile="XOP_ME_LINH"] #metricReviewCard { order: 1; }
body.bms-opendesign-v8[data-business-profile="XOP_ME_LINH"] #metricCostCard { order: 2; }
body.bms-opendesign-v8[data-business-profile="XOP_ME_LINH"] #metricProjectsCard { order: 3; }
body.bms-opendesign-v8[data-business-profile="XOP_ME_LINH"] #metricProfitCard { order: 4; }

body.bms-opendesign-v8[data-business-profile="XOP_ME_LINH"] .dashboard-panel .metric.xop-running-order-metric strong {
  max-width: 100%;
  overflow: hidden;
  font: 750 17px/1.3 var(--bms-font-ui);
  letter-spacing: -.015em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-insight-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(300px, .8fr);
  gap: var(--bms-space-3);
  margin: 0 0 var(--bms-space-6);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-insight-card {
  min-width: 0;
  min-height: 310px;
  padding: var(--bms-space-5);
  border: 1px solid var(--bms-border);
  border-radius: var(--bms-radius-3);
  background: var(--bms-surface);
  box-shadow: var(--bms-shadow-1);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-insight-card > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--bms-space-4);
  margin-bottom: var(--bms-space-5);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-insight-card h3 {
  margin: var(--bms-space-2) 0 0;
  color: var(--bms-text);
  font: 700 19px/1.2 var(--bms-font-display);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-insight-card > header > strong {
  color: var(--bms-text);
  font: 700 28px/1 var(--bms-font-data);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-status-bars {
  display: grid;
  align-content: center;
  gap: var(--bms-space-5);
  min-height: 200px;
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-status-row {
  display: grid;
  gap: var(--bms-space-2);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-status-row > div {
  display: flex;
  justify-content: space-between;
  color: var(--bms-text-muted);
  font-size: 12px;
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-status-row progress {
  width: 100%;
  height: 10px;
  overflow: hidden;
  border: 0;
  border-radius: var(--bms-radius-round);
  background: var(--bms-neutral-soft);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-status-row progress::-webkit-progress-bar {
  background: var(--bms-neutral-soft);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-status-row progress::-webkit-progress-value {
  border-radius: var(--bms-radius-round);
  background: var(--bms-primary);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-recent-projects {
  display: grid;
  gap: var(--bms-space-2);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-recent-project {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--bms-space-3);
  padding: var(--bms-space-3);
  border: 1px solid var(--bms-border);
  border-radius: var(--bms-radius-2);
  background: var(--bms-surface);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-recent-project > div {
  display: grid;
  min-width: 0;
  gap: 4px;
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-recent-project :is(strong, span) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-recent-project time {
  color: var(--bms-text-subtle);
  font: 500 9px/1.2 var(--bms-font-data);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-queue-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--bms-space-4);
  margin: 0 0 var(--bms-space-3);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-queue-heading h3 {
  margin: var(--bms-space-2) 0 0;
  color: var(--bms-text);
  font: 700 20px/1.2 var(--bms-font-display);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-queue-heading .search-box input {
  width: min(360px, 100%);
  border-radius: var(--bms-radius-round);
}

body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-panel > .table-wrap {
  max-height: 440px;
  border-radius: var(--bms-radius-3);
}

@media (max-width: 1180px) {
  body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-panel .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-insight-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-panel > .section-title,
  body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-queue-heading {
    align-items: stretch;
    flex-direction: column;
  }

  body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-actions .btn,
  body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-queue-heading .search-box input {
    width: 100%;
  }

  body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-panel .metric {
    min-height: 116px;
    padding: var(--bms-space-4);
  }

  body.bms-opendesign-v8:not(.bms-dark-executive) .dashboard-insight-card {
    min-height: 0;
    padding: var(--bms-space-4);
  }
}
