.flash-wrap { margin-top: 1rem; }
.flash {
  border-radius: 16px;
  padding: .95rem 1rem;
  border: 1px solid var(--line);
  background: rgba(255,253,249,.92);
  font-weight: 600;
}
.flash-success { border-color: rgba(79,104,86,.35); color: var(--success); }
.flash-error { border-color: rgba(143,63,43,.28); color: var(--accent); }
.page { padding: 3rem 0 4rem; }
.form-grid { display: grid; gap: 1rem; }
.helper-text { font-size: .92rem; color: var(--muted); }
.summary-list, .dashboard-list, .spec-grid { display: grid; gap: .8rem; }
.table-wrap { overflow-x: auto; }
.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .95rem;
}
.data-table th,
.data-table td {
  text-align: left;
  padding: .8rem .75rem;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.data-table th { color: var(--text); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.status-pill {
  display: inline-block;
  border-radius: 999px;
  padding: .28rem .6rem;
  border: 1px solid var(--line);
  background: rgba(255,253,249,.88);
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.inline-form { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.inline-form select, .inline-form input, .prototype-form select, .prototype-form input, .prototype-form textarea {
  width: 100%;
  padding: .9rem 1rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,253,249,.92);
  font: inherit;
  color: var(--text);
}
.inline-form select { width: auto; min-width: 11rem; }
.prototype-form { display: grid; gap: 1rem; }
.prototype-form label { display: grid; gap: .45rem; color: var(--text); font-weight: 600; }
.metric-grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 2rem; }
.auth-card { width: min(560px, 100%); }
.muted-link { color: var(--muted); }
.order-item-list { margin: .25rem 0 0; padding-left: 1.1rem; }
.login-note { margin-top: 1rem; }
.small-stack { display: grid; gap: .5rem; }
.hero h1.wide, .page h1.wide { max-width: 18ch; }
.gate-helper { margin-top: 1rem; text-align: center; }
@media (max-width: 980px) {
  .metric-grid-5 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .metric-grid-5 { grid-template-columns: 1fr; }
}
