1import{j as e,L as o}from"./vendor-react-Bf7oG_3v.js";import{S as i}from"./index-DwKq6S7O.js";import{m as r}from"./vendor-motion-B8j6PLAz.js";import{h as l,A as n}from"./vendor-icons-DPL3L8uA.js";import"./vendor-react-dom-BwMCnfac.js";import"./vendor-query-DMzlIk0j.js";import"./vendor-ui-BBZxBKVp.js";const c=[{name:"Cost Per Hour Calculator",description:"Work out an accurate cost-per-hour for every workcentre in your shop using Time-Driven Activity-Based Costing (TDABC).",path:"/Resources/cost-per-hour-calculator",icon:l}];function b(){return e.jsxs("div",{className:"flex flex-col",children:[e.jsx(i,{title:"Resources",description:"Free tools and calculators from SmartShopFloor to help you cost jobs and quote with confidence.",path:"/Resources",image:"/images/hero.webp"}),e.jsxs("section",{className:"relative overflow-hidden bg-[#004761] pt-36 pb-20 md:pt-44 md:pb-28",children:[e.jsx("div",{className:"absolute inset-0 bg-center bg-cover opacity-[0.32]",style:{backgroundImage:"url(/images/hex-pattern.webp)",maskImage:"linear-gradient(to right, transparent 0%, transparent 42%, rgba(0,0,0,0.6) 65%, #000 100%)",WebkitMaskImage:"linear-gradient(to right, transparent 0%, transparent 42%, rgba(0,0,0,0.6) 65%, #000 100%)"},"aria-hidden":"true"}),e.jsx("div",{className:"absolute -right-24 -top-10 h-[520px] w-[520px] rounded-full bg-[#FC8F36]/10 blur-3xl","aria-hidden":"true"}),e.jsx("div",{className:"absolute right-1/4 bottom-0 h-72 w-72 rounded-full bg-[#7CB540]/10 blur-3xl","aria-hidden":"true"}),e.jsx("div",{className:"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"max-w-3xl",children:[e.jsx(r.p,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:"inline-flex items-center gap-2 px-4 py-2 rounded-full bg-[#7CB540]/15 border border-[#7CB540]/40 text-sm font-semibold text-[#7CB540] mb-4 backdrop-blur-sm",children:"Free Tools"}),e.jsx(r.h1,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.05},className:"text-4xl md:text-5xl lg:text-6xl font-bold text-white mb-6",children:"Tools & Resources"})]})})]}),e.jsx("section",{className:"py-20 md:py-28 bg-background",children:e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:c.map((t,a)=>{const s=t.icon;return e.jsx(r.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:a*.1},children:e.jsxs(o,{href:t.path,className:"group flex h-full flex-col rounded-2xl border-2 border-[#004761]/15 bg-white p-7 transition-all duration-300 hover:border-[#004761] hover:shadow-[0_18px_50px_-16px_rgba(0,71,97,0.4)]",children:[e.jsx("span",{className:"mb-5 inline-flex h-12 w-12 items-center justify-center rounded-xl bg-[#004761]/5 text-[#004761] transition-colors group-hover:bg-[#FC8F36]/10 group-hover:text-[#FC8F36]",children:e.jsx(s,{className:"h-6 w-6"})}),e.jsx("h3",{className:"text-xl font-medium text-[#004761] mb-2",children:t.name}),e.jsx("p",{className:"text-base font-normal leading-[25px] text-black flex-1",children:t.description}),e.jsxs("span",{className:"mt-5 inline-flex items-center gap-1.5 text-sm font-semibold text-[#004761] group-hover:text-[#FC8F36] transition-colors",children:["Open tool",e.jsx(n,{className:"h-4 w-4 transition-transform group-hover:translate-x-0.5"})]})]})},t.name)})})})})]})}export{b as Resources};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.