/* BringMyFood shared theme tokens. data-theme on <html>: marigold | midnight | basil | berry */
:root, [data-theme="marigold"]{
  --acc:#F5A524; --accd:#C9810A; --onacc:#15161B; --ink:#15161B; --onink:#FFFFFF; --paper:#FFFFFF; --mist:#F3F2F5; --line:#E4E2E9;
  --mute:#555555; --dim:#888888; --leaf:#1F8A5B; --chili:#D7263D; --shell:#E9E6EE; --leaf-soft:rgba(31,138,91,.12); --acc-soft:rgba(245,165,36,.16); --chili-soft:rgba(215,38,61,.12);
  --sh-card:0 1px 2px rgba(21,22,27,.06), 0 10px 28px -14px rgba(21,22,27,.22); --sh-pop:0 18px 40px -18px rgba(21,22,27,.5); color-scheme:light;
}
[data-theme="midnight"]{
  --acc:#F5A524; --accd:#FFC25C; --onacc:#15161B; --ink:#F4F3F7; --onink:#15161B; --paper:#15161B; --mist:#22232B; --line:#2F3039;
  --mute:#B3B3BD; --dim:#8A8A94; --leaf:#3DD68C; --chili:#FF5C7A; --shell:#0B0B0F; --leaf-soft:rgba(61,214,140,.14); --acc-soft:rgba(245,165,36,.18); --chili-soft:rgba(255,92,122,.16);
  --sh-card:0 1px 2px rgba(0,0,0,.4), 0 12px 30px -14px rgba(0,0,0,.8); --sh-pop:0 18px 40px -16px rgba(0,0,0,.9); color-scheme:dark;
}
[data-theme="basil"]{
  --acc:#2BB673; --accd:#1D8A55; --onacc:#06130C; --ink:#0F1F17; --onink:#FFFFFF; --paper:#FBFDFB; --mist:#EDF4EF; --line:#D9E6DD;
  --mute:#4F5F56; --dim:#7F8F86; --leaf:#1D8A55; --chili:#D7263D; --shell:#DDE8E0; --leaf-soft:rgba(29,138,85,.12); --acc-soft:rgba(43,182,115,.16); --chili-soft:rgba(215,38,61,.12);
  --sh-card:0 1px 2px rgba(15,31,23,.06), 0 10px 28px -14px rgba(15,31,23,.22); --sh-pop:0 18px 40px -18px rgba(15,31,23,.5); color-scheme:light;
}
[data-theme="berry"]{
  --acc:#E2456F; --accd:#B82A51; --onacc:#FFFFFF; --ink:#1C1220; --onink:#FFFFFF; --paper:#FFFDFE; --mist:#F6EEF2; --line:#EAD9E1;
  --mute:#5B4A55; --dim:#8E7E88; --leaf:#1F8A5B; --chili:#E2456F; --shell:#EADDE3; --leaf-soft:rgba(31,138,91,.12); --acc-soft:rgba(226,69,111,.16); --chili-soft:rgba(226,69,111,.14);
  --sh-card:0 1px 2px rgba(28,18,32,.06), 0 10px 28px -14px rgba(28,18,32,.22); --sh-pop:0 18px 40px -18px rgba(28,18,32,.5); color-scheme:light;
}
html,body{ height:100%; background:var(--shell); }
body{ font-family:"DM Sans",system-ui,sans-serif; color:var(--ink); -webkit-font-smoothing:antialiased; margin:0; }
.font-display{ font-variation-settings:"SOFT" 100; }
.lucide{ width:1em; height:1em; stroke-width:2; flex-shrink:0; }
.nowrap{ white-space:nowrap; }
.chip{ white-space:nowrap; flex-shrink:0; }
.noscroll{ scrollbar-width:none; } .noscroll::-webkit-scrollbar{ display:none; }
.press{ transition:transform .12s, box-shadow .2s; } .press:active{ transform:scale(.97); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{ outline:2px solid var(--acc); outline-offset:2px; }
@keyframes rise{ from{ transform:translateY(14px); opacity:0 } to{ transform:none; opacity:1 } }
.rise{ animation:rise .4s cubic-bezier(.2,.8,.2,1) both; }
.rise-1{ animation-delay:.05s } .rise-2{ animation-delay:.12s } .rise-3{ animation-delay:.19s } .rise-4{ animation-delay:.26s }
@keyframes toastin{ from{ transform:translateY(16px); opacity:0 } to{ transform:none; opacity:1 } }
.toast{ animation:toastin .28s cubic-bezier(.2,.8,.2,1) both; }
@keyframes bump{ 0%{ transform:scale(1) } 40%{ transform:scale(1.35) } 100%{ transform:scale(1) } }
.bump{ animation:bump .35s ease-out; }
@keyframes pulse{ 0%,100%{ opacity:1 } 50%{ opacity:.35 } }
.pulse{ animation:pulse 1.2s ease-in-out infinite; }
/* food placeholder tile: <div class="ph" data-kind="pizza"><i data-lucide="pizza"></i><span>Label</span></div> */
.ph{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; overflow:hidden; color:#15161B; background:linear-gradient(135deg,var(--ph-a,#FFE3B0),var(--ph-b,#F5A524)); }
.ph .lucide{ width:38%; height:38%; max-width:64px; max-height:64px; stroke-width:1.6; opacity:.9; }
.ph span{ font-size:11px; font-weight:600; letter-spacing:.02em; opacity:.75; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:90%; }
.ph.sm .lucide{ width:46%; height:46%; } .ph.sm span{ display:none; }
.ph[data-kind="pizza"]{ --ph-a:#FFE0B8; --ph-b:#F0894A; } .ph[data-kind="burger"]{ --ph-a:#FBD5B5; --ph-b:#C9712D; }
.ph[data-kind="sushi"]{ --ph-a:#FFD9DC; --ph-b:#E86A7A; } .ph[data-kind="portuguese"]{ --ph-a:#FFE7A8; --ph-b:#D9A431; }
.ph[data-kind="healthy"]{ --ph-a:#D7F2DE; --ph-b:#4FB36F; } .ph[data-kind="dessert"]{ --ph-a:#F3DCF5; --ph-b:#B86BC8; }
.ph[data-kind="drink"]{ --ph-a:#D6ECFA; --ph-b:#4A9BD6; } .ph[data-kind="generic"]{ --ph-a:#EDEBF0; --ph-b:#B9B6C2; }
.ph::after{ content:""; position:absolute; inset:0; background:radial-gradient(120% 80% at 100% 0%, rgba(255,255,255,.35), transparent 60%); pointer-events:none; }
/* status badges: data-status attr */
.badge{ display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 10px; border-radius:999px; font-size:11px; font-weight:700; white-space:nowrap; letter-spacing:.02em; }
.badge[data-status="placed"]{ background:var(--acc-soft); color:var(--accd); }
.badge[data-status="accepted"],.badge[data-status="preparing"]{ background:var(--mist); color:var(--ink); }
.badge[data-status="ready"]{ background:var(--leaf-soft); color:var(--leaf); }
.badge[data-status="picked_up"],.badge[data-status="on_the_way"]{ background:var(--ink); color:var(--onink); }
.badge[data-status="delivered"]{ background:var(--mist); color:var(--mute); }
.badge[data-status="rejected"],.badge[data-status="cancelled"]{ background:var(--chili-soft); color:var(--chili); }
@media (prefers-reduced-motion:reduce){ .rise,.toast,.bump,.press,.pulse{ animation:none !important; transition:none !important; } }
