import{f as e,h as t,i as n,l as r,r as i,s as a,t as o}from"./useToast-CS8pZhce.js";import{t as s}from"./building-BdUpGLM5.js";import{t as c}from"./clock-BelL0bvZ.js";import{t as l}from"./credit-card-6Y5eHPCw.js";import{t as u}from"./dollar-sign-Bf6JneNn.js";import{t as d}from"./phone-DpnQw4if.js";import{t as f}from"./truck-D5o8mTsH.js";import{t as p}from"./user-CuEEaB8a.js";import{t as m}from"./utensils-BhILG_B7.js";import{$ as h,A as g,C as _,E as v,I as y,L as b,N as x,P as S,S as C,T as ee,Z as w,a as T,b as E,et as D,i as O,j as te,m as k,o as A,r as j,t as M,u as ne,y as re}from"./index-CyHCRa3Z.js";import{t as N}from"./formatters-WvGQLZg0.js";import{c as P,t as F}from"./mockData-DAqQG5te.js";import{InventoryModule as ie}from"./InventoryModule-BI-CFKE0.js";import{SalesModule as I}from"./SalesModule-B4sN0Ogq.js";var L={name:`banknote`,size:24,node:[[`rect`,{width:`20`,height:`12`,x:`2`,y:`6`,rx:`2`,key:`9lu3g6`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`M6 12h.01M18 12h.01`,key:`113zkx`}]]};L.node;var ae=r(L),R={name:`chef-hat`,size:24,node:[[`path`,{d:`M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z`,key:`1qvrer`}],[`path`,{d:`M6 17h12`,key:`1jwigz`}]]};R.node;var z=r(R),B={name:`flame`,size:24,node:[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]};B.node;var V=r(B),H={name:`printer`,size:24,node:[[`path`,{d:`M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2`,key:`143wyd`}],[`path`,{d:`M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6`,key:`1itne7`}],[`rect`,{x:`6`,y:`14`,width:`12`,height:`8`,rx:`1`,key:`1ue0tg`}]]};H.node;var oe=r(H),U={name:`qr-code`,size:24,node:[[`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`,key:`1tu5fj`}],[`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`,key:`1v8r4q`}],[`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`1x03jg`}],[`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`,key:`177gqh`}],[`path`,{d:`M21 21v.01`,key:`ents32`}],[`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`,key:`8crl2c`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M12 3h.01`,key:`n36tog`}],[`path`,{d:`M12 16v.01`,key:`133mhm`}],[`path`,{d:`M16 12h1`,key:`1slzba`}],[`path`,{d:`M21 12v.01`,key:`1lwtk9`}],[`path`,{d:`M12 21v-1`,key:`1880an`}]]};U.node;var se=r(U),W={name:`volume-2`,size:24,node:[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]};W.node;var G=r(W),K={name:`volume-x`,size:24,node:[[`path`,{d:`M11 4.702a.7.7 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.7.7 0 0 0 11 19.298z`,key:`1p7khw`}],[`path`,{d:`m16.5 14.5 5-5`,key:`cul3yw`}],[`path`,{d:`m16.5 9.5 5 5`,key:`1akey5`}]]};K.node;var q=r(K),J=t(e(),1),Y=a(),ce=[{name:`Александр Романов`,phone:`+7 (913) 900-11-22`,tag:`VIP • Скидка 10%`},{name:`Елена Морозова`,phone:`+7 (923) 456-78-90`,tag:`Постоянный гость`},{name:`Михаил Васильев`,phone:`+7 (905) 111-22-33`,tag:`Бонусная карта 5%`},{name:`ООО Альфа Консалт`,phone:`+7 (383) 200-40-50`,tag:`B2B безнал`}],le=()=>{let{showToast:e}=o(),{posCart:t,addToCart:r,removeFromCart:a,updateCartQuantity:s,clearCart:c,posDiscountPercent:u,setPosDiscount:d,posCustomerName:f,setPosCustomer:m,posOrderType:h,setPosOrderType:v,posTableNumber:y,setPosTableNumber:b,posPaymentModalOpen:S,setPosPaymentModalOpen:T,posLastReceipt:E,completeCheckout:D,getActiveProfile:O,activeLocation:k}=w(),A=O(),[P,ie]=(0,J.useState)(`Все`),[I,L]=(0,J.useState)(``),[R,z]=(0,J.useState)(!1),[B,V]=(0,J.useState)(!1),[H,U]=(0,J.useState)(!1),[W,G]=(0,J.useState)(0),[K,q]=(0,J.useState)(0),le=[`Все`,`Роллы`,`Горячее`,`Супы`,`Автоуслуги`,`Автосервис`],ue=F.filter(e=>{let t=P===`Все`||e.category===P,n=e.name.toLowerCase().includes(I.toLowerCase());return t&&n}),X=t.reduce((e,t)=>e+t.price*t.quantity,0),de=X*u/100,Z=Math.max(0,X-de),fe=()=>{t.length!==0&&(U(!1),T(!0))},pe=()=>{let e=Math.round(Z/2);G(e),q(Z-e),U(!0)},me=()=>{W+K===Z&&(T(!1),U(!1),D(`split`),z(!0))},Q=e=>{if(e===`split`){pe();return}T(!1),D(e),z(!0)},he=()=>{e({title:`Печать фискального чека`,message:`Чек ${E?.orderNumber||``} отправлен на кассовый регистратор (Атол 54-Ф)`,type:`success`})},$=Z-(W+K);return(0,Y.jsxs)(`div`,{className:`h-[calc(100vh-8.5rem)] flex flex-col md:flex-row gap-4 animate-fade-in overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0 bg-krona-surface border border-krona-border rounded-xl shadow-krona-soft overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`p-3 border-b border-krona-border flex flex-wrap items-center justify-between gap-3 bg-krona-surface/70`,children:[(0,Y.jsx)(`div`,{className:`flex items-center gap-1.5 overflow-x-auto`,children:le.map(e=>(0,Y.jsx)(`button`,{onClick:()=>ie(e),className:`px-3 py-1.5 rounded-lg text-xs font-medium transition-colors ${P===e?`bg-[#2F684C] text-[#F8F6F0] shadow-sm`:`bg-krona-workspace text-krona-secondary hover:text-krona-primary border border-krona-border`}`,children:e},e))}),(0,Y.jsxs)(`div`,{className:`relative w-56`,children:[(0,Y.jsx)(re,{className:`w-3.5 h-3.5 absolute left-2.5 top-2.5 text-krona-secondary`}),(0,Y.jsx)(`input`,{type:`text`,value:I,onChange:e=>L(e.target.value),placeholder:`Поиск по названию...`,className:`w-full pl-8 pr-3 py-1.5 text-xs bg-krona-workspace border border-krona-border rounded-lg text-krona-primary placeholder:text-krona-secondary focus:outline-none focus:border-krona-green`})]})]}),(0,Y.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4 grid grid-cols-2 sm:grid-cols-3 xl:grid-cols-4 gap-3`,children:ue.map(e=>{let n=t.find(t=>t.id===e.id),a=e.isStopListed;return(0,Y.jsxs)(`div`,{onClick:()=>!a&&r(e),className:`group relative p-3.5 rounded-xl border flex flex-col justify-between transition-all select-none ${a?`opacity-50 border-krona-danger/40 bg-krona-danger/5 cursor-not-allowed`:`cursor-pointer border-krona-border bg-krona-surface hover:border-krona-green/60 hover:shadow-krona-soft active:scale-[0.99]`} ${n?`ring-2 ring-krona-green/40`:``}`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-1 mb-1.5`,children:[(0,Y.jsx)(`span`,{className:`text-[10px] text-krona-secondary uppercase font-semibold`,children:e.category}),a?(0,Y.jsx)(i,{variant:`danger`,size:`sm`,children:`Стоп-лист`}):n?(0,Y.jsxs)(i,{variant:`green`,size:`sm`,children:[n.quantity,` в чеке`]}):null]}),(0,Y.jsx)(`h4`,{className:`text-xs font-bold text-krona-primary leading-snug line-clamp-2`,children:e.name}),e.description&&(0,Y.jsx)(`p`,{className:`text-[11px] text-krona-secondary line-clamp-2 mt-1`,children:e.description})]}),(0,Y.jsxs)(`div`,{className:`mt-3 pt-2.5 border-t border-krona-border/40 flex items-baseline justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-bold text-krona-primary`,children:N(e.price)}),(0,Y.jsxs)(`span`,{className:`text-[10px] text-krona-secondary`,children:[`Себест: `,e.cost,` ₽ (`,e.marginPercent,`%)`]})]})]},e.id)})})]}),(0,Y.jsxs)(`div`,{className:`w-full md:w-80 lg:w-96 flex flex-col bg-krona-surface border border-krona-border rounded-xl shadow-krona-soft overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`p-3 border-b border-krona-border bg-krona-surface/80 space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-bold text-krona-primary uppercase tracking-wider`,children:`Текущий чек`}),(0,Y.jsx)(M,{level:`target`,size:`sm`})]}),(0,Y.jsx)(`span`,{className:`text-xs text-krona-secondary`,children:k})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-3 gap-1 bg-krona-workspace p-1 rounded-lg border border-krona-border text-xs`,children:[(0,Y.jsx)(`button`,{onClick:()=>v(`hall`),className:`py-1 rounded font-medium transition-colors ${h===`hall`?`bg-[#2F684C] text-white shadow-sm`:`text-krona-secondary`}`,children:`В зале`}),(0,Y.jsx)(`button`,{onClick:()=>v(`takeaway`),className:`py-1 rounded font-medium transition-colors ${h===`takeaway`?`bg-[#2F684C] text-white shadow-sm`:`text-krona-secondary`}`,children:`Навынос`}),(0,Y.jsx)(`button`,{onClick:()=>v(`delivery`),className:`py-1 rounded font-medium transition-colors ${h===`delivery`?`bg-[#2F684C] text-white shadow-sm`:`text-krona-secondary`}`,children:`Доставка`})]}),(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex-1 flex items-center gap-1.5 px-2.5 py-1 bg-krona-workspace border border-krona-border rounded-md text-xs`,children:[(0,Y.jsx)(p,{className:`w-3.5 h-3.5 text-krona-secondary`}),(0,Y.jsx)(`input`,{type:`text`,value:f,onChange:e=>m(e.target.value),placeholder:`Клиент / Выбрать...`,className:`w-full bg-transparent focus:outline-none text-xs text-krona-primary`}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>V(!B),className:`text-krona-secondary hover:text-krona-primary`,title:`Выбрать из справочника`,children:(0,Y.jsx)(x,{className:`w-3.5 h-3.5`})})]}),h===`hall`&&(0,Y.jsx)(`div`,{className:`w-24`,children:(0,Y.jsx)(`input`,{type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:`Стол...`,className:`w-full px-2 py-1 bg-krona-workspace border border-krona-border rounded-md text-xs text-krona-primary text-center font-medium focus:outline-none`})})]}),B&&(0,Y.jsxs)(`div`,{className:`absolute left-0 right-0 top-full mt-1 bg-krona-surface border border-krona-border rounded-xl shadow-lg z-20 p-2 space-y-1 text-xs`,children:[(0,Y.jsx)(`div`,{className:`text-[10px] font-bold text-krona-secondary px-2 py-1 uppercase`,children:`Быстрый выбор клиента CRM`}),ce.map((e,t)=>(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>{m(e.name),V(!1),e.tag.includes(`10%`)?d(10):e.tag.includes(`5%`)&&d(5)},className:`w-full text-left p-2 rounded-lg hover:bg-krona-workspace flex items-center justify-between text-xs transition-colors`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{className:`font-semibold text-krona-primary`,children:e.name}),(0,Y.jsx)(`div`,{className:`text-[10px] text-krona-secondary`,children:e.phone})]}),(0,Y.jsx)(i,{variant:`gold`,size:`sm`,children:e.tag})]},t)),(0,Y.jsx)(`div`,{className:`pt-1 border-t border-krona-border/50 text-center`,children:(0,Y.jsx)(`button`,{type:`button`,onClick:()=>V(!1),className:`text-[11px] text-krona-secondary hover:text-krona-primary`,children:`Закрыть список`})})]})]})]}),(0,Y.jsx)(`div`,{className:`flex-1 overflow-y-auto p-3 divide-y divide-krona-border/40`,children:t.length===0?(0,Y.jsxs)(`div`,{className:`py-16 text-center text-xs text-krona-secondary`,children:[(0,Y.jsx)(C,{className:`w-8 h-8 mx-auto mb-2 opacity-30`}),`Чек пуст. Добавьте позиции из каталога слева.`]}):t.map(e=>(0,Y.jsxs)(`div`,{className:`py-2.5 first:pt-0 last:pb-0 flex items-center justify-between gap-2 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`font-semibold text-krona-primary truncate`,children:e.name}),(0,Y.jsxs)(`div`,{className:`text-[11px] text-krona-secondary`,children:[N(e.price),` × `,e.quantity,` = `,N(e.price*e.quantity)]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,Y.jsx)(`button`,{onClick:()=>s(e.id,-1),className:`w-6 h-6 rounded bg-krona-workspace border border-krona-border flex items-center justify-center hover:bg-krona-border/50 text-krona-primary`,"aria-label":`Уменьшить количество ${e.name}`,children:(0,Y.jsx)(ee,{className:`w-3 h-3`})}),(0,Y.jsx)(`span`,{className:`w-6 text-center font-semibold text-xs text-krona-primary`,children:e.quantity}),(0,Y.jsx)(`button`,{onClick:()=>s(e.id,1),className:`w-6 h-6 rounded bg-krona-workspace border border-krona-border flex items-center justify-center hover:bg-krona-border/50 text-krona-primary`,"aria-label":`Увеличить количество ${e.name}`,children:(0,Y.jsx)(_,{className:`w-3 h-3`})}),(0,Y.jsx)(`button`,{onClick:()=>a(e.id),className:`p-1 text-krona-secondary hover:text-krona-danger ml-1`,"aria-label":`Удалить ${e.name} из чека`,children:(0,Y.jsx)(ne,{className:`w-3.5 h-3.5`})})]})]},e.id))}),(0,Y.jsxs)(`div`,{className:`p-3.5 border-t border-krona-border bg-krona-surface/80 space-y-2 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-1 text-[11px]`,children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary`,children:`Скидка:`}),(0,Y.jsx)(`div`,{className:`flex items-center gap-1`,children:[0,5,10,15,20].map(e=>(0,Y.jsxs)(`button`,{onClick:()=>d(e),className:`px-2 py-0.5 rounded border transition-colors ${u===e?`bg-krona-gold text-white font-bold border-krona-gold`:`bg-krona-workspace border-krona-border text-krona-secondary`}`,children:[e,`%`]},e))})]}),(0,Y.jsxs)(`div`,{className:`space-y-1 pt-1`,children:[(0,Y.jsxs)(`div`,{className:`flex justify-between text-krona-secondary`,children:[(0,Y.jsx)(`span`,{children:`Сумма позиций:`}),(0,Y.jsx)(`span`,{children:N(X)})]}),u>0&&(0,Y.jsxs)(`div`,{className:`flex justify-between text-krona-danger`,children:[(0,Y.jsxs)(`span`,{children:[`Скидка (`,u,`%):`]}),(0,Y.jsxs)(`span`,{children:[`-`,N(de)]})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between text-base font-bold text-krona-primary pt-1 border-t border-krona-border`,children:[(0,Y.jsx)(`span`,{children:`К оплате:`}),(0,Y.jsx)(`span`,{className:`text-krona-green`,children:N(Z)})]})]}),(0,Y.jsxs)(`div`,{className:`pt-2 flex gap-2`,children:[(0,Y.jsx)(n,{variant:`secondary`,size:`md`,onClick:c,disabled:t.length===0,className:`px-3`,title:`Очистить чек`,children:`Сброс`}),(0,Y.jsxs)(n,{variant:`primary`,size:`md`,onClick:fe,disabled:t.length===0,className:`flex-1 text-sm font-semibold`,children:[`Оплатить `,N(Z)]})]})]})]}),(0,Y.jsx)(j,{isOpen:S,onClose:()=>{T(!1),U(!1)},title:H?`Смешанная оплата (Наличные + Карта)`:`Оплата заказа`,subtitle:`Сумма к оплате: ${N(Z)}`,maxWidth:`md`,children:H?(0,Y.jsxs)(`div`,{className:`space-y-4 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`bg-krona-workspace p-3 rounded-lg border border-krona-border space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`flex justify-between font-bold text-krona-primary`,children:[(0,Y.jsx)(`span`,{children:`Общая сумма к оплате:`}),(0,Y.jsx)(`span`,{children:N(Z)})]}),(0,Y.jsx)(`p`,{className:`text-[11px] text-krona-secondary`,children:`Распределите сумму между наличным расчетом и банковской картой:`})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsxs)(`label`,{className:`text-[11px] font-semibold text-krona-secondary flex items-center gap-1`,children:[(0,Y.jsx)(ae,{className:`w-3.5 h-3.5 text-krona-green`}),` Сумма наличными (₽):`]}),(0,Y.jsx)(`input`,{type:`number`,min:0,max:Z,value:W,onChange:e=>{let t=Math.max(0,Number(e.target.value));G(t),q(Math.max(0,Z-t))},className:`w-full p-2 bg-krona-surface border border-krona-border rounded-lg font-mono font-bold text-sm text-krona-primary focus:outline-none focus:border-krona-green`})]}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsxs)(`label`,{className:`text-[11px] font-semibold text-krona-secondary flex items-center gap-1`,children:[(0,Y.jsx)(l,{className:`w-3.5 h-3.5 text-sky-600`}),` Сумма картой (₽):`]}),(0,Y.jsx)(`input`,{type:`number`,min:0,max:Z,value:K,onChange:e=>{let t=Math.max(0,Number(e.target.value));q(t),G(Math.max(0,Z-t))},className:`w-full p-2 bg-krona-surface border border-krona-border rounded-lg font-mono font-bold text-sm text-krona-primary focus:outline-none focus:border-krona-green`})]})]}),(0,Y.jsxs)(`div`,{className:`p-2.5 rounded-lg border flex items-center justify-between ${$===0?`bg-emerald-500/10 border-emerald-500/30 text-emerald-700 dark:text-emerald-300`:`bg-rose-500/10 border-rose-500/30 text-rose-700 dark:text-rose-300`}`,children:[(0,Y.jsx)(`div`,{className:`flex items-center gap-1.5 font-medium`,children:$===0?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(g,{className:`w-4 h-4 text-emerald-600`}),(0,Y.jsx)(`span`,{children:`Сумма распределена верно (100%)`})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(te,{className:`w-4 h-4 text-rose-600`}),(0,Y.jsx)(`span`,{children:$>0?`Не распределено: ${N($)}`:`Переплата: ${N(Math.abs($))}`})]})}),(0,Y.jsxs)(`span`,{className:`font-mono font-bold`,children:[N(W+K),` / `,N(Z)]})]}),(0,Y.jsxs)(`div`,{className:`flex gap-2 pt-2 border-t border-krona-border`,children:[(0,Y.jsx)(n,{variant:`secondary`,size:`md`,onClick:()=>U(!1),className:`w-1/3`,children:`Назад`}),(0,Y.jsx)(n,{variant:`primary`,size:`md`,onClick:me,disabled:$!==0,className:`flex-1`,children:`Подтвердить раздельную оплату`})]})]}):(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`p`,{className:`text-xs text-krona-secondary`,children:[`Выберите способ расчета клиента на кассе точки «`,k,`»:`]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 pt-1`,children:[(0,Y.jsxs)(`button`,{onClick:()=>Q(`card`),className:`p-4 rounded-xl border border-krona-border hover:border-krona-green hover:bg-krona-green/5 text-left flex flex-col items-center justify-center gap-2 group transition-all`,children:[(0,Y.jsx)(l,{className:`w-8 h-8 text-krona-green group-hover:scale-110 transition-transform`}),(0,Y.jsx)(`div`,{className:`text-xs font-bold text-krona-primary`,children:`Банковская карта`}),(0,Y.jsx)(`div`,{className:`text-[10px] text-krona-secondary`,children:`Терминал эквайринга`})]}),(0,Y.jsxs)(`button`,{onClick:()=>Q(`cash`),className:`p-4 rounded-xl border border-krona-border hover:border-krona-green hover:bg-krona-green/5 text-left flex flex-col items-center justify-center gap-2 group transition-all`,children:[(0,Y.jsx)(ae,{className:`w-8 h-8 text-krona-green group-hover:scale-110 transition-transform`}),(0,Y.jsx)(`div`,{className:`text-xs font-bold text-krona-primary`,children:`Наличные`}),(0,Y.jsx)(`div`,{className:`text-[10px] text-krona-secondary`,children:`С выдачей сдачи`})]}),(0,Y.jsxs)(`button`,{onClick:()=>Q(`qr`),className:`p-4 rounded-xl border border-krona-border hover:border-krona-green hover:bg-krona-green/5 text-left flex flex-col items-center justify-center gap-2 group transition-all`,children:[(0,Y.jsx)(se,{className:`w-8 h-8 text-krona-gold group-hover:scale-110 transition-transform`}),(0,Y.jsx)(`div`,{className:`text-xs font-bold text-krona-primary`,children:`СБП / QR-код`}),(0,Y.jsx)(`div`,{className:`text-[10px] text-krona-secondary`,children:`Мгновенное зачисление`})]}),(0,Y.jsxs)(`button`,{onClick:()=>Q(`split`),className:`p-4 rounded-xl border border-krona-border hover:border-krona-green hover:bg-krona-green/5 text-left flex flex-col items-center justify-center gap-2 group transition-all`,children:[(0,Y.jsx)(C,{className:`w-8 h-8 text-krona-secondary group-hover:scale-110 transition-transform`}),(0,Y.jsx)(`div`,{className:`text-xs font-bold text-krona-primary`,children:`Смешанная оплата`}),(0,Y.jsx)(`div`,{className:`text-[10px] text-krona-secondary`,children:`Часть нал + часть карта`})]})]})]})}),R&&E&&(0,Y.jsx)(j,{isOpen:R,onClose:()=>z(!1),title:`Чек успешно пробит!`,subtitle:`Заказ ${E.orderNumber} • ${E.timestamp}`,maxWidth:`sm`,footer:(0,Y.jsxs)(`div`,{className:`flex gap-2 w-full`,children:[(0,Y.jsxs)(n,{variant:`secondary`,onClick:he,className:`flex-1 flex items-center justify-center gap-1.5`,children:[(0,Y.jsx)(oe,{className:`w-4 h-4`}),`Распечатать чек`]}),(0,Y.jsx)(n,{variant:`primary`,onClick:()=>z(!1),className:`flex-1`,children:`Новый заказ`})]}),children:(0,Y.jsxs)(`div`,{className:`font-mono text-xs bg-krona-workspace p-3.5 rounded-lg border border-krona-border space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`text-center font-bold pb-1 border-b border-dashed border-krona-border`,children:[A.companyName,(0,Y.jsx)(`div`,{className:`text-[10px] font-normal text-krona-secondary`,children:E.location}),(0,Y.jsx)(`div`,{className:`text-[10px] text-krona-secondary font-normal`,children:`Касса №1 • Смена открыта`})]}),(0,Y.jsx)(`div`,{className:`space-y-1 py-1`,children:E.items.map((e,t)=>(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsxs)(`span`,{children:[e.name,` × `,e.quantity]}),(0,Y.jsx)(`span`,{children:N(e.price*e.quantity)})]},t))}),(0,Y.jsxs)(`div`,{className:`pt-2 border-t border-dashed border-krona-border space-y-1`,children:[(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsx)(`span`,{children:`Сумма:`}),(0,Y.jsx)(`span`,{children:N(E.subtotal)})]}),E.discount>0&&(0,Y.jsxs)(`div`,{className:`flex justify-between text-krona-danger`,children:[(0,Y.jsx)(`span`,{children:`Скидка:`}),(0,Y.jsxs)(`span`,{children:[`-`,N(E.discount)]})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between font-bold text-sm pt-1 border-t border-dotted border-krona-border`,children:[(0,Y.jsx)(`span`,{children:`ИТОГ К ОПЛАТЕ:`}),(0,Y.jsx)(`span`,{children:N(E.total)})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between text-[11px] text-krona-secondary`,children:[(0,Y.jsx)(`span`,{children:`Способ оплаты:`}),(0,Y.jsx)(`span`,{className:`uppercase font-semibold`,children:E.paymentType})]}),E.customer&&(0,Y.jsxs)(`div`,{className:`flex justify-between text-[11px] text-krona-secondary`,children:[(0,Y.jsx)(`span`,{children:`Клиент:`}),(0,Y.jsx)(`span`,{children:E.customer})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between text-[10px] text-krona-secondary pt-1`,children:[(0,Y.jsx)(`span`,{children:`ФП (фискальный признак):`}),(0,Y.jsx)(`span`,{children:`ФП: 49204910283`})]}),(0,Y.jsx)(`div`,{className:`flex justify-between text-[10px] text-krona-secondary`,children:(0,Y.jsx)(`span`,{children:`ФН: 996044030198 • РН ККТ: 00049281001`})})]}),(0,Y.jsxs)(`div`,{className:`pt-2 text-center text-[10px] text-krona-secondary border-t border-dashed border-krona-border`,children:[`Спасибо за заказ в «`,A.companyName,`»!`]})]})})]})},ue=()=>{let{kdsTickets:e,updateKdsTicketStatus:t}=w(),{showToast:r}=o(),[a,s]=(0,J.useState)(!0),[l,u]=(0,J.useState)(`Все цеха`),[d,f]=(0,J.useState)(0);(0,J.useEffect)(()=>{let e=setInterval(()=>{f(e=>e+1)},1e3);return()=>clearInterval(e)},[]);let p=()=>{let e=!a;s(e),r({title:e?`Звуковые оповещения включены`:`Звук отключен`,message:e?`Звуковой сигнал будет воспроизводиться при поступлении нового заказа`:`Уведомления без звука`,type:`info`})},m=[`Все цеха`,`Суши-цех`,`Кухня`,`Горячий цех`],h=e.filter(e=>l===`Все цеха`||e.items.some(e=>e.station===l)),_=h.filter(e=>e.status===`new`),v=h.filter(e=>e.status===`cooking`),y=h.filter(e=>e.status===`ready`),b=e=>{let r=e.elapsedMinutes+Math.floor(d/60),a=r>20,o=r>10&&r<=20;return(0,Y.jsxs)(`div`,{className:`p-3.5 rounded-xl border flex flex-col justify-between transition-all shadow-krona-soft bg-krona-surface ${e.isUrgent?`border-rose-500/80 bg-rose-500/5 ring-1 ring-rose-500/40 animate-pulse`:a?`border-rose-500/70 bg-rose-500/5`:o?`border-amber-500/70`:`border-krona-border`}`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between pb-2 border-b border-krona-border/60`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`font-bold text-sm text-krona-primary`,children:e.orderNumber}),(0,Y.jsx)(i,{variant:`neutral`,size:`sm`,children:e.tableOrChannel}),e.isUrgent&&(0,Y.jsx)(i,{variant:`danger`,size:`sm`,children:`Срочно`})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(c,{className:`w-3.5 h-3.5 ${a?`text-rose-600`:o?`text-amber-600`:`text-krona-secondary`}`}),(0,Y.jsxs)(`span`,{className:`text-xs font-mono font-bold ${a?`text-rose-600`:o?`text-amber-600`:`text-krona-secondary`}`,children:[r,` мин`]})]})]}),(0,Y.jsx)(`div`,{className:`py-2.5 space-y-2 text-xs`,children:e.items.map((e,t)=>(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 font-medium text-krona-primary`,children:[(0,Y.jsx)(`span`,{className:`w-5 h-5 rounded bg-krona-workspace border border-krona-border flex items-center justify-center font-bold text-xs`,children:e.quantity}),(0,Y.jsx)(`span`,{children:e.name})]}),(0,Y.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded bg-krona-muted text-krona-secondary`,children:e.station})]},t))})]}),(0,Y.jsxs)(`div`,{className:`pt-2.5 border-t border-krona-border/60 flex items-center justify-between gap-2`,children:[e.status===`new`&&(0,Y.jsxs)(n,{variant:`gold`,size:`sm`,className:`w-full text-xs`,onClick:()=>t(e.id,`cooking`),children:[(0,Y.jsx)(V,{className:`w-3.5 h-3.5 mr-1.5`}),`В работу (Начать готовить)`]}),e.status===`cooking`&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 w-full`,children:[(0,Y.jsx)(n,{variant:`secondary`,size:`sm`,className:`px-2`,title:`Вернуть в новые`,onClick:()=>t(e.id,`new`),children:(0,Y.jsx)(E,{className:`w-3 h-3 text-krona-secondary`})}),(0,Y.jsxs)(n,{variant:`primary`,size:`sm`,className:`flex-1 text-xs`,onClick:()=>t(e.id,`ready`),children:[(0,Y.jsx)(S,{className:`w-3.5 h-3.5 mr-1.5`}),`Готово к выдаче`]})]}),e.status===`ready`&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 w-full`,children:[(0,Y.jsx)(n,{variant:`secondary`,size:`sm`,className:`px-2`,title:`Вернуть в готовку`,onClick:()=>t(e.id,`cooking`),children:(0,Y.jsx)(E,{className:`w-3 h-3 text-krona-secondary`})}),(0,Y.jsxs)(n,{variant:`secondary`,size:`sm`,className:`flex-1 text-xs hover:bg-emerald-500/10 hover:border-emerald-500/50`,onClick:()=>t(e.id,`served`),children:[(0,Y.jsx)(g,{className:`w-3.5 h-3.5 mr-1.5 text-emerald-600`}),`Выдано гостю / курьеру`]})]})]})]},e.id)};return(0,Y.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col sm:flex-row sm:items-center justify-between gap-3 bg-krona-surface p-3.5 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:`Кухонный монитор заказов & Экран цехов (KDS)`}),(0,Y.jsx)(M,{level:`target`,size:`sm`})]}),(0,Y.jsx)(`p`,{className:`text-xs text-krona-secondary mt-0.5`,children:`Управление очередью приготовления блюд по станциям в реальном времени с таймерами готовки`})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs flex-wrap`,children:[(0,Y.jsx)(`div`,{className:`flex items-center gap-1 bg-krona-workspace p-1 rounded-lg border border-krona-border`,children:m.map(e=>(0,Y.jsx)(`button`,{onClick:()=>u(e),className:`px-2.5 py-1 rounded text-xs font-medium transition-colors ${l===e?`bg-[#2F684C] text-white shadow-sm`:`text-krona-secondary hover:text-krona-primary`}`,children:e},e))}),(0,Y.jsx)(n,{variant:`secondary`,size:`sm`,onClick:p,title:a?`Звук включен`:`Звук выключен`,className:`px-2.5`,children:a?(0,Y.jsx)(G,{className:`w-3.5 h-3.5 text-emerald-600`}):(0,Y.jsx)(q,{className:`w-3.5 h-3.5 text-krona-secondary`})}),(0,Y.jsxs)(i,{variant:`warning`,size:`md`,children:[`В работе: `,v.length]}),(0,Y.jsxs)(i,{variant:`green`,size:`md`,children:[`Готово: `,y.length]})]})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-4`,children:[(0,Y.jsxs)(`div`,{className:`bg-krona-workspace/80 border border-krona-border rounded-xl p-3 flex flex-col min-h-[500px]`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between pb-2 mb-2 border-b border-krona-border`,children:[(0,Y.jsxs)(`span`,{className:`text-xs font-bold text-krona-primary flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`w-2 h-2 rounded-full bg-sky-500`}),`Новые заказы`]}),(0,Y.jsx)(`span`,{className:`text-xs font-mono font-bold text-krona-secondary`,children:_.length})]}),(0,Y.jsx)(`div`,{className:`space-y-3 flex-1 overflow-y-auto`,children:_.length===0?(0,Y.jsx)(`div`,{className:`text-center py-16 text-xs text-krona-secondary`,children:`Нет новых заказов в цехе`}):_.map(b)})]}),(0,Y.jsxs)(`div`,{className:`bg-krona-workspace/80 border border-krona-border rounded-xl p-3 flex flex-col min-h-[500px]`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between pb-2 mb-2 border-b border-krona-border`,children:[(0,Y.jsxs)(`span`,{className:`text-xs font-bold text-krona-primary flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`w-2 h-2 rounded-full bg-amber-500`}),`Готовятся на кухне`]}),(0,Y.jsx)(`span`,{className:`text-xs font-mono font-bold text-krona-secondary`,children:v.length})]}),(0,Y.jsx)(`div`,{className:`space-y-3 flex-1 overflow-y-auto`,children:v.length===0?(0,Y.jsx)(`div`,{className:`text-center py-16 text-xs text-krona-secondary`,children:`Цех свободен`}):v.map(b)})]}),(0,Y.jsxs)(`div`,{className:`bg-krona-workspace/80 border border-krona-border rounded-xl p-3 flex flex-col min-h-[500px]`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between pb-2 mb-2 border-b border-krona-border`,children:[(0,Y.jsxs)(`span`,{className:`text-xs font-bold text-krona-primary flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`w-2 h-2 rounded-full bg-emerald-500`}),`Готовы к выдаче`]}),(0,Y.jsx)(`span`,{className:`text-xs font-mono font-bold text-krona-secondary`,children:y.length})]}),(0,Y.jsx)(`div`,{className:`space-y-3 flex-1 overflow-y-auto`,children:y.length===0?(0,Y.jsx)(`div`,{className:`text-center py-16 text-xs text-krona-secondary`,children:`Нет готовых к выдаче`}):y.map(b)})]})]})]})},X=[{id:`t1`,name:`Стол 1 (VIP)`,zone:`VIP-зона`,capacity:6,status:`occupied`,waiter:`Алина Соколова`,seatedMinutes:45,currentTotal:6850,guestsCount:5,items:[{name:`Филадельфия Премиум`,qty:2,price:950},{name:`Том Ям с морепродуктами`,qty:2,price:680},{name:`Сет Дракон`,qty:1,price:2190},{name:`Морс клюквенный 1л`,qty:2,price:350}]},{id:`t2`,name:`Стол 2`,zone:`Основной зал`,capacity:2,status:`occupied`,waiter:`Артем Васильев`,seatedMinutes:22,currentTotal:2450,guestsCount:2,items:[{name:`Калифорния краб`,qty:2,price:790},{name:`Рамен Тонкоцу`,qty:1,price:590},{name:`Зеленый чай Сентя`,qty:1,price:280}]},{id:`t3`,name:`Стол 3`,zone:`Основной зал`,capacity:4,status:`free`},{id:`t4`,name:`Стол 4 (у окна)`,zone:`Основной зал`,capacity:4,status:`occupied`,waiter:`Алина Соколова`,seatedMinutes:18,currentTotal:4200,guestsCount:3,items:[{name:`Гёдза со свининой`,qty:3,price:420},{name:`Сет Горячая Шестерка`,qty:1,price:2450},{name:`Лимонад Юдзу`,qty:1,price:490}]},{id:`t5`,name:`Стол 5 (диван)`,zone:`Основной зал`,capacity:6,status:`reserved`,reservationTime:`19:00`,reservationClient:`Анна Воронина (3 чел)`},{id:`t6`,name:`Стол 6`,zone:`Основной зал`,capacity:2,status:`free`},{id:`t7`,name:`Стол 7`,zone:`Терраса`,capacity:4,status:`bill_printed`,waiter:`Артем Васильев`,seatedMinutes:62,currentTotal:5100,guestsCount:4,items:[{name:`Сет Филадельфия Мания`,qty:1,price:2890},{name:`Салат Чука с ореховым соусом`,qty:2,price:450},{name:`Чайник Эрл Грей`,qty:1,price:350},{name:`Десерт Моти ассорти`,qty:2,price:480}]},{id:`t8`,name:`Стол 8`,zone:`Терраса`,capacity:4,status:`free`},{id:`bar1`,name:`Барная стойка 1-3`,zone:`Бар`,capacity:3,status:`occupied`,waiter:`Бармен`,seatedMinutes:12,currentTotal:1800,guestsCount:2,items:[{name:`Коктейль Саке Сауэр`,qty:2,price:650},{name:`Эдамаме с морской солью`,qty:1,price:350}]}],de=()=>{let[e,t]=(0,J.useState)(X),[r,a]=(0,J.useState)(null),[s,l]=(0,J.useState)(`Все зоны`),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(``),[h,g]=(0,J.useState)(`20:00`),[_,v]=(0,J.useState)(2),{setPosTableNumber:y}=w(),{showToast:x}=o(),S=D(),C=[`Все зоны`,`Основной зал`,`VIP-зона`,`Терраса`,`Бар`],ee=e.filter(e=>s===`Все зоны`||e.zone===s),T=e=>{y(e.name),S(`/operations/pos`)},E=e=>{t(t=>t.map(t=>t.id===e?{...t,status:`bill_printed`}:t)),r&&r.id===e&&a({...r,status:`bill_printed`}),x({title:`Пречек напечатан`,message:`Предварительный счет для стола «${r?.name||e}» отправлен на печать`,type:`success`})},O=e=>{t(t=>t.map(t=>t.id===e?{...t,status:`free`,currentTotal:0,guestsCount:void 0,waiter:void 0,seatedMinutes:void 0,items:[]}:t)),a(null),x({title:`Стол освобожден`,message:`Стол готов к приему новых гостей`,type:`info`})},te=e=>{t(t=>t.map(t=>t.id===e?{...t,status:`occupied`,waiter:`Дежурный официант`,seatedMinutes:1,guestsCount:t.capacity,currentTotal:0,items:[]}:t)),r&&r.id===e&&a({...r,status:`occupied`,waiter:`Дежурный официант`,seatedMinutes:1,guestsCount:r.capacity,currentTotal:0,items:[]}),x({title:`Гости рассажены`,message:`Стол ${r?.name||``} переведен в статус «Занят»`,type:`success`})},k=()=>{r&&(t(e=>e.map(e=>e.id===r.id?{...e,status:`reserved`,reservationTime:h,reservationClient:`${f} (${_} чел)`}:e)),d(!1),a(null),x({title:`Бронь подтверждена`,message:`Бронь на время ${h} для ${f} сохранена`,type:`success`}))},ne=e=>{switch(e){case`occupied`:return(0,Y.jsx)(i,{variant:`green`,size:`sm`,children:`Занят`});case`reserved`:return(0,Y.jsx)(i,{variant:`gold`,size:`sm`,children:`Бронь`});case`bill_printed`:return(0,Y.jsx)(i,{variant:`warning`,size:`sm`,children:`Пречек`});default:return(0,Y.jsx)(i,{variant:`neutral`,size:`sm`,children:`Свободен`})}},re=e.filter(e=>e.status===`occupied`||e.status===`bill_printed`).length,P=e.filter(e=>e.status===`reserved`).length,F=e.filter(e=>e.status===`free`).length;return(0,Y.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col sm:flex-row sm:items-center justify-between gap-3 bg-krona-surface p-3.5 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:`Схема залов, столы и обслуживание гостей`}),(0,Y.jsx)(M,{level:`target`,size:`sm`})]}),(0,Y.jsx)(`p`,{className:`text-xs text-krona-secondary mt-0.5`,children:`Интерактивная карта посадочных мест, статусы чеков, пречеки и назначенные официанты`})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,Y.jsx)(`div`,{className:`flex items-center gap-1 bg-krona-workspace p-1 rounded-lg border border-krona-border text-xs`,children:C.map(e=>(0,Y.jsx)(`button`,{onClick:()=>l(e),className:`px-2.5 py-1 rounded font-medium transition-colors ${s===e?`bg-[#2F684C] text-white shadow-sm`:`text-krona-secondary hover:text-krona-primary`}`,children:e},e))}),(0,Y.jsxs)(i,{variant:`green`,size:`md`,children:[`Занято: `,re]}),(0,Y.jsxs)(i,{variant:`gold`,size:`md`,children:[`Бронь: `,P]}),(0,Y.jsxs)(i,{variant:`neutral`,size:`md`,children:[`Свободно: `,F]})]})]}),(0,Y.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-4`,children:ee.map(e=>{let t=e.status===`occupied`||e.status===`bill_printed`;return(0,Y.jsxs)(`div`,{onClick:()=>a(e),className:`p-4 rounded-xl border flex flex-col justify-between transition-all cursor-pointer shadow-krona-soft select-none ${e.status===`occupied`?`border-emerald-500/70 bg-emerald-500/5 hover:border-emerald-500`:e.status===`bill_printed`?`border-amber-500/70 bg-amber-500/5 hover:border-amber-500`:e.status===`reserved`?`border-krona-gold/70 bg-krona-gold/5 hover:border-krona-gold`:`border-krona-border bg-krona-surface hover:border-krona-border-strong`}`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,Y.jsx)(`span`,{className:`font-bold text-sm text-krona-primary`,children:e.name}),ne(e.status)]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-krona-secondary mb-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(A,{className:`w-3.5 h-3.5`}),(0,Y.jsxs)(`span`,{children:[`До `,e.capacity,` гостей`]})]}),(0,Y.jsx)(`span`,{className:`text-[10px] bg-krona-workspace px-1.5 py-0.5 rounded border border-krona-border/50`,children:e.zone})]}),t&&(0,Y.jsxs)(`div`,{className:`space-y-1 py-1 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex justify-between font-bold text-krona-primary`,children:[(0,Y.jsx)(`span`,{children:`Счет:`}),(0,Y.jsx)(`span`,{children:N(e.currentTotal||0)})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between text-krona-secondary text-[11px]`,children:[(0,Y.jsx)(`span`,{children:`Официант:`}),(0,Y.jsx)(`span`,{className:`truncate`,children:e.waiter})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between text-krona-secondary text-[11px]`,children:[(0,Y.jsx)(`span`,{children:`Время:`}),(0,Y.jsxs)(`span`,{children:[e.seatedMinutes,` мин`]})]})]}),e.status===`reserved`&&(0,Y.jsxs)(`div`,{className:`py-1 text-xs text-krona-gold-text bg-krona-gold/10 p-2 rounded-lg space-y-1`,children:[(0,Y.jsxs)(`div`,{className:`font-semibold flex items-center gap-1`,children:[(0,Y.jsx)(c,{className:`w-3.5 h-3.5`}),` `,e.reservationTime]}),(0,Y.jsx)(`div`,{className:`text-[11px] truncate`,children:e.reservationClient})]}),e.status===`free`&&(0,Y.jsx)(`div`,{className:`py-4 text-center text-xs text-krona-secondary`,children:`Готов к посадке`})]}),(0,Y.jsxs)(`div`,{className:`pt-2 border-t border-krona-border/50 flex justify-between items-center text-xs text-krona-green font-medium`,children:[(0,Y.jsx)(`span`,{children:`Подробнее`}),(0,Y.jsx)(`span`,{children:`→`})]})]},e.id)})}),r&&!u&&(0,Y.jsx)(j,{isOpen:!!r,onClose:()=>a(null),title:`Управление столом: ${r.name}`,subtitle:`${r.zone} • Вместимость: ${r.capacity} персон`,maxWidth:`md`,children:(0,Y.jsxs)(`div`,{className:`space-y-4 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between p-3 bg-krona-workspace rounded-lg border border-krona-border`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary`,children:`Текущий статус:`}),ne(r.status)]}),r.waiter&&(0,Y.jsxs)(`div`,{className:`text-krona-secondary`,children:[`Официант: `,(0,Y.jsx)(`strong`,{className:`text-krona-primary`,children:r.waiter})]})]}),(r.status===`occupied`||r.status===`bill_printed`)&&(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`h4`,{className:`font-bold text-krona-primary`,children:`Заказ стола:`}),(0,Y.jsx)(`span`,{className:`font-mono font-bold text-sm text-krona-green`,children:N(r.currentTotal||0)})]}),(0,Y.jsx)(`div`,{className:`bg-krona-surface border border-krona-border rounded-lg divide-y divide-krona-border/50 max-h-48 overflow-y-auto`,children:r.items&&r.items.length>0?r.items.map((e,t)=>(0,Y.jsxs)(`div`,{className:`p-2.5 flex items-center justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`w-5 h-5 rounded bg-krona-workspace flex items-center justify-center font-bold text-[11px]`,children:e.qty}),(0,Y.jsx)(`span`,{className:`font-medium text-krona-primary`,children:e.name})]}),(0,Y.jsx)(`span`,{className:`font-mono font-medium text-krona-primary`,children:N(e.price*e.qty)})]},t)):(0,Y.jsx)(`div`,{className:`p-4 text-center text-krona-secondary text-xs`,children:`Заказ еще формируется на кассе`})}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 gap-2 pt-2`,children:[(0,Y.jsx)(n,{variant:`primary`,size:`sm`,onClick:()=>T(r),children:`Открыть в кассе POS`}),(0,Y.jsxs)(n,{variant:`secondary`,size:`sm`,onClick:()=>E(r.id),children:[(0,Y.jsx)(oe,{className:`w-3.5 h-3.5 mr-1`}),`Напечатать пречек`]}),(0,Y.jsx)(n,{variant:`danger`,size:`sm`,onClick:()=>O(r.id),children:`Освободить стол`})]})]}),r.status===`free`&&(0,Y.jsxs)(`div`,{className:`space-y-3 py-2 text-center`,children:[(0,Y.jsx)(`p`,{className:`text-krona-secondary`,children:`Стол свободен и готов принять гостей. Выберите действие:`}),(0,Y.jsxs)(`div`,{className:`flex justify-center gap-3`,children:[(0,Y.jsxs)(n,{variant:`primary`,size:`md`,onClick:()=>te(r.id),children:[(0,Y.jsx)(m,{className:`w-4 h-4 mr-1.5`}),`Посадить гостей (Занять стол)`]}),(0,Y.jsxs)(n,{variant:`gold`,size:`md`,onClick:()=>{v(r.capacity),d(!0)},children:[(0,Y.jsx)(b,{className:`w-4 h-4 mr-1.5`}),`Забронировать стол`]})]})]}),r.status===`reserved`&&(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`p-3 bg-krona-gold/10 border border-krona-gold/30 rounded-lg`,children:[(0,Y.jsx)(`div`,{className:`font-bold text-krona-primary mb-1`,children:`Детали бронирования:`}),(0,Y.jsxs)(`div`,{className:`text-krona-secondary`,children:[`Время: `,(0,Y.jsx)(`strong`,{children:r.reservationTime})]}),(0,Y.jsxs)(`div`,{className:`text-krona-secondary`,children:[`Гость: `,(0,Y.jsx)(`strong`,{children:r.reservationClient})]})]}),(0,Y.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,Y.jsx)(n,{variant:`secondary`,size:`sm`,onClick:()=>O(r.id),children:`Отменить бронь`}),(0,Y.jsx)(n,{variant:`primary`,size:`sm`,onClick:()=>te(r.id),children:`Гости прибыли (Посадить за стол)`})]})]})]})}),u&&r&&(0,Y.jsx)(j,{isOpen:u,onClose:()=>d(!1),title:`Бронирование: ${r.name}`,subtitle:`Внесение записи в журнал бронирования столов`,maxWidth:`sm`,footer:(0,Y.jsxs)(`div`,{className:`flex gap-2 w-full justify-end`,children:[(0,Y.jsx)(n,{variant:`secondary`,onClick:()=>d(!1),children:`Отмена`}),(0,Y.jsx)(n,{variant:`primary`,onClick:k,disabled:!f.trim(),children:`Сохранить бронь`})]}),children:(0,Y.jsxs)(`div`,{className:`space-y-3 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`label`,{className:`font-semibold text-krona-primary`,children:`Имя и телефон гостя:`}),(0,Y.jsx)(`input`,{type:`text`,value:f,onChange:e=>p(e.target.value),placeholder:`Иван Петров, +7 913...`,className:`w-full p-2 bg-krona-workspace border border-krona-border rounded-lg text-krona-primary focus:outline-none focus:border-krona-green`})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`label`,{className:`font-semibold text-krona-primary`,children:`Время брони:`}),(0,Y.jsx)(`input`,{type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:`19:30`,className:`w-full p-2 bg-krona-workspace border border-krona-border rounded-lg text-krona-primary focus:outline-none focus:border-krona-green`})]}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`label`,{className:`font-semibold text-krona-primary`,children:`Количество персон:`}),(0,Y.jsx)(`input`,{type:`number`,min:1,max:r.capacity,value:_,onChange:e=>v(Number(e.target.value)),className:`w-full p-2 bg-krona-workspace border border-krona-border rounded-lg text-krona-primary focus:outline-none focus:border-krona-green`})]})]})]})})]})},Z=()=>{let{workOrders:e,updateWorkOrderStatus:t,setIsQuickActionsOpen:r}=w(),[a,o]=(0,J.useState)(null),s=e=>{switch(e){case`in_progress`:return(0,Y.jsx)(i,{variant:`warning`,size:`sm`,children:`В работе на посту`});case`ready`:return(0,Y.jsx)(i,{variant:`gold`,size:`sm`,children:`Готов к выдаче`});case`paid`:return(0,Y.jsx)(i,{variant:`green`,size:`sm`,children:`Оплачен и выдан`});default:return(0,Y.jsx)(i,{variant:`neutral`,size:`sm`,children:`Черновик / Заезд`})}};return(0,Y.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between bg-krona-surface p-3.5 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:`Заказ-наряды автокомплекса и постов`}),(0,Y.jsx)(`p`,{className:`text-xs text-krona-secondary`,children:`Учет автомобилей, выполненных работ, списанных запчастей и нормо-часов`})]}),(0,Y.jsxs)(n,{variant:`primary`,size:`sm`,onClick:()=>r(!0),children:[(0,Y.jsx)(_,{className:`w-3.5 h-3.5 mr-1.5`}),`Новый заказ-наряд`]})]}),(0,Y.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:e.map(e=>{let r=e.partsAmount+e.laborAmount;return(0,Y.jsxs)(`div`,{onClick:()=>o(e),className:`p-4 rounded-xl border border-krona-border bg-krona-surface hover:border-krona-border-strong shadow-krona-soft cursor-pointer transition-all space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`div`,{className:`p-2 rounded-lg bg-krona-workspace text-krona-info border border-krona-border`,children:(0,Y.jsx)(y,{className:`w-4 h-4`})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{className:`text-sm font-bold text-krona-primary`,children:e.vehicle}),(0,Y.jsxs)(`span`,{className:`text-xs text-krona-secondary font-mono`,children:[e.id,` • `,e.bay]})]})]}),s(e.status)]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 text-xs py-1`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[11px]`,children:`Владелец:`}),(0,Y.jsx)(`span`,{className:`font-medium text-krona-primary`,children:e.ownerName})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[11px]`,children:`Мастер поста:`}),(0,Y.jsx)(`span`,{className:`font-medium text-krona-primary`,children:e.masterName})]})]}),(0,Y.jsxs)(`div`,{className:`p-2.5 rounded-lg bg-krona-workspace text-xs space-y-1`,children:[(0,Y.jsx)(`span`,{className:`text-[11px] font-semibold text-krona-secondary uppercase`,children:`Работы и услуги:`}),(0,Y.jsx)(`ul`,{className:`list-disc list-inside space-y-0.5 text-krona-primary`,children:e.services.map((e,t)=>(0,Y.jsx)(`li`,{className:`truncate`,children:e},t))})]}),(0,Y.jsxs)(`div`,{className:`pt-2 border-t border-krona-border/60 flex items-center justify-between text-xs`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[10px]`,children:`Итоговая стоимость:`}),(0,Y.jsx)(`span`,{className:`text-sm font-bold text-krona-green`,children:N(r)})]}),(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[e.status===`in_progress`&&(0,Y.jsx)(n,{variant:`primary`,size:`sm`,onClick:n=>{n.stopPropagation(),t(e.id,`ready`)},children:`Готово`}),e.status===`ready`&&(0,Y.jsx)(n,{variant:`gold`,size:`sm`,onClick:n=>{n.stopPropagation(),t(e.id,`paid`)},children:`Принять оплату`})]})]})]},e.id)})}),a&&(0,Y.jsx)(j,{isOpen:!!a,onClose:()=>o(null),title:`Заказ-наряд ${a.id}`,subtitle:`${a.vehicle} • ${a.bay}`,maxWidth:`md`,footer:(0,Y.jsx)(n,{variant:`secondary`,onClick:()=>o(null),children:`Закрыть`}),children:(0,Y.jsxs)(`div`,{className:`space-y-4 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 p-3 rounded-lg bg-krona-workspace`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block`,children:`Владелец:`}),(0,Y.jsx)(`span`,{className:`font-semibold text-krona-primary`,children:a.ownerName}),(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[11px]`,children:a.phone})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block`,children:`Ответственный специалист:`}),(0,Y.jsx)(`span`,{className:`font-semibold text-krona-primary`,children:a.masterName}),(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[11px]`,children:a.bay})]})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`font-semibold text-krona-primary block mb-1`,children:`Калькуляция:`}),(0,Y.jsxs)(`div`,{className:`p-3 border border-krona-border rounded-lg space-y-1.5`,children:[(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary`,children:`Работы мастера:`}),(0,Y.jsx)(`span`,{className:`font-medium`,children:N(a.laborAmount)})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary`,children:`Материалы и запчасти:`}),(0,Y.jsx)(`span`,{className:`font-medium`,children:N(a.partsAmount)})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between pt-1 border-t border-krona-border font-bold text-sm`,children:[(0,Y.jsx)(`span`,{children:`ИТОГО К ОПЛАТЕ:`}),(0,Y.jsx)(`span`,{className:`text-krona-green`,children:N(a.laborAmount+a.partsAmount)})]})]})]})]})})]})},fe=()=>{let{bookings:e,updateBookingStatus:t,setIsQuickActionsOpen:r,getActiveProfile:a}=w(),o=a(),s=e=>{switch(e){case`confirmed`:return(0,Y.jsx)(i,{variant:`gold`,size:`sm`,children:`Подтверждена`});case`seated`:return(0,Y.jsx)(i,{variant:`green`,size:`sm`,children:`Гость пришел / Заезд`});case`completed`:return(0,Y.jsx)(i,{variant:`neutral`,size:`sm`,children:`Завершено`});case`cancelled`:return(0,Y.jsx)(i,{variant:`danger`,size:`sm`,children:`Отменена / No-Show`})}};return(0,Y.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between bg-krona-surface p-3.5 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:[`Журнал бронирования & Запись ресурсов (`,o.terminology.bookingResourceLabel,`)`]}),(0,Y.jsx)(`p`,{className:`text-xs text-krona-secondary`,children:`Сетка временных слотов, подтверждение депозитов и контроль неявок (no-show)`})]}),(0,Y.jsxs)(n,{variant:`primary`,size:`sm`,onClick:()=>r(!0),children:[(0,Y.jsx)(_,{className:`w-3.5 h-3.5 mr-1.5`}),`Записать клиента`]})]}),(0,Y.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3.5`,children:e.map(e=>(0,Y.jsxs)(`div`,{className:`p-4 rounded-xl border border-krona-border bg-krona-surface shadow-krona-soft flex flex-col justify-between space-y-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between pb-2 border-b border-krona-border/60`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 font-bold text-sm text-krona-primary`,children:[(0,Y.jsx)(c,{className:`w-4 h-4 text-krona-gold`}),(0,Y.jsx)(`span`,{children:e.time})]}),s(e.status)]}),(0,Y.jsxs)(`div`,{className:`py-2 space-y-1.5 text-xs`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`span`,{className:`text-[10px] text-krona-secondary uppercase font-semibold`,children:[o.terminology.bookingResourceLabel,`:`]}),(0,Y.jsx)(`div`,{className:`font-semibold text-krona-primary`,children:e.resourceName})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-[10px] text-krona-secondary uppercase font-semibold`,children:`Клиент:`}),(0,Y.jsx)(`div`,{className:`text-krona-primary font-medium`,children:e.clientName}),(0,Y.jsx)(`div`,{className:`text-[11px] text-krona-secondary font-mono`,children:e.clientPhone}),e.guestsOrCar&&(0,Y.jsx)(`div`,{className:`text-[11px] text-krona-secondary italic mt-0.5`,children:e.guestsOrCar})]}),e.deposit>0&&(0,Y.jsxs)(`div`,{className:`flex justify-between pt-1 border-t border-krona-border/40 text-[11px]`,children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary`,children:`Внесен депозит:`}),(0,Y.jsx)(`span`,{className:`font-semibold text-krona-green`,children:N(e.deposit)})]})]})]}),(0,Y.jsxs)(`div`,{className:`pt-2 border-t border-krona-border/60 flex items-center justify-end gap-2`,children:[e.status===`confirmed`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(n,{variant:`outline`,size:`sm`,className:`text-xs`,onClick:()=>t(e.id,`cancelled`),children:`No-Show`}),(0,Y.jsx)(n,{variant:`primary`,size:`sm`,className:`text-xs`,onClick:()=>t(e.id,`seated`),children:`Прибыл`})]}),e.status===`seated`&&(0,Y.jsx)(n,{variant:`secondary`,size:`sm`,className:`w-full text-xs`,onClick:()=>t(e.id,`completed`),children:`Завершить визит`})]})]},e.id))})]})},pe=({initialMobile:e=!1})=>{let{deliveries:t,updateDeliveryStatus:r}=w(),[a,o]=(0,J.useState)(e),s=e=>{switch(e){case`in_transit`:return(0,Y.jsx)(i,{variant:`info`,size:`sm`,children:`Курьер в пути`});case`delivered`:return(0,Y.jsx)(i,{variant:`green`,size:`sm`,children:`Доставлен`});default:return(0,Y.jsx)(i,{variant:`warning`,size:`sm`,children:`Ожидает курьера`})}};return(0,Y.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between bg-krona-surface p-3.5 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:`Управление доставкой & Мониторинг курьеров`}),(0,Y.jsx)(`p`,{className:`text-xs text-krona-secondary`,children:`Логистический контур: распределение заказов, расчет времени прибытия (ETA) и контроль налички`})]}),(0,Y.jsxs)(n,{variant:a?`gold`:`secondary`,size:`sm`,onClick:()=>o(!a),children:[(0,Y.jsx)(k,{className:`w-3.5 h-3.5 mr-1.5`}),a?`Обычный диспетчерский вид`:`Экран курьера (Mobile View)`]})]}),a?(0,Y.jsxs)(`div`,{className:`max-w-md mx-auto bg-krona-surface border-2 border-krona-gold/60 rounded-2xl p-4 shadow-xl space-y-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between pb-3 border-b border-krona-border`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`div`,{className:`w-8 h-8 rounded-full bg-krona-gold/20 flex items-center justify-center text-krona-gold`,children:(0,Y.jsx)(f,{className:`w-4 h-4`})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{className:`text-xs font-bold text-krona-primary`,children:`Алексей Смирнов (Авто)`}),(0,Y.jsx)(`span`,{className:`text-[10px] text-krona-secondary`,children:`Смена активна • Наличные: 24 500 ₽`})]})]}),(0,Y.jsx)(i,{variant:`green`,size:`sm`,children:`Онлайн`})]}),(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`span`,{className:`text-xs font-semibold uppercase tracking-wider text-krona-secondary block`,children:[`Мои текущие доставки (`,t.filter(e=>e.status!==`delivered`).length,`)`]}),t.map(e=>(0,Y.jsxs)(`div`,{className:`p-3.5 rounded-xl border border-krona-border bg-krona-workspace space-y-2.5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`font-bold text-xs text-krona-primary`,children:e.orderId}),s(e.status)]}),(0,Y.jsxs)(`div`,{className:`space-y-1 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-1.5 text-krona-primary font-medium`,children:[(0,Y.jsx)(v,{className:`w-3.5 h-3.5 text-krona-danger shrink-0 mt-0.5`}),(0,Y.jsx)(`span`,{children:e.address})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between pt-1 text-[11px] text-krona-secondary`,children:[(0,Y.jsx)(`span`,{children:e.recipientName}),(0,Y.jsxs)(`a`,{href:`tel:${e.phone}`,className:`text-krona-green font-semibold flex items-center gap-1`,children:[(0,Y.jsx)(d,{className:`w-3 h-3`}),e.phone]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between pt-1 border-t border-krona-border/60`,children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary`,children:`К оплате:`}),(0,Y.jsxs)(`span`,{className:`font-bold text-krona-primary`,children:[N(e.amount),` (`,e.paymentMethod,`)`]})]})]}),(0,Y.jsxs)(`div`,{className:`pt-2 flex gap-2`,children:[e.status===`pending`&&(0,Y.jsx)(n,{variant:`primary`,size:`sm`,className:`w-full text-xs`,onClick:()=>r(e.id,`in_transit`),children:`Заказ забрал, еду к клиенту`}),e.status===`in_transit`&&(0,Y.jsxs)(n,{variant:`gold`,size:`sm`,className:`w-full text-xs`,onClick:()=>r(e.id,`delivered`),children:[(0,Y.jsx)(g,{className:`w-3.5 h-3.5 mr-1`}),`Заказ вручен и оплачен`]})]})]},e.id))]})]}):(0,Y.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-4`,children:t.map(e=>(0,Y.jsxs)(`div`,{className:`p-4 rounded-xl border border-krona-border bg-krona-surface shadow-krona-soft space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between pb-2 border-b border-krona-border/60`,children:[(0,Y.jsx)(`span`,{className:`font-bold text-sm text-krona-primary`,children:e.orderId}),s(e.status)]}),(0,Y.jsxs)(`div`,{className:`space-y-1.5 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-1.5`,children:[(0,Y.jsx)(v,{className:`w-3.5 h-3.5 text-krona-danger shrink-0 mt-0.5`}),(0,Y.jsx)(`span`,{className:`text-krona-primary font-medium leading-tight`,children:e.address})]}),(0,Y.jsxs)(`div`,{className:`pt-1 text-krona-secondary`,children:[(0,Y.jsxs)(`div`,{children:[`Получатель: `,(0,Y.jsx)(`strong`,{className:`text-krona-primary`,children:e.recipientName})]}),(0,Y.jsxs)(`div`,{children:[`Телефон: `,(0,Y.jsx)(`span`,{className:`font-mono`,children:e.phone})]}),(0,Y.jsxs)(`div`,{children:[`Курьер: `,(0,Y.jsx)(`strong`,{className:`text-krona-primary`,children:e.courierName})]})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between pt-1 border-t border-krona-border/40 font-bold`,children:[(0,Y.jsx)(`span`,{children:`Сумма:`}),(0,Y.jsx)(`span`,{className:`text-krona-green`,children:N(e.amount)})]})]}),(0,Y.jsxs)(`div`,{className:`pt-2 border-t border-krona-border/60 flex justify-end gap-2`,children:[e.status===`pending`&&(0,Y.jsx)(n,{variant:`primary`,size:`sm`,className:`w-full text-xs`,onClick:()=>r(e.id,`in_transit`),children:`Передать курьеру`}),e.status===`in_transit`&&(0,Y.jsx)(n,{variant:`secondary`,size:`sm`,className:`w-full text-xs`,onClick:()=>r(e.id,`delivered`),children:`Отметить вручение`}),e.status===`delivered`&&(0,Y.jsx)(`div`,{className:`w-full text-center text-xs text-krona-green font-semibold py-1`,children:`✓ Успешно доставлен`})]})]},e.id))})]})},me=()=>{let[e]=(0,J.useState)(P),[t,r]=(0,J.useState)(null);return(0,Y.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between bg-krona-surface p-3.5 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:`Технологические карты & Калькуляция (BOM)`}),(0,Y.jsx)(`p`,{className:`text-xs text-krona-secondary`,children:`Нормы расхода сырья, расчет food cost %, плановая себестоимость и маржинальность`})]}),(0,Y.jsxs)(n,{variant:`primary`,size:`sm`,onClick:()=>r(e[0]),children:[(0,Y.jsx)(z,{className:`w-3.5 h-3.5 mr-1.5`}),`Посмотреть калькуляцию`]})]}),(0,Y.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:e.map(e=>(0,Y.jsxs)(`div`,{onClick:()=>r(e),className:`p-4 rounded-xl border border-krona-border bg-krona-surface hover:border-krona-border-strong shadow-krona-soft cursor-pointer transition-all space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{className:`text-sm font-bold text-krona-primary`,children:e.name}),(0,Y.jsxs)(`span`,{className:`text-xs text-krona-secondary`,children:[`Выход: `,e.yieldWeight,` • `,e.category]})]}),(0,Y.jsxs)(i,{variant:`green`,size:`sm`,children:[`Food Cost: `,e.foodCostPercent,`%`]})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-3 gap-2 p-2.5 rounded-lg bg-krona-workspace text-xs`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[10px]`,children:`Себестоимость:`}),(0,Y.jsx)(`span`,{className:`font-bold text-krona-primary`,children:N(e.primeCost)})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[10px]`,children:`Цена продажи:`}),(0,Y.jsx)(`span`,{className:`font-bold text-krona-green`,children:N(e.sellingPrice)})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[10px]`,children:`Маржа (руб):`}),(0,Y.jsx)(`span`,{className:`font-bold text-krona-gold`,children:N(e.marginRub)})]})]}),(0,Y.jsxs)(`div`,{className:`text-xs text-krona-secondary`,children:[(0,Y.jsxs)(`span`,{className:`font-medium text-krona-primary`,children:[`Ингредиенты (`,e.ingredients.length,`): `]}),e.ingredients.map(e=>e.name).join(`, `)]})]},e.id))}),t&&(0,Y.jsx)(j,{isOpen:!!t,onClose:()=>r(null),title:`Техкарта: ${t.name}`,subtitle:`Выход готового блюда: ${t.yieldWeight}`,maxWidth:`lg`,footer:(0,Y.jsx)(n,{variant:`secondary`,onClick:()=>r(null),children:`Закрыть`}),children:(0,Y.jsxs)(`div`,{className:`space-y-4 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`grid grid-cols-4 gap-2 p-3 bg-krona-workspace rounded-lg text-center`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[10px]`,children:`Цена в меню:`}),(0,Y.jsx)(`span`,{className:`font-bold text-sm text-krona-primary`,children:N(t.sellingPrice)})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[10px]`,children:`Себестоимость:`}),(0,Y.jsx)(`span`,{className:`font-bold text-sm text-krona-danger`,children:N(t.primeCost)})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[10px]`,children:`Food Cost %:`}),(0,Y.jsxs)(`span`,{className:`font-bold text-sm text-krona-green`,children:[t.foodCostPercent,`%`]})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary block text-[10px]`,children:`Маржинальный доход:`}),(0,Y.jsx)(`span`,{className:`font-bold text-sm text-krona-gold`,children:N(t.marginRub)})]})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h5`,{className:`font-semibold text-krona-primary mb-2`,children:`Расход сырья и калькуляция:`}),(0,Y.jsxs)(`table`,{className:`w-full text-left border-collapse`,children:[(0,Y.jsx)(`thead`,{children:(0,Y.jsxs)(`tr`,{className:`border-b border-krona-border text-krona-secondary text-[11px]`,children:[(0,Y.jsx)(`th`,{className:`pb-1.5 font-medium`,children:`Ингредиент`}),(0,Y.jsx)(`th`,{className:`pb-1.5 font-medium`,children:`Брутто`}),(0,Y.jsx)(`th`,{className:`pb-1.5 font-medium`,children:`Нетто`}),(0,Y.jsx)(`th`,{className:`pb-1.5 font-medium text-right`,children:`Стоимость`})]})}),(0,Y.jsx)(`tbody`,{className:`divide-y divide-krona-border/40`,children:t.ingredients.map((e,t)=>(0,Y.jsxs)(`tr`,{className:`py-1.5`,children:[(0,Y.jsx)(`td`,{className:`py-1.5 font-medium text-krona-primary`,children:e.name}),(0,Y.jsx)(`td`,{className:`py-1.5 text-krona-secondary`,children:e.gross}),(0,Y.jsx)(`td`,{className:`py-1.5 text-krona-secondary`,children:e.net}),(0,Y.jsx)(`td`,{className:`py-1.5 font-semibold text-right text-krona-primary`,children:N(e.cost)})]},t))})]})]})]})})]})},Q=[{id:`sup-1`,name:`СибРыбТорг`,category:`Рыба и морепродукты`,phone:`+7 (383) 310-20-40`,contactPerson:`Олег Васильев`,debt:48500,deliveryDays:`Пн, Ср, Пт (до 11:00)`},{id:`sup-2`,name:`Хорека Логистик`,category:`Сыры, молочная продукция`,phone:`+7 (383) 220-11-88`,contactPerson:`Елена Белова`,debt:12400,deliveryDays:`Вторник, Четверг`},{id:`sup-3`,name:`Восточный Экспресс`,category:`Рис, соусы, водоросли, специи`,phone:`+7 (383) 299-44-33`,contactPerson:`Алексей Чэнь`,debt:0,deliveryDays:`По заявке (1 день)`},{id:`sup-4`,name:`ЭкоУпаковка Сибирь`,category:`Контейнеры, пакеты, палочки`,phone:`+7 (383) 345-67-89`,contactPerson:`Мария Семенова`,debt:3200,deliveryDays:`Среда`}],he=[{id:`PO-901`,supplierName:`СибРыбТорг`,date:`10.09.2026`,itemsCount:3,totalAmount:48500,status:`in_transit`,deliveryEta:`Сегодня к 15:30`},{id:`PO-900`,supplierName:`Хорека Логистик`,date:`09.09.2026`,itemsCount:2,totalAmount:23600,status:`received`,deliveryEta:`Получен 09.09`},{id:`PO-899`,supplierName:`Восточный Экспресс`,date:`08.09.2026`,itemsCount:5,totalAmount:38400,status:`received`,deliveryEta:`Получен 08.09`},{id:`PO-902`,supplierName:`ЭкоУпаковка Сибирь`,date:`10.09.2026`,itemsCount:4,totalAmount:14200,status:`sent`,deliveryEta:`Завтра к 12:00`}],$=()=>{let[e]=(0,J.useState)(Q),[t,r]=(0,J.useState)(he),[a,o]=(0,J.useState)(`orders`),[c,l]=(0,J.useState)(!1),[d,p]=(0,J.useState)(Q[0].name),[m,h]=(0,J.useState)(`25000`),[g,v]=(0,J.useState)(`3`),[y,b]=(0,J.useState)(`Завтра к 11:00`),x=e.reduce((e,t)=>e+t.debt,0),S=e=>{e.preventDefault();let n={id:`PO-${Math.floor(903+Math.random()*90)}`,supplierName:d,date:new Date().toLocaleDateString(`ru-RU`),itemsCount:Number(g)||1,totalAmount:Number(m)||0,status:`sent`,deliveryEta:y};r([n,...t]),l(!1)},C=e=>{switch(e){case`received`:return(0,Y.jsx)(i,{variant:`green`,size:`sm`,children:`Принят на склад`});case`in_transit`:return(0,Y.jsx)(i,{variant:`info`,size:`sm`,children:`В пути / Доставка`});case`sent`:return(0,Y.jsx)(i,{variant:`gold`,size:`sm`,children:`Отправлен поставщику`});default:return(0,Y.jsx)(i,{variant:`neutral`,size:`sm`,children:`Черновик`})}};return(0,Y.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col sm:flex-row sm:items-center justify-between gap-3 bg-krona-surface p-3.5 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:`Закупки, заказы поставщикам и приходные накладные`}),(0,Y.jsx)(`p`,{className:`text-xs text-krona-secondary`,children:`Управление контрагентами, графиками поставок сырья и расчетами`})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center bg-krona-workspace p-1 rounded-lg border border-krona-border text-xs`,children:[(0,Y.jsxs)(`button`,{onClick:()=>o(`orders`),className:`px-3 py-1 rounded font-medium transition-colors ${a===`orders`?`bg-[#2F684C] text-white shadow-sm`:`text-krona-secondary`}`,children:[`Заказы (`,t.length,`)`]}),(0,Y.jsxs)(`button`,{onClick:()=>o(`suppliers`),className:`px-3 py-1 rounded font-medium transition-colors ${a===`suppliers`?`bg-[#2F684C] text-white shadow-sm`:`text-krona-secondary`}`,children:[`Поставщики (`,e.length,`)`]})]}),(0,Y.jsxs)(n,{variant:`primary`,size:`sm`,onClick:()=>l(!0),children:[(0,Y.jsx)(_,{className:`w-3.5 h-3.5 mr-1`}),`Новый заказ поставщику`]})]})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-3 gap-3.5`,children:[(0,Y.jsx)(O,{title:`Задолженность перед поставщиками`,value:N(x),change:{value:`-12%`,trend:`neutral`},subtitle:`Срок оплаты: до 15.09`,icon:(0,Y.jsx)(u,{className:`w-4 h-4 text-krona-gold`})}),(0,Y.jsx)(O,{title:`Заказов в пути`,value:`${t.filter(e=>e.status===`in_transit`).length} поставки`,subtitle:`Ожидаются сегодня`,icon:(0,Y.jsx)(f,{className:`w-4 h-4 text-krona-info`})}),(0,Y.jsx)(O,{title:`Активных поставщиков`,value:`${e.length} контрагента`,subtitle:`Регулярные поставки сырья`,icon:(0,Y.jsx)(s,{className:`w-4 h-4 text-krona-green`})})]}),a===`orders`?(0,Y.jsxs)(`div`,{className:`bg-krona-surface border border-krona-border rounded-xl shadow-krona-soft overflow-hidden p-4 space-y-3`,children:[(0,Y.jsx)(`h4`,{className:`text-xs font-bold text-krona-primary uppercase tracking-wider`,children:`Журнал заказов поставщикам`}),(0,Y.jsx)(`div`,{className:`overflow-x-auto`,children:(0,Y.jsxs)(`table`,{className:`w-full text-left text-xs border-collapse`,children:[(0,Y.jsx)(`thead`,{className:`bg-krona-workspace/80 text-krona-secondary border-b border-krona-border`,children:(0,Y.jsxs)(`tr`,{children:[(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Номер заказа`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Поставщик`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Дата`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Позиций сырья`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Сумма заказа`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Ожидаемая поставка`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Статус`})]})}),(0,Y.jsx)(`tbody`,{className:`divide-y divide-krona-border/50`,children:t.map(e=>(0,Y.jsxs)(`tr`,{className:`hover:bg-krona-workspace/50 transition-colors`,children:[(0,Y.jsx)(`td`,{className:`p-3 font-mono font-bold text-krona-primary`,children:e.id}),(0,Y.jsx)(`td`,{className:`p-3 font-medium text-krona-primary`,children:e.supplierName}),(0,Y.jsx)(`td`,{className:`p-3 text-krona-secondary`,children:e.date}),(0,Y.jsxs)(`td`,{className:`p-3 text-krona-secondary`,children:[e.itemsCount,` наим.`]}),(0,Y.jsx)(`td`,{className:`p-3 font-bold text-krona-primary`,children:N(e.totalAmount)}),(0,Y.jsx)(`td`,{className:`p-3 text-krona-secondary`,children:e.deliveryEta}),(0,Y.jsx)(`td`,{className:`p-3`,children:C(e.status)})]},e.id))})]})})]}):(0,Y.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-4`,children:e.map(e=>(0,Y.jsxs)(`div`,{className:`p-4 rounded-xl border border-krona-border bg-krona-surface shadow-krona-soft space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h4`,{className:`text-sm font-bold text-krona-primary`,children:e.name}),(0,Y.jsx)(`span`,{className:`text-xs text-krona-secondary`,children:e.category})]}),e.debt>0?(0,Y.jsxs)(i,{variant:`warning`,size:`sm`,children:[`Долг: `,N(e.debt)]}):(0,Y.jsx)(i,{variant:`green`,size:`sm`,children:`Сверено (0 ₽)`})]}),(0,Y.jsxs)(`div`,{className:`space-y-1 text-xs text-krona-secondary pt-1 border-t border-krona-border/40`,children:[(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsx)(`span`,{children:`Контактное лицо:`}),(0,Y.jsx)(`span`,{className:`font-medium text-krona-primary`,children:e.contactPerson})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsx)(`span`,{children:`Телефон:`}),(0,Y.jsx)(`span`,{className:`font-mono text-krona-primary`,children:e.phone})]}),(0,Y.jsxs)(`div`,{className:`flex justify-between`,children:[(0,Y.jsx)(`span`,{children:`Дни доставки:`}),(0,Y.jsx)(`span`,{className:`text-krona-primary`,children:e.deliveryDays})]})]})]},e.id))}),c&&(0,Y.jsx)(j,{isOpen:c,onClose:()=>l(!1),title:`Новый заказ поставщику`,subtitle:`Формирование заявки на поставку сырья и материалов`,maxWidth:`sm`,children:(0,Y.jsxs)(`form`,{onSubmit:S,className:`space-y-3 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5 text-left`,children:[(0,Y.jsx)(`label`,{className:`text-xs font-medium text-krona-secondary`,children:`Поставщик`}),(0,Y.jsx)(`select`,{value:d,onChange:e=>p(e.target.value),className:`w-full bg-krona-surface border border-krona-border rounded-md px-3 py-2 text-xs text-krona-primary`,children:e.map(e=>(0,Y.jsxs)(`option`,{value:e.name,children:[e.name,` (`,e.category,`)`]},e.id))})]}),(0,Y.jsx)(T,{label:`Количество позиций в заявке`,type:`number`,value:g,onChange:e=>v(e.target.value),required:!0}),(0,Y.jsx)(T,{label:`Плановая сумма заказа (₽)`,type:`number`,value:m,onChange:e=>h(e.target.value),required:!0}),(0,Y.jsx)(T,{label:`Желаемый срок доставки`,value:y,onChange:e=>b(e.target.value),placeholder:`Завтра к 10:00`,required:!0}),(0,Y.jsxs)(`div`,{className:`pt-2 flex justify-end gap-2`,children:[(0,Y.jsx)(n,{type:`button`,variant:`secondary`,onClick:()=>l(!1),children:`Отмена`}),(0,Y.jsx)(n,{type:`submit`,variant:`primary`,children:`Отправить заказ`})]})]})})]})},ge=[{id:`b1`,name:`Пост 1 (Мойка + Детейлинг)`,type:`Моечный пост`,status:`busy`,vehicleOrMaster:`BMW X5 (А001АА 154)`,orderNumber:`WO-880`,timeRemaining:`12 мин`,workOrderType:`Комплекс Люкс`},{id:`b2`,name:`Пост 2 (Подъёмник гидравлический)`,type:`Слесарный пост`,status:`busy`,vehicleOrMaster:`Toyota Land Cruiser (Р777УУ 154)`,orderNumber:`WO-881`,timeRemaining:`25 мин`,workOrderType:`Замена масла + колодки`},{id:`b3`,name:`Пост 3 (Подъёмник 4-стоечный / Сход-развал)`,type:`Сход-развал`,status:`free`},{id:`b4`,name:`Пост 4 (Детейлинг бокс / Керамика)`,type:`Детейлинг`,status:`busy`,vehicleOrMaster:`Porsche Cayenne (В500ВВ 154)`,orderNumber:`WO-882`,timeRemaining:`45 мин`,workOrderType:`Керамика кузова`},{id:`b5`,name:`Пост 5 (Быстрая мойка кузова)`,type:`Моечный пост`,status:`free`},{id:`b6`,name:`Пост 6 (Шиномонтаж / Балансировка)`,type:`Шиномонтаж`,status:`free`}],_e=()=>{let{getActiveProfile:e,setIsQuickActionsOpen:t}=w(),r=e(),a=D();return(0,Y.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between bg-krona-surface p-3.5 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:[`Посты, подъемники и рабочие зоны (`,r.terminology.bookingResourceLabel,`)`]}),(0,Y.jsx)(`p`,{className:`text-xs text-krona-secondary`,children:`Мониторинг загрузки постов, времени обслуживания и закрепленных заказ-нарядов`})]}),(0,Y.jsxs)(n,{variant:`primary`,size:`sm`,onClick:()=>t(!0),children:[(0,Y.jsx)(_,{className:`w-3.5 h-3.5 mr-1`}),`Заезд на пост`]})]}),(0,Y.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-3 gap-4`,children:ge.map(e=>{let r=e.status===`busy`;return(0,Y.jsxs)(`div`,{className:`p-4 rounded-xl border shadow-krona-soft flex flex-col justify-between space-y-3 transition-all ${r?`border-krona-gold/60 bg-krona-surface`:`border-krona-border bg-krona-surface/60 opacity-90`}`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,Y.jsx)(`span`,{className:`font-bold text-xs text-krona-primary`,children:e.name}),(0,Y.jsx)(i,{variant:r?`gold`:`green`,size:`sm`,children:r?`Занят`:`Свободен`})]}),(0,Y.jsx)(`div`,{className:`text-[11px] text-krona-secondary mb-2`,children:e.type}),r?(0,Y.jsxs)(`div`,{className:`p-3 rounded-lg bg-krona-workspace space-y-1.5 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 font-bold text-krona-primary`,children:[(0,Y.jsx)(y,{className:`w-3.5 h-3.5 text-krona-info`}),(0,Y.jsx)(`span`,{children:e.vehicleOrMaster})]}),(0,Y.jsx)(`div`,{className:`text-krona-secondary text-[11px]`,children:e.workOrderType}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between pt-1 border-t border-krona-border/60 text-[11px]`,children:[(0,Y.jsx)(`span`,{className:`text-krona-secondary font-mono`,children:e.orderNumber}),(0,Y.jsxs)(`span`,{className:`text-krona-warning font-semibold flex items-center gap-1`,children:[(0,Y.jsx)(c,{className:`w-3 h-3`}),`Осталось `,e.timeRemaining]})]})]}):(0,Y.jsx)(`div`,{className:`py-6 text-center text-xs text-krona-secondary`,children:`Пост свободен. Готов к приему автомобиля.`})]}),(0,Y.jsx)(`div`,{className:`pt-2 border-t border-krona-border/60 flex justify-end gap-2`,children:r?(0,Y.jsx)(n,{variant:`outline`,size:`sm`,className:`w-full text-xs`,onClick:()=>a(`/operations/work-orders`),children:`Открыть заказ-наряд`}):(0,Y.jsx)(n,{variant:`primary`,size:`sm`,className:`w-full text-xs`,onClick:()=>t(!0),children:`Назначить автомобиль`})})]},e.id)})})]})},ve=()=>{let e=h(),t=D(),{getActiveProfile:r,getActiveCapabilities:a,setIsQuickActionsOpen:o,activeLocation:s}=w(),c=r(),l=a(),u=e.pathname;return u===`/operations/pos`?(0,Y.jsx)(le,{}):u===`/operations/kds`?(0,Y.jsx)(ue,{}):u===`/operations/dining`?(0,Y.jsx)(de,{}):u===`/operations/work-orders`?(0,Y.jsx)(Z,{}):u===`/operations/booking`?(0,Y.jsx)(fe,{}):u===`/operations/delivery`?(0,Y.jsx)(pe,{}):u===`/operations/courier`?(0,Y.jsx)(pe,{initialMobile:!0}):u===`/operations/recipes`?(0,Y.jsx)(me,{}):u===`/operations/inventory`?(0,Y.jsx)(ie,{}):u===`/operations/orders`?(0,Y.jsx)(I,{}):u===`/operations/purchasing`?(0,Y.jsx)($,{}):u===`/operations/bays`?(0,Y.jsx)(_e,{}):u===`/operations/catalog`?(0,Y.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between bg-krona-surface p-3.5 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:[c.terminology.itemsLabel,` (`,s,`)`]}),(0,Y.jsx)(`p`,{className:`text-xs text-krona-secondary`,children:`Управление ассортиментом, ценами продажи, себестоимостью и стоп-листом`})]}),(0,Y.jsxs)(n,{variant:`primary`,size:`sm`,onClick:()=>o(!0),children:[`+ Добавить `,c.terminology.itemLabel.toLowerCase()]})]}),(0,Y.jsx)(`div`,{className:`bg-krona-surface border border-krona-border rounded-xl shadow-krona-soft overflow-hidden`,children:(0,Y.jsxs)(`table`,{className:`w-full text-left text-xs border-collapse`,children:[(0,Y.jsx)(`thead`,{className:`bg-krona-workspace/80 text-krona-secondary border-b border-krona-border`,children:(0,Y.jsxs)(`tr`,{children:[(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Наименование`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Категория`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Цена продажи`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Себестоимость`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold`,children:`Маржа %`}),(0,Y.jsx)(`th`,{className:`p-3 font-semibold text-center`,children:`Статус в меню`})]})}),(0,Y.jsx)(`tbody`,{className:`divide-y divide-krona-border/50`,children:F.map(e=>(0,Y.jsxs)(`tr`,{className:`hover:bg-krona-workspace/50 transition-colors`,children:[(0,Y.jsxs)(`td`,{className:`p-3 font-medium text-krona-primary`,children:[(0,Y.jsx)(`div`,{children:e.name}),e.description&&(0,Y.jsx)(`div`,{className:`text-[11px] text-krona-secondary`,children:e.description})]}),(0,Y.jsx)(`td`,{className:`p-3 text-krona-secondary`,children:e.category}),(0,Y.jsx)(`td`,{className:`p-3 font-bold text-krona-primary`,children:N(e.price)}),(0,Y.jsx)(`td`,{className:`p-3 text-krona-secondary`,children:N(e.cost)}),(0,Y.jsxs)(`td`,{className:`p-3 font-semibold text-krona-green`,children:[e.marginPercent,`%`]}),(0,Y.jsx)(`td`,{className:`p-3 text-center`,children:e.isStopListed?(0,Y.jsx)(i,{variant:`danger`,size:`sm`,children:`В стоп-листе`}):(0,Y.jsx)(i,{variant:`green`,size:`sm`,children:`Доступно`})})]},e.id))})]})})]}):(0,Y.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col sm:flex-row sm:items-center justify-between gap-3 bg-krona-surface p-4 rounded-xl border border-krona-border shadow-krona-soft`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`h1`,{className:`text-base font-bold text-krona-primary`,children:[`Операционный хаб: `,c.name]}),(0,Y.jsx)(M,{level:`target`,size:`sm`})]}),(0,Y.jsxs)(`p`,{className:`text-xs text-krona-secondary mt-0.5`,children:[`Точка: `,(0,Y.jsx)(`strong`,{className:`text-krona-primary`,children:s}),` • Отраслевой рабочий контур с быстрым доступом`]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[l.pos&&(0,Y.jsx)(n,{variant:`primary`,size:`sm`,onClick:()=>t(`/operations/pos`),children:`Открыть кассу (POS)`}),l.kds&&(0,Y.jsx)(n,{variant:`gold`,size:`sm`,onClick:()=>t(`/operations/kds`),children:`Кухонный экран (KDS)`})]})]}),(0,Y.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3.5`,children:c.operationsTabs.filter(e=>e.id!==`overview`).map(e=>(0,Y.jsxs)(`div`,{onClick:()=>t(e.route),className:`p-4 rounded-xl border border-krona-border bg-krona-surface hover:border-krona-green/70 hover:shadow-krona-soft cursor-pointer transition-all space-y-2 group`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`span`,{className:`font-bold text-sm text-krona-primary group-hover:text-krona-green transition-colors`,children:e.label}),e.badge&&(0,Y.jsx)(i,{variant:`gold`,size:`sm`,children:e.badge})]}),(0,Y.jsxs)(`p`,{className:`text-xs text-krona-secondary`,children:[`Перейти в рабочий экран «`,e.label,`» для текущей смены`]}),(0,Y.jsx)(`div`,{className:`text-xs text-krona-green font-medium pt-1`,children:`Открыть раздел →`})]},e.id))})]})};export{ve as OperationsModule};