/* Tracking and quote pages (P05). Mobile first. */
body { background: #f3f5fc; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; color: #12146b; }
.public-top { background: #0a0b45; padding: .75rem 0; }
.public-top .brand { color: #fff; font-weight: 700; text-decoration: none; font-size: 1.1rem; }
.public-main { max-width: 620px; }
.public-card { background: #fff; border: 1px solid #e4e7f5; border-radius: 14px; padding: 1.25rem; margin-bottom: 1rem; }
.status-banner { border-radius: 14px; padding: 1rem 1.25rem; margin-bottom: 1rem; color: #fff; background: #3450f2; }
.status-banner.good { background: #1f9d68; }
.status-banner.wait { background: #c9821f; }
.status-banner.bad { background: #d64545; }
.status-banner.done { background: #697086; }
.status-banner h1 { font-size: 1.25rem; margin: 0 0 .25rem; }
.steps { display: flex; justify-content: space-between; margin: .5rem 0 1rem; padding: 0; list-style: none; }
.steps li { flex: 1; text-align: center; font-size: .8rem; color: #98a6b8; position: relative; }
.steps li::before { content: ""; display: block; width: 14px; height: 14px; border-radius: 50%; margin: 0 auto .35rem;
  background: #e4e7f5; }
.steps li.done { color: #12146b; }
.steps li.done::before { background: #1f9d68; }
.timeline { list-style: none; padding: 0; margin: 0; }
.timeline li { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; border-top: 1px solid #eef1fa; }
.timeline li:first-child { border-top: 0; }
.facts { display: grid; grid-template-columns: auto 1fr; gap: .35rem 1rem; margin: 0; }
.facts dt { color: #697086; font-weight: 500; }
.facts dd { margin: 0; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.stars { display: flex; gap: .25rem; }
.stars button { border: 0; background: none; font-size: 1.6rem; color: #c8cede; padding: 0 .1rem; }
.stars button.on { color: #f0b429; }
.msg-banner { border-radius: 8px; padding: .6rem .8rem; margin-bottom: .75rem; font-size: .9rem; }
.msg-banner.error { background: #fdecec; color: #8f1d1d; }
.msg-banner.success { background: #e7f6ef; color: #145c3d; }
