import{f as e,h as t,o as n,r,s as i}from"./useToast-CS8pZhce.js";import{t as a}from"./dollar-sign-Bf6JneNn.js";import{G as o,c as s,i as c,o as l,t as u}from"./index-CNnq9VO5.js";import{n as d,t as f}from"./formatters-WvGQLZg0.js";import{$ as p,A as m,At as h,B as g,C as _,Ct as v,D as y,Dt as b,E as x,Et as S,F as C,G as w,H as T,I as E,J as D,K as ee,L as te,M as ne,N as re,O as ie,Ot as O,P as ae,Q as oe,R as se,S as ce,St as le,T as ue,Tt as k,U as de,V as fe,W as pe,X as me,Y as he,Z as ge,_ as _e,_t as A,a as ve,at as ye,b as be,bt as j,c as xe,ct as M,d as Se,dt as Ce,et as we,f as Te,ft as Ee,g as De,gt as Oe,h as ke,ht as Ae,i as je,it as N,j as Me,k as Ne,kt as Pe,l as Fe,lt as Ie,m as Le,mt as Re,n as ze,nt as Be,o as Ve,ot as He,p as Ue,pt as We,q as Ge,r as Ke,rt as qe,s as Je,st as Ye,t as Xe,tt as P,u as Ze,ut as Qe,v as $e,vt as F,w as et,wt as tt,x as nt,xt as I,y as rt,yt as L,z as it}from"./AreaChart-BnzyacT3.js";var R=e=>null;R.displayName=`Cell`;var at=e=>e.graphicalItems.polarItems,ot=F([P,we],ee),z=F([at,D,ot],de),st=F([z],T),B=F([st,N],g),ct=F([B,D,z],te);F([B,D,z],(e,t,n)=>n.length>0?e.flatMap(e=>n.flatMap(n=>({value:A(e,t.dataKey??n.dataKey),errorDomain:[]}))).filter(Boolean):t?.dataKey==null?e.map(e=>({value:e,errorDomain:[]})):e.map(e=>({value:A(e,t.dataKey),errorDomain:[]})));var V=()=>void 0,lt=F([B,D,z,Ge,P,ye],fe),ut=F([D,he,me,V,lt,V,Qe,P],w),H=F([D,Qe,B,ct,qe,P,ut],se),dt=F([H,oe,ge],pe),ft=F([D,H,dt,P],it);F([ge,ft],p);function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function pt(e){for(var t=1;tt],(e,t)=>e.filter(e=>e.type===`pie`).find(e=>e.id===t)),_t=[],G=(e,t,n)=>n?.length===0?_t:n,vt=F([N,W,G],(e,t,n)=>{var r=e.chartData;if(t!=null){var i=t?.data!=null&&t.data.length>0?t.data:r;if((!i||!i.length)&&n!=null&&(i=n.map(e=>pt(pt({},t.presentationProps),e.props))),i!=null)return i}}),yt=F([vt,W,G],(e,t,n)=>{if(e!=null&&t!=null)return e.map((e,r)=>{var i,a=A(e,t.nameKey,t.name),o=n!=null&&(i=n[r])!=null&&(i=i.props)!=null&&i.fill?n[r].props.fill:typeof e==`object`&&e&&`fill`in e?e.fill:t.fill;return{value:Oe(a,t.dataKey),dataKey:t.dataKey,color:o,payload:e,type:t.legendType}})}),bt=F([vt,W,G,We],(e,t,n,r)=>{if(t!=null&&e!=null)return Kt({offset:r,pieSettings:t,displayedData:e,cells:n})}),xt=(e,t,n)=>{var r=L();return(i,a)=>o=>{e?.(i,a,o),r(E({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},St=e=>{var t=L();return(n,r)=>i=>{e?.(n,r,i),t(ae())}},Ct=(e,t,n)=>{var r=L();return(i,a)=>o=>{e?.(i,a,o),r(C({activeIndex:String(a),activeDataKey:t,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},K=t(e()),wt=[`key`],Tt=[`onMouseEnter`,`onClick`,`onMouseLeave`],Et=[`id`],Dt=[`id`];function q(){return q=Object.assign?Object.assign.bind():function(e){for(var t=1;tce(e.children,R),[e.children]),n=j(n=>yt(n,e.id,t));return n==null?null:K.createElement(rt,{legendPayload:n})}function Ft(e){if(e!=null&&typeof e!=`boolean`&&typeof e!=`function`){if(K.isValidElement(e)){var t=e.props?.fill;return typeof t==`string`?t:void 0}var n=e.fill;return typeof n==`string`?n:void 0}}var It=K.memo(e=>{var t=e.dataKey,n=e.nameKey,r=e.sectors,i=e.stroke,a=e.strokeWidth,o=e.fill,s=e.name,c=e.hide,l=e.tooltipType,u=e.formatter,d=e.id,f=e.activeShape,p=Ft(f),m={dataDefinedOnItem:r.map(e=>{var t=e.tooltipPayload;return p==null||t==null?t:t.map(e=>Y(Y({},e),{},{color:p,fill:p}))}),getPosition:e=>r[Number(e)]?.tooltipPosition,settings:{stroke:i,strokeWidth:a,fill:o,dataKey:t,nameKey:n,name:Oe(s,t),hide:c,type:l,color:o,unit:``,formatter:u,graphicalItemId:d}};return K.createElement(be,{tooltipEntrySettings:m})}),Lt=(e,t)=>e>t?`start`:ev(typeof t==`function`?t(e):t,n,n*.8),zt=(e,t,n)=>{var r=t.top,i=t.left,a=t.width,o=t.height,s=Ye(a,o);return{cx:i+v(e.cx,a,a/2),cy:r+v(e.cy,o,o/2),innerRadius:v(e.innerRadius,s,0),outerRadius:Rt(n,e.outerRadius,s),maxRadius:e.maxRadius||Math.sqrt(a*a+o*o)/2}},Bt=(e,t)=>S(t-e)*Math.min(Math.abs(t-e),360),Vt=(e,t)=>{if(K.isValidElement(e))return K.cloneElement(e,t);if(typeof e==`function`)return e(t);var r=n(`recharts-pie-label-line`,typeof e==`boolean`?``:e.className);t.key;var i=J(t,wt);return K.createElement(Ie,q({},i,{type:`linear`,className:r}))},Ht=(e,t,r)=>{if(K.isValidElement(e))return K.cloneElement(e,t);var i=r;if(typeof e==`function`&&(i=e(t),K.isValidElement(i)))return i;var a=n(`recharts-pie-label-text`,_(e));return K.createElement(y,q({},t,{alignmentBaseline:`middle`,className:a}),i)};function Ut(e){var t=e.sectors,n=e.props,r=e.showLabels,i=n.label,a=n.labelLine,o=n.dataKey;if(!r||!i||!t)return null;var s=Pe(n),c=h(i),l=h(a),u=typeof i==`object`&&`offsetRadius`in i&&typeof i.offsetRadius==`number`&&i.offsetRadius||20,d=t.map((e,t)=>{var n=(e.startAngle+e.endAngle)/2,r=M(e.cx,e.cy,e.outerRadius+u,n),d=Y(Y(Y(Y({},s),e),{},{stroke:`none`},c),{},{index:t,textAnchor:Lt(r.x,e.cx)},r),f=Y(Y(Y(Y({},s),e),{},{fill:`none`,stroke:e.fill},l),{},{index:t,points:[M(e.cx,e.cy,e.outerRadius,n),r],key:`line`});return K.createElement(m,{zIndex:Be.label,key:`label-${e.startAngle}-${e.endAngle}-${e.midAngle}-${t}`},K.createElement(O,null,a&&Vt(a,f),Ht(i,d,A(e,o))))});return K.createElement(O,{className:`recharts-pie-labels`},d)}function Wt(e){var t=e.sectors,n=e.props,r=e.showLabels,i=n.label;return typeof i==`object`&&i&&`position`in i?K.createElement(et,{label:i}):K.createElement(Ut,{sectors:t,props:n,showLabels:r})}function Gt(e){var t=e.sectors,n=e.activeShape,r=e.inactiveShape,i=e.allOtherPieProps,a=e.shape,o=e.id,s=e.animationElapsedTime,c=e.isAnimating,l=e.isEntrance,u=j(re),d=j(Me),f=j(ne),p=i.onMouseEnter,m=i.onClick,h=i.onMouseLeave,g=J(i,Tt),_=xt(p,i.dataKey,o),v=St(h),y=Ct(m,i.dataKey,o);return t==null||t.length===0?null:K.createElement(K.Fragment,null,t.map((e,p)=>{if(e?.startAngle===0&&e?.endAngle===0&&t.length!==1)return null;var m=f==null||f===o,h=String(p)===u&&(d==null||i.dataKey===d)&&m,b=n&&h?n:u?r:null,x=Y(Y({},e),{},{stroke:e.stroke,tabIndex:-1,index:p,isActive:h,animationElapsedTime:s,isAnimating:c,isEntrance:l,[Ae]:p,[Re]:o});return K.createElement(O,q({key:`sector-${e?.startAngle}-${e?.endAngle}-${e.midAngle}-${p}`,tabIndex:-1,className:`recharts-pie-sector`},le(g,e,p),{onMouseEnter:_(e,p),onMouseLeave:v(e,p),onClick:y(e,p)}),K.createElement(nt,{option:b??a,DefaultShape:Nt,shapeProps:x}))}))}function Kt(e){var t=e.pieSettings,n=e.displayedData,r=e.cells,i=e.offset,a=t.cornerRadius,o=t.startAngle,s=t.endAngle,c=t.dataKey,l=t.nameKey,u=t.tooltipType,d=Math.abs(t.minAngle),f=Bt(o,s),p=Math.abs(f),m=n.length<=1?0:t.paddingAngle??0,h=n.filter(e=>A(e,c,0)!==0).length,g=(p>=360?h:h-1)*m,_=n.reduce((e,t)=>{var n=A(t,c,0);return e+(k(n)?n:0)},0),v=d>0&&_>0&&n.some(e=>{var t=A(e,c,0),n=(k(t)?t:0)/_;return t!==0&&n*p0){var x;b=n.map((e,n)=>{var s=A(e,c,0),d=A(e,l,n),p=zt(t,i,e),h=(k(s)?s:0)/_,g,b=Y(Y({},e),r&&r[n]&&r[n].props),C=b!=null&&`fill`in b&&typeof b.fill==`string`?b.fill:t.fill;g=n?x.endAngle+S(f)*m*(s===0?0:1):o;var w=g+S(f)*((s===0?0:v)+h*y),T=(g+w)/2,E=(p.innerRadius+p.outerRadius)/2,D=[{name:d,value:s,payload:b,dataKey:c,type:u,color:C,fill:C,graphicalItemId:t.id}],ee=M(p.cx,p.cy,E,T);return x=Y(Y(Y(Y({},t.presentationProps),{},{percent:h,cornerRadius:typeof a==`string`?parseFloat(a):a,name:d,tooltipPayload:D,midAngle:T,middleRadius:E,tooltipPosition:ee},b),p),{},{value:s,dataKey:c,startAngle:g,endAngle:w,payload:b,paddingAngle:s===0?0:S(f)*m}),x})}return b}function qt(e){var t=e.showLabels,n=e.sectors,r=e.children,i=(0,K.useMemo)(()=>!t||!n?[]:n.map(e=>({value:e.value,payload:e.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:e.cx,cy:e.cy,innerRadius:e.innerRadius,outerRadius:e.outerRadius,startAngle:e.startAngle,endAngle:e.endAngle,clockWise:!1},fill:e.fill})),[n,t]);return K.createElement(ue,{value:t?i:void 0},r)}var Jt=(e,t)=>{if(e==null)return[];var n=[],r=e.find(e=>e.status!==`removed`),i=r?r.next.startAngle:0;return e.forEach((e,r)=>{if(e.status!==`removed`){var a=r>0?b(e.next,`paddingAngle`,0):0;if(e.status===`matched`){var o=tt(e.prev.endAngle-e.prev.startAngle,e.next.endAngle-e.next.startAngle,t),s=Y(Y({},e.next),{},{startAngle:i+a,endAngle:i+o+a});n.push(s),i=s.endAngle}else{var c=tt(0,e.next.endAngle-e.next.startAngle,t),l=Y(Y({},e.next),{},{startAngle:i+a,endAngle:i+c+a});n.push(l),i=l.endAngle}}}),n};function Yt(e){var t=e.props,n=e.previousSectorsRef,r=e.id,i=t.sectors,a=t.activeShape,o=t.inactiveShape,s=t.animationInterpolateFn,c=_e(t.onAnimationStart,t.onAnimationEnd),l=c.isAnimating,u=c.handleAnimationStart,d=c.handleAnimationEnd,f=Ce();if(f==null)return null;var p=i[0];return K.createElement(qt,{showLabels:!l,sectors:i},K.createElement(De,{animationInput:t,animationIdPrefix:`recharts-pie-`,items:i,previousItemsRef:n,isAnimationActive:t.isAnimationActive,animationBegin:t.animationBegin,animationDuration:t.animationDuration,animationEasing:t.animationEasing,onAnimationStart:u,onAnimationEnd:d,animationInterpolateFn:s,animationMatchBy:t.animationMatchBy,layout:f},(e,n,i)=>K.createElement(O,null,K.createElement(Gt,{sectors:e,activeShape:a,inactiveShape:o,allOtherPieProps:t,shape:t.shape,id:r,animationElapsedTime:n,isAnimating:l||n<1,isEntrance:i}))),K.createElement(Wt,{showLabels:!l,sectors:i,props:t}),K.createElement(x,{cx:p?.cx??0,cy:p?.cy??0,innerRadius:p?.innerRadius??0,outerRadius:p?.outerRadius??0,startAngle:t.startAngle,endAngle:t.endAngle,clockWise:!1},t.children))}var Xt={animationBegin:400,animationDuration:1500,animationEasing:`ease`,animationInterpolateFn:Jt,animationMatchBy:$e,cx:`50%`,cy:`50%`,dataKey:`value`,endAngle:360,fill:`#808080`,hide:!1,innerRadius:0,isAnimationActive:`auto`,label:!1,labelLine:!0,legendType:`rect`,minAngle:0,nameKey:`name`,outerRadius:`80%`,paddingAngle:0,rootTabIndex:0,shape:Nt,startAngle:0,stroke:`#fff`,zIndex:Be.area};function Zt(e){var t=e.id,r=J(e,Et),i=e.hide,a=e.className,o=e.rootTabIndex,s=(0,K.useMemo)(()=>ce(e.children,R),[e.children]),c=j(e=>bt(e,t,s)),l=(0,K.useRef)(null),u=n(`recharts-pie`,a);return i||c==null?(l.current=null,K.createElement(O,{tabIndex:o,className:u})):K.createElement(m,{zIndex:e.zIndex},K.createElement(It,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:c,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,formatter:e.formatter,id:t,activeShape:e.activeShape}),K.createElement(O,{tabIndex:o,className:u},K.createElement(Yt,{props:Y(Y({},r),{},{sectors:c}),previousSectorsRef:l,id:t})))}function Qt(e){var t=I(e,Xt),n=t.id,r=J(t,Dt),i=Pe(r);return K.createElement(ke,{id:n,type:`pie`},e=>K.createElement(K.Fragment,null,K.createElement(Le,{type:`pie`,id:e,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:i,maxRadius:t.maxRadius}),K.createElement(Pt,q({},r,{id:e})),K.createElement(Zt,q({},r,{id:e}))))}var $t=Qt;$t.displayName=`Pie`;function en(e){var t=L();return(0,K.useEffect)(()=>{t(xe(e))},[t,e]),null}var tn=[`layout`];function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var n=I(e,_n);return K.createElement(un,{chartName:`PieChart`,defaultTooltipEventType:`item`,validateTooltipEventTypes:gn,tooltipPayloadSearcher:Ne,categoricalChartProps:n,ref:t})}),Q=i(),yn={today:{revenue:184500,revChange:`+12.4%`,orders:58,ordersChange:`+6`,avgCheck:3180,avgCheckChange:`+180 ₽`,retention:`68.4%`,retentionChange:`+2.1%`,salesTrend:[{label:`10:00`,revenue:14200,orders:4},{label:`12:00`,revenue:38400,orders:12},{label:`14:00`,revenue:76e3,orders:24},{label:`16:00`,revenue:104500,orders:32},{label:`18:00`,revenue:149e3,orders:45},{label:`20:00`,revenue:184500,orders:58}]},week:{revenue:1428e3,revChange:`+15.8%`,orders:432,ordersChange:`+42`,avgCheck:3305,avgCheckChange:`+210 ₽`,retention:`70.2%`,retentionChange:`+3.5%`,salesTrend:[{label:`Пн`,revenue:142e3,orders:48},{label:`Вт`,revenue:156e3,orders:52},{label:`Ср`,revenue:168e3,orders:56},{label:`Чт`,revenue:174e3,orders:59},{label:`Пт`,revenue:245e3,orders:84},{label:`Сб`,revenue:29e4,orders:98},{label:`Вс`,revenue:26e4,orders:89}]},month:{revenue:485e4,revChange:`+18.5%`,orders:1490,ordersChange:`+180`,avgCheck:3255,avgCheckChange:`+315 ₽`,retention:`72.4%`,retentionChange:`+4.0%`,salesTrend:[{label:`1-я нед`,revenue:112e4,orders:340},{label:`2-я нед`,revenue:124e4,orders:380},{label:`3-я нед`,revenue:139e4,orders:420},{label:`4-я нед`,revenue:1428e3,orders:432}]},year:{revenue:524e5,revChange:`+34.2%`,orders:16800,ordersChange:`+2400`,avgCheck:3120,avgCheckChange:`+420 ₽`,retention:`75.8%`,retentionChange:`+6.2%`,salesTrend:[{label:`Q1`,revenue:112e5,orders:3600},{label:`Q2`,revenue:128e5,orders:4100},{label:`Q3`,revenue:141e5,orders:4600},{label:`Q4 (прогноз)`,revenue:143e5,orders:4500}]}},$=[{name:`Зал ресторана`,value:48,color:`#2F684C`},{name:`Собственная доставка`,value:26,color:`#B78335`},{name:`Telegram-бот`,value:14,color:`#527286`},{name:`Яндекс Еда / Агрегаторы`,value:12,color:`#B16D50`}],bn=[{name:`Филадельфия Премиум`,revenue:42e4,qty:442,margin:`71.2%`,category:`A`},{name:`Том Ям с морепродуктами`,revenue:31e4,qty:455,margin:`68.5%`,category:`A`},{name:`Калифорния краб`,revenue:265e3,qty:335,margin:`69.0%`,category:`A`},{name:`Рамен Тонкоцу`,revenue:195e3,qty:330,margin:`64.5%`,category:`B`},{name:`Гёдза со свининой`,revenue:16e4,qty:380,margin:`74.0%`,category:`B`},{name:`Эби Темпура`,revenue:84e3,qty:155,margin:`58.0%`,category:`C`}],xn=()=>{let[e,t]=(0,K.useState)(`month`),n=yn[e];return(0,Q.jsxs)(`div`,{className:`space-y-4 animate-fade-in`,children:[(0,Q.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,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`h2`,{className:`text-sm font-bold text-krona-primary`,children:`Сквозная бизнес-аналитика, ABC-матрица & BI`}),(0,Q.jsx)(u,{level:`target`,size:`sm`})]}),(0,Q.jsx)(`p`,{className:`text-xs text-krona-secondary mt-0.5`,children:`Анализ маржинальности, выручки по каналам, структуры чеков, LTV и Food Cost`})]}),(0,Q.jsx)(`div`,{className:`flex items-center gap-1 bg-krona-workspace p-1 rounded-lg border border-krona-border text-xs`,children:[{id:`today`,label:`Сегодня`},{id:`week`,label:`7 дней`},{id:`month`,label:`30 дней`},{id:`year`,label:`Год`}].map(n=>(0,Q.jsx)(`button`,{onClick:()=>t(n.id),className:`px-3 py-1 rounded font-medium transition-colors ${e===n.id?`bg-[#2F684C] text-white shadow-sm`:`text-krona-secondary hover:text-krona-primary`}`,children:n.label},n.id))})]}),(0,Q.jsxs)(`div`,{className:`grid grid-cols-1 sm:grid-cols-4 gap-3.5`,children:[(0,Q.jsx)(c,{title:`Выручка за период`,value:f(n.revenue),change:{value:n.revChange,trend:`up`},subtitle:`Заказов: ${d(n.orders)}`,icon:(0,Q.jsx)(a,{className:`w-4 h-4 text-krona-green`})}),(0,Q.jsx)(c,{title:`Средний чек`,value:f(n.avgCheck),change:{value:n.avgCheckChange,trend:`up`},subtitle:`По всем каналам`,icon:(0,Q.jsx)(o,{className:`w-4 h-4 text-krona-gold`})}),(0,Q.jsx)(c,{title:`Удержание гостей (CRR)`,value:n.retention,change:{value:n.retentionChange,trend:`up`},subtitle:`Повторные покупки`,icon:(0,Q.jsx)(l,{className:`w-4 h-4 text-sky-600`})}),(0,Q.jsx)(c,{title:`Маржинальность меню`,value:`70.6%`,change:{value:`+1.2%`,trend:`up`},subtitle:`Food cost: 29.4%`,icon:(0,Q.jsx)(s,{className:`w-4 h-4 text-krona-green`})})]}),(0,Q.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-3 gap-4`,children:[(0,Q.jsxs)(`div`,{className:`lg:col-span-2 bg-krona-surface border border-krona-border rounded-xl p-4 shadow-krona-soft space-y-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsx)(`h4`,{className:`text-xs font-bold text-krona-primary`,children:`Динамика выручки за выбранный период`}),(0,Q.jsx)(r,{variant:`green`,size:`sm`,children:`План выполнен на 106%`})]}),(0,Q.jsx)(`div`,{className:`h-64 w-full`,children:(0,Q.jsx)(Ee,{width:`100%`,height:`100%`,children:(0,Q.jsxs)(Xe,{data:n.salesTrend,margin:{top:10,right:10,left:-20,bottom:0},children:[(0,Q.jsx)(`defs`,{children:(0,Q.jsxs)(`linearGradient`,{id:`colorRev`,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Q.jsx)(`stop`,{offset:`5%`,stopColor:`#2F684C`,stopOpacity:.4}),(0,Q.jsx)(`stop`,{offset:`95%`,stopColor:`#2F684C`,stopOpacity:0})]})}),(0,Q.jsx)(Te,{strokeDasharray:`3 3`,stroke:`#DDDAD1`,opacity:.5}),(0,Q.jsx)(Ze,{dataKey:`label`,stroke:`#71766F`,fontSize:11}),(0,Q.jsx)(Fe,{stroke:`#71766F`,fontSize:11,tickFormatter:e=>`${e/1e3}k`}),(0,Q.jsx)(ie,{formatter:e=>[f(e),`Выручка`],contentStyle:{backgroundColor:`#FCFAF5`,borderColor:`#DDDAD1`,borderRadius:`8px`,fontSize:`11px`}}),(0,Q.jsx)(Se,{type:`monotone`,dataKey:`revenue`,stroke:`#2F684C`,strokeWidth:2,fillOpacity:1,fill:`url(#colorRev)`})]})})})]}),(0,Q.jsxs)(`div`,{className:`bg-krona-surface border border-krona-border rounded-xl p-4 shadow-krona-soft space-y-3 flex flex-col justify-between`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h4`,{className:`text-xs font-bold text-krona-primary`,children:`Структура выручки по каналам продаж`}),(0,Q.jsx)(`p`,{className:`text-[11px] text-krona-secondary`,children:`Доля в общем обороте заведений`})]}),(0,Q.jsx)(`div`,{className:`h-44 w-full flex items-center justify-center`,children:(0,Q.jsx)(Ee,{width:`100%`,height:`100%`,children:(0,Q.jsxs)(vn,{children:[(0,Q.jsx)($t,{data:$,innerRadius:45,outerRadius:70,paddingAngle:4,dataKey:`value`,children:$.map((e,t)=>(0,Q.jsx)(R,{fill:e.color},`cell-${t}`))}),(0,Q.jsx)(ie,{formatter:e=>[`${e}%`,`Доля`]})]})})}),(0,Q.jsx)(`div`,{className:`space-y-1 text-xs border-t border-krona-border/60 pt-2`,children:$.map(e=>(0,Q.jsxs)(`div`,{className:`flex items-center justify-between text-[11px]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`w-2.5 h-2.5 rounded-full`,style:{backgroundColor:e.color}}),(0,Q.jsx)(`span`,{className:`text-krona-secondary`,children:e.name})]}),(0,Q.jsxs)(`span`,{className:`font-bold font-mono text-krona-primary`,children:[e.value,`%`]})]},e.name))})]})]}),(0,Q.jsxs)(`div`,{className:`bg-krona-surface border border-krona-border rounded-xl shadow-krona-soft overflow-hidden`,children:[(0,Q.jsxs)(`div`,{className:`p-3.5 border-b border-krona-border flex items-center justify-between`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h4`,{className:`text-xs font-bold text-krona-primary`,children:`ABC-анализ меню и блюд`}),(0,Q.jsx)(`p`,{className:`text-[11px] text-krona-secondary`,children:`Классификация позиций по выручке и маржинальности (Группа A формирует 80% выручки)`})]}),(0,Q.jsx)(r,{variant:`gold`,size:`sm`,children:`ABC Matrix v2.1`})]}),(0,Q.jsxs)(`table`,{className:`w-full text-left text-xs border-collapse`,children:[(0,Q.jsx)(`thead`,{className:`bg-krona-workspace/80 text-krona-secondary border-b border-krona-border`,children:(0,Q.jsxs)(`tr`,{children:[(0,Q.jsx)(`th`,{className:`p-3 font-semibold`,children:`Блюдо / Позиция`}),(0,Q.jsx)(`th`,{className:`p-3 font-semibold text-center`,children:`Класс`}),(0,Q.jsx)(`th`,{className:`p-3 font-semibold text-right`,children:`Продано порций`}),(0,Q.jsx)(`th`,{className:`p-3 font-semibold text-right`,children:`Выручка`}),(0,Q.jsx)(`th`,{className:`p-3 font-semibold text-right`,children:`Маржинальность`})]})}),(0,Q.jsx)(`tbody`,{className:`divide-y divide-krona-border/50`,children:bn.map(e=>(0,Q.jsxs)(`tr`,{className:`hover:bg-krona-workspace/40 transition-colors`,children:[(0,Q.jsx)(`td`,{className:`p-3 font-medium text-krona-primary`,children:e.name}),(0,Q.jsx)(`td`,{className:`p-3 text-center`,children:(0,Q.jsxs)(r,{variant:e.category===`A`?`green`:e.category===`B`?`gold`:`neutral`,size:`sm`,children:[`Группа `,e.category]})}),(0,Q.jsxs)(`td`,{className:`p-3 text-right font-mono text-krona-secondary`,children:[e.qty,` шт`]}),(0,Q.jsx)(`td`,{className:`p-3 text-right font-mono font-bold text-krona-primary`,children:f(e.revenue)}),(0,Q.jsx)(`td`,{className:`p-3 text-right font-mono text-emerald-700 font-semibold`,children:e.margin})]},e.name))})]})]})]})};export{xn as AnalyticsModule};