.production-dashboard {
  padding: 58px 0 80px;
}

.dashboard-kicker {
  color: var(--accent);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.dashboard-head {
  align-items: end;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding-bottom: 34px;
}

.dashboard-head h1 {
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  letter-spacing: -.035em;
  line-height: .98;
  margin: 0 0 18px;
  text-transform: uppercase;
}

.dashboard-subtitle { color: #505050; font-size: 1.08rem; line-height: 1.55; margin: 0; max-width: 760px; }
.dashboard-meta { color: var(--muted); font-size: .82rem; margin: 14px 0 0; }
.demo-badge { align-self: start; background: var(--soft); border: 1px solid var(--line); color: #555; font-size: .69rem; font-weight: 700; letter-spacing: .1em; padding: 8px 10px; text-transform: uppercase; white-space: nowrap; }

.dashboard-section { padding: 42px 0 0; }
.status-cards { display: grid; gap: 12px; grid-template-columns: repeat(5, 1fr); }
.status-card { background: #fff; border: 1px solid var(--line); min-height: 108px; padding: 18px; }
.status-card .label { color: var(--muted); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.status-card .value { font-size: 1.72rem; font-weight: 700; letter-spacing: -.04em; line-height: 1.1; margin-top: 10px; }
.status-card.complete .value { color: #317548; }.status-card.producing .value { color: #246eb5; }.status-card.inferencing .value { color: #7651a5; }

.progress-panel { border: 1px solid var(--line); margin-top: 16px; padding: 19px; }
.progress-copy { display: flex; font-size: .88rem; justify-content: space-between; margin-bottom: 11px; }
.progress-track { background: #e9e9e6; height: 9px; overflow: hidden; }
.progress-fill { background: #317548; height: 100%; min-width: 2px; transition: width .25s ease; }
.status-strip { display: flex; gap: 7px; margin-top: 13px; }
.status-chip { align-items: center; color: #555; display: inline-flex; font-size: .72rem; gap: 5px; }
.status-chip i { border-radius: 50%; display: inline-block; height: 8px; width: 8px; }

.map-panel { border: 1px solid var(--line); margin-top: 18px; position: relative; }
#production-map { height: 640px; width: 100%; }
.map-label { background: rgba(255,255,255,.94); font-size: .68rem; left: 14px; letter-spacing: .08em; padding: 7px 9px; position: absolute; text-transform: uppercase; top: 14px; z-index: 500; }
.leaflet-container { font-family: Helvetica, Arial, sans-serif; }
.tile-popup { font-size: .83rem; line-height: 1.55; }.tile-popup strong { display: inline-block; min-width: 105px; }
.map-legend { background: rgba(255,255,255,.96); box-shadow: 0 1px 5px rgba(0,0,0,.12); font-size: .7rem; line-height: 1.7; padding: 8px 10px; }.map-legend span { display: inline-block; height: 10px; margin-right: 6px; width: 10px; }

.metrics-grid { display: grid; gap: 16px; grid-template-columns: 1.1fr .9fr; margin-top: 18px; }
.metric-panel, .activity-panel, .method-panel { border: 1px solid var(--line); padding: 24px; }
.metric-panel h2, .activity-panel h2, .method-panel h2 { font-size: .83rem; letter-spacing: .09em; margin: 0 0 20px; text-transform: uppercase; }
.metric-list { display: grid; gap: 15px; grid-template-columns: repeat(2, 1fr); }.metric strong { display: block; font-size: 1.45rem; letter-spacing: -.035em; line-height: 1.1; }.metric span { color: var(--muted); display: block; font-size: .78rem; line-height: 1.35; margin-top: 4px; }.metric small { color: #777; display: block; font-size: .68rem; line-height: 1.35; margin-top: 5px; }
.eta-emphasis { background: var(--soft); padding: 17px; }.eta-emphasis strong { color: #317548; font-size: 1.9rem; }.utilization { border-top: 1px solid var(--line); color: #555; font-size: .86rem; margin-top: 18px; padding-top: 15px; }

.activity-grid { display: grid; gap: 16px; grid-template-columns: 1.15fr .85fr; margin-top: 16px; }.activity-table { border-collapse: collapse; font-size: .79rem; width: 100%; }.activity-table th { color: #666; font-size: .66rem; letter-spacing: .07em; text-align: left; text-transform: uppercase; }.activity-table td, .activity-table th { border-bottom: 1px solid var(--line); padding: 8px 6px; }.activity-table td:first-child { font-weight: 700; }.activity-list { list-style: none; margin: 0; padding: 0; }.activity-list li { border-bottom: 1px solid var(--line); font-size: .84rem; padding: 11px 0; }.activity-list strong { display: block; }.activity-list span { color: var(--muted); font-size: .76rem; }
.method-panel { color: #555; font-size: .91rem; line-height: 1.65; margin-top: 16px; }.method-panel p { margin: 0; }.last-updated { color: #777; font-size: .72rem; margin: 20px 0 0; }.dashboard-unavailable, .map-unavailable { color: #9e3832; display: none; font-size: .8rem; margin: 12px 14px; }

@media (max-width: 820px) { .dashboard-head { align-items: start; grid-template-columns: 1fr; }.status-cards { grid-template-columns: repeat(2, 1fr); }.status-card:last-child { grid-column: span 2; }.metrics-grid, .activity-grid { grid-template-columns: 1fr; } #production-map { height: 480px; } }
@media (max-width: 500px) { .production-dashboard { padding-top: 38px; }.dashboard-head h1 { font-size: 2.15rem; }.status-cards { gap: 8px; }.status-card { min-height: 92px; padding: 14px; }.status-card .value { font-size: 1.42rem; }.progress-copy { display: block; }.progress-copy span { display: block; margin-bottom: 3px; }.metric-list { grid-template-columns: 1fr; }.status-strip { flex-wrap: wrap; } #production-map { height: 450px; } }
