/* Launchpad Feature — Order alert. Colours come from core/tokens.css only.
   Client apps change --brand to match their own accent; nothing here is hardcoded. */
.lp-oa{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lp-oa-btn{min-height:var(--tap);padding:0 16px;border-radius:var(--radius);
  border:1px solid var(--brand);background:var(--bg-2);color:var(--text);
  font:inherit;font-weight:600}
.lp-oa[data-state="muted"] .lp-oa-btn{border-color:var(--border);color:var(--text-2)}
.lp-oa-btn:focus-visible,.lp-oa-banner:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.lp-oa-banner{flex:1 1 100%;min-height:var(--tap);padding:10px 16px;border-radius:var(--radius);
  border:1px solid var(--warn);background:var(--bg-2);color:var(--warn);
  font:inherit;font-weight:600;text-align:center}
.lp-oa-banner[hidden],.lp-oa-btn[hidden]{display:none}
.lp-oa-banner:disabled{color:var(--text-2);border-color:var(--border);cursor:default}
.lp-oa-offline{flex:1 1 100%;padding:10px 16px;border-radius:var(--radius);
  border:1px solid var(--err);background:var(--bg-2);color:var(--err);
  font-weight:600;text-align:center}
.lp-oa-offline[hidden]{display:none}
.lp-oa-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Put this class on a card for three pulses. */
.lp-oa-flash{animation:lp-oa-pulse 1.2s ease-in-out 3}
@keyframes lp-oa-pulse{
  0%,100%{box-shadow:0 0 0 0 transparent}
  50%{box-shadow:0 0 0 6px var(--brand)}
}
/* No motion: a steady outline for the same length of time instead. */
@media (prefers-reduced-motion:reduce){
  .lp-oa-flash{animation:none;outline:3px solid var(--brand);outline-offset:2px}
}
