/* OrderForge demo — app shell styles (scenario pages use Tailwind CDN utilities) */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--slate-900);-webkit-font-smoothing:antialiased}
.tabular{font-variant-numeric:tabular-nums}
/* toast */
#toast-root{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{pointer-events:auto;min-width:240px;max-width:340px;background:#0f172a;color:#fff;border-radius:12px;
  padding:12px 14px;box-shadow:0 10px 30px rgba(15,23,42,.25);display:flex;gap:10px;align-items:flex-start;
  animation:toastIn .22s ease-out;font-size:13px;line-height:1.4}
.toast.ok{background:linear-gradient(135deg,#059669,#047857)}
.toast.warn{background:linear-gradient(135deg,#d97706,#b45309)}
.toast.err{background:linear-gradient(135deg,#e11d48,#be123c)}
@keyframes toastIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
/* skeleton */
.sk{background:linear-gradient(90deg,#eef2f7 25%,#e2e8f0 37%,#eef2f7 63%);background-size:400% 100%;animation:sk 1.2s ease infinite;border-radius:8px}
@keyframes sk{0%{background-position:100% 50%}100%{background-position:0 50%}}
/* modal */
.modal-back{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fade .15s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
/* kanban scroll niceties */
.scroll-y::-webkit-scrollbar{width:8px}
.scroll-y::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}
/* print preview sheet */
.sheet{background:#fff;color:#15151a;box-shadow:0 1px 2px rgba(0,0,0,.08)}
@media print{.no-print{display:none!important}body{background:#fff}}
