/*
 * DarziOS PWA — SCR-CUST-02 Customer Profile & Order History styles
 * (production).
 *
 * Owner rule (strict): every color, spacing value, radius, shadow and
 * duration in this file resolves to a custom property in
 * css/design-tokens.css. Zero raw color literals. Control patterns
 * (buttons, tags) come from css/controls.css.
 *
 * Shared pieces: .sample-chip and .meas-chips live in css/app.css.
 */

/* ---------------------------------------------------------------- page */
.cust {
  max-width: 1160px;
  margin: 0 auto;
  padding: var(--space-6);
  display: grid;
  gap: var(--space-4);
}

.cust__toolbar {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.cust__titles {
  display: grid;
  gap: var(--space-1);
  min-width: 0;
}
.cust__title {
  margin: 0;
  font-size: var(--text-2xl);
  font-weight: var(--weight-semibold);
}
.cust__ctx {
  margin: 0;
  font-size: var(--text-sm);
  color: var(--chalk-muted);
  font-variant-numeric: tabular-nums;
}
.cust__toolbar .sample-chip {
  margin-left: auto;
}

/* ----------------------------------------------------------- stats */
.cust__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--space-3);
}
.cust-stat {
  display: grid;
  gap: 2px;
  padding: var(--space-3) var(--space-4);
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
.cust-stat__label {
  font-size: var(--text-xs);
  color: var(--chalk-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.cust-stat__value {
  font-family: var(--font-mono);
  font-size: var(--text-2xl);
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
}
.cust-stat--progress .cust-stat__value {
  color: var(--brand-brass-light);
}
.cust-stat--success .cust-stat__value {
  color: var(--status-success);
}
.cust-stat--due .cust-stat__value {
  color: var(--status-warning);
}

/* ---------------------------------------------------------------- body */
.cust__body {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-4);
  align-items: start;
}
@media (max-width: 900px) {
  .cust__body {
    grid-template-columns: 1fr;
  }
  .cust-side {
    position: static;
  }
}
.cust-main {
  display: grid;
  gap: var(--space-4);
}
.cust-side {
  position: sticky;
  top: calc(var(--touch-min) + var(--space-3) + var(--space-3) + var(--space-4));
  display: grid;
  gap: var(--space-3);
  align-content: start;
}

/* -------------------------------------------------------------- cards */
.cust-card {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
/* In-card link button (e.g. udhaar → aging ledger). */
.cust-card__link {
  justify-self: start;
}
.cust-card__title {
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  font-size: var(--text-md);
  font-weight: var(--weight-semibold);
}
.cust-card__sub {
  font-size: var(--text-xs);
  font-weight: var(--weight-regular);
  color: var(--chalk-muted);
}

/* ---------------------------------------------------- order history */
.cust-orders {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
}
.cust-orders th {
  padding: var(--space-2) var(--space-4);
  text-align: left;
  color: var(--chalk-muted);
  font-size: var(--text-xs);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.cust-orders td {
  padding: var(--space-3) var(--space-4);
  border-top: 1px dashed var(--border-subtle);
  font-variant-numeric: tabular-nums;
}
.cust-orders__id {
  font-family: var(--font-mono);
  font-weight: var(--weight-semibold);
}
.cust-orders__num {
  text-align: right;
}
/* Demo: the hub's sample order opens SCR-ORD-03. */
.cust-orders__row--hub {
  cursor: pointer;
}
.cust-orders__row--hub:hover td {
  background: var(--brass-faint);
}

/* ------------------------------------------------------ meas actions */
.cust-meas-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.cust-note {
  margin: 0;
  font-size: var(--text-xs);
  color: var(--chalk-muted);
}

/* ---------------------------------------------------------- facts */
.cust-facts {
  margin: 0;
  display: grid;
  gap: var(--space-2);
}
.cust-facts__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
}
.cust-facts__k {
  font-size: var(--text-sm);
  color: var(--chalk-muted);
}
.cust-facts__v {
  margin: 0;
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.cust-facts__v--due {
  color: var(--brand-brass-light);
}

/* ---------------------------------------------------------- actions */
.cust-actions {
  display: grid;
  gap: var(--space-2);
}

/* ------------------------------------------------------- compact shell */
/* Smartphone (Doc 7 §16): tighter gutters; the orders table scrolls
   horizontally instead of crushing its numeric columns. */
@media (max-width: 560px) {
  .cust {
    padding: var(--space-4);
  }
  .cust-orders {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    min-width: 520px;
  }
  .cust-orders th,
  .cust-orders td {
    white-space: nowrap;
  }
}
