/* v39 Data safety banner + "Cost missing" states */
.safety-banner { display: grid; grid-template-columns: auto 1fr; gap: .55rem .7rem; align-items: start; margin: .6rem max(.75rem, env(safe-area-inset-left)) 0;
  padding: .8rem .8rem .8rem .9rem; border-radius: var(--radius-md); background: var(--warn-bg); color: var(--ink); border: 1px solid color-mix(in srgb, var(--warn) 28%, transparent);
  box-shadow: 0 6px 18px -12px rgba(0,0,0,.35); animation: sb-in .28s ease-out; max-width: 760px; }
.safety-banner[hidden] { display: none; }
@media (min-width: 800px) { .safety-banner { margin-inline: auto; } }
.safety-banner.onboard { background: var(--info-bg); border-color: color-mix(in srgb, var(--info) 28%, transparent); }
.safety-banner .sb-ic { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: color-mix(in srgb, var(--warn) 16%, transparent); color: var(--warn); }
.safety-banner.onboard .sb-ic { color: var(--info); background: color-mix(in srgb, var(--info) 16%, transparent); }
.safety-banner .sb-txt { display: flex; flex-direction: column; gap: .15rem; min-width: 0; font-size: .95rem; line-height: 1.35; }
.safety-banner .sb-txt b { font-size: 1rem; }
.safety-banner .sb-txt span { color: var(--ink-2); }
.safety-banner .sb-actions { grid-column: 2; display: flex; align-items: center; gap: .5rem; }
.safety-banner .sb-actions .btn { min-height: 44px; padding-inline: 1rem; }
.safety-banner .sb-x { margin-left: auto; min-width: 44px; min-height: 44px; display: grid; place-items: center; border: 0; background: transparent; color: var(--muted); border-radius: 50%; cursor: pointer; }
.safety-banner .sb-x:hover { background: color-mix(in srgb, var(--ink) 8%, transparent); }
@keyframes sb-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .safety-banner { animation: none; } }

.cost-setup { display: grid; grid-template-columns: auto 1fr; gap: .6rem .8rem; align-items: start; background: var(--warn-bg) !important; border: 1px solid color-mix(in srgb, var(--warn) 30%, transparent); }
.cost-setup-ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--warn); background: color-mix(in srgb, var(--warn) 16%, transparent); }
.cost-setup-txt b { display: block; font-size: 1.05rem; color: var(--warn); }
.cost-setup-txt p { margin: .2rem 0 0; color: var(--ink-2); line-height: 1.4; }
.cost-setup-btn { grid-column: 1 / -1; min-height: 48px; justify-content: center; }
@media (min-width: 560px) { .cost-setup-btn { grid-column: 2; justify-self: start; } }
.tm-margin.missing { display: grid; gap: 2px; padding: 12px; border-radius: var(--radius-md); min-width: 0; min-height: 44px; background: var(--warn-bg) !important; border: 0; text-align: left; font: inherit; color: inherit; cursor: pointer; align-content: start; }
.tm-margin.missing b { font-size: 1.35rem !important; line-height: 1.1; }
.tm-margin.missing:active { transform: scale(.98); }
.tm-margin.missing b { color: var(--warn) !important; }
.pf-job-margin.missing { color: var(--warn); font-size: .85rem; font-weight: 700; white-space: nowrap; }

/* v40 crew: own receipts on the Scan page */
.my-receipts { margin-top: 1rem; }
.my-receipts h3 { display: flex; align-items: center; gap: .4rem; margin: 0 0 .5rem; }
.my-rc-list { list-style: none; margin: 0; padding: 0; }
.my-rc-list li { display: flex; justify-content: space-between; align-items: center; gap: .75rem; min-height: 52px; padding: .5rem 0; border-bottom: 1px solid var(--line); }
.my-rc-list li:last-child { border-bottom: 0; }
.my-rc-list li div { display: flex; flex-direction: column; min-width: 0; }
.my-rc-list li small { color: var(--muted); }
.my-rc-amt { font-weight: 800; font-variant-numeric: tabular-nums; }
