/* Phase 9 — Supplier Portal (public) */
.mat-sp__alert { padding: 0.75rem 1rem; border-radius: 10px; margin-bottom: 1rem; }
.mat-sp__alert--error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.mat-sp__alert--ok { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.mat-sp__welcome { margin: 0 0 0.5rem; }
.mat-sp__widgets {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.mat-sp__card {
  background: #fff;
  border: 1px solid #e4e7ee;
  border-radius: 12px;
  padding: 0.85rem 1rem;
  display: grid;
  gap: 0.25rem;
}
.mat-sp__card span { color: #5b6577; font-size: 0.85rem; }
.mat-sp__card strong { font-size: 1.4rem; color: #0b1220; }
.mat-sp__form { display: grid; gap: 0.75rem; max-width: 520px; }
.mat-sp__form--grid { max-width: 100%; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.mat-sp__form label { display: grid; gap: 0.35rem; }
.mat-sp__form .mat-sp__full { grid-column: 1 / -1; }
.mat-sp__form input,
.mat-sp__form select,
.mat-sp__form textarea {
  border: 1px solid #e4e7ee;
  border-radius: 10px;
  padding: 0.65rem 0.75rem;
  width: 100%;
}
.mat-sp__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.mat-sp__list li { background: #f8fafc; border-radius: 10px; padding: 0.65rem 0.85rem; }
.mat-sp__list small { display: block; color: #5b6577; }
.mat-sp__metrics { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.mat-sp__metrics li { padding: 0.55rem 0.75rem; background: #f8fafc; border-radius: 10px; }
.mat-sp__msg--ops { border-inline-start: 3px solid #2563eb; }
.mat-sp__msg--supplier { border-inline-start: 3px solid #e2b13c; }
.mat-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  padding: 0.55rem 1rem;
  border: 1px solid #e4e7ee;
  background: #fff;
  color: #0b1220;
  text-decoration: none;
  cursor: pointer;
}
.mat-btn--primary { background: #0b1220; color: #fff; border-color: #0b1220; }
@media (max-width: 720px) {
  .mat-sp__widgets { grid-template-columns: 1fr 1fr; }
  .mat-portal__search { grid-template-columns: 1fr; }
}
