1import{j as e,C as P,r as c,c as a,a as D,F as _,S as f,T as A,b as de,d as ce,u as xe,N as me,R as h,B as T,e as z,A as $,L as H,f as w,g as ue,W as pe,h as he,P as be,i as se,k as ge,l as U,m as fe,n as te,G as L,U as I,o as v,p as O,M as re,q}from"./index-D6bHNHoC.js";import{F as j}from"./FeatureMockupShell-B2U0JLrw.js";import{C as ve}from"./calendar-DvPtl176.js";import{B as je}from"./bell-Cx0PN2B6.js";import{R as ye,C as Ne,A as we}from"./ReportPackDetailRevealMockup-CKv8YTT8.js";import{B as ke}from"./BalanceSheetReconciliationMockup-BSvbUtZH.js";import{AnimatedBudgetMockup as Re}from"./AnimatedBudgetMockup-Ba0SlUSx.js";import{A as Se}from"./arrow-left-DhhuM4E2.js";import{T as Ce}from"./trending-down-CUHT0Msd.js";import{ExcelHeroMockup as Ae}from"./ExcelHeroMockup-Dk4H8xXV.js";import{C as Be}from"./SuiteExtensionMockups-D2L_vszl.js";import{D as k}from"./dollar-sign-C0t1NZXF.js";import{T as ae}from"./table-2-Be2eCiIJ.js";import{L as Me}from"./lock-DD6g1Xou.js";import{R as K,B as G,X as W,Y as V,a as Te,b as C,C as Pe}from"./BarChart-Co_S4rsa.js";import{P as ne}from"./plus-u3V1Svwv.js";import{C as Ie}from"./chart-no-axes-column-CYOlB6hZ.js";import{M as Ee}from"./mail-w0rb11FF.js";import"./building-2-VhnjxIi0.js";import"./search-CqODx9fE.js";import"./settings-DRhboRCN.js";import"./layout-dashboard-UbJMVd21.js";import"./grip-vertical-C0FFIofN.js";import"./download-BmbDTRAk.js";import"./eye-B4xKgIFW.js";import"./circle-check-OAqEz57f.js";import"./pen-line-WKP-E-AS.js";import"./upload-BOqkhbFq.js";import"./info-zLJDNKFO.js";import"./database-2tNCe_3I.js";function R({sectionTitle:n,children:s,contentHeight:t=370,ariaLabel:r}){return e.jsxs("div",{className:"select-none pointer-events-none rounded-2xl overflow-hidden border border-border/40 bg-card shadow-xl ring-1 ring-black/[0.03]",...r?{role:"img","aria-label":r}:{},children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-2 bg-card border-b border-border/40",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-6 w-6 rounded-lg gradient-primary flex items-center justify-center",children:e.jsx(P,{className:"h-3 w-3 text-primary-foreground"})}),e.jsx("span",{className:"text-[10px] font-bold text-foreground tracking-tight",children:"SuiteReport"}),e.jsx("span",{className:"text-[9px] text-muted-foreground mx-0.5",children:"/"}),e.jsx("span",{className:"text-[10px] font-medium text-foreground",children:n})]}),e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsxs("div",{className:"hidden sm:flex items-center gap-1 text-[9px] px-2 py-1 rounded-md bg-secondary/40 border border-border/30 text-muted-foreground",children:[e.jsx(ve,{className:"h-2.5 w-2.5"}),e.jsx("span",{children:"FY 2026"})]}),e.jsxs("div",{className:"relative",children:[e.jsx(je,{className:"h-3 w-3 text-muted-foreground"}),e.jsx("div",{className:"absolute -top-0.5 -right-0.5 h-1.5 w-1.5 rounded-full bg-destructive"})]}),e.jsx("div",{className:"h-5 w-5 rounded-full bg-gradient-to-br from-primary/80 to-accent/80 flex items-center justify-center",children:e.jsx("span",{className:"text-[7px] font-bold text-white",children:"JD"})})]})]}),e.jsx("div",{className:"overflow-hidden bg-background/50 p-3",style:{height:t},children:s})]})}const J=["Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Jan 27"];function $e({animate:n}){const s=[{label:"Retail Revenue",values:["â","£2,000","£3,000","£3,200","£2,000","£1,000","£2,000","â","£15,000","£16,611","£24,916","â"],total:"£69,727",indent:1},{label:"Online Revenue",values:["£247,337","£253,325","£257,228","£263,843","£269,307","£271,824","£270,970","£277,273","£284,404","£286,205","£280,102","£296,023"],total:"£3,257,843",indent:1},{label:"Automated Revenue",values:["£55,665","£54,846","£55,952","£56,706","£55,848","£53,679","£54,191","£51,470","£51,365","£51,613","£50,959","£63,660"],total:"£655,955",indent:1},{label:"TOTAL REVENUE",values:["£303,002","£310,171","£316,180","£323,750","£327,155","£326,503","£327,161","£328,743","£350,769","£354,429","£355,977","£359,683"],total:"£3,983,525",isTotal:!0,color:"text-emerald-600"},{label:"Staff Costs - CoS",values:["-£95,156","-£99,955","-£104,960","-£105,884","-£104,343","-£101,288","-£106,680","-£111,035","-£115,600","-£119,125","-£129,721","-£89,328"],total:"-£1,283,075",indent:1,isNeg:!0},{label:"TOTAL COST OF SALES",values:["-£138,748","-£142,616","-£150,861","-£152,952","-£151,322","-£147,177","-£151,648","-£156,467","-£160,708","-£164,165","-£173,663","-£140,415"],total:"-£1,830,742",isTotal:!0,color:"text-destructive"},{label:"GROSS PROFIT",values:["£164,254","£167,555","£165,320","£170,797","£175,833","£179,326","£175,513","£172,977","£190,061","£190,264","£182,314","£219,268"],total:"£2,152,783",isTotal:!0,color:"text-emerald-600"}];return e.jsxs("div",{className:"animate-fade-in",children:[e.jsx("div",{className:"grid grid-cols-4 gap-2 mb-4",children:[{label:"Total Budget",value:"£100,211,389"},{label:"YTD Actual",value:"£20,434,638"},{label:"Variance",value:"£3,606,113 (+15.0%)"},{label:"Utilization",value:"85.0%"}].map((t,r)=>e.jsxs("div",{className:a("rounded-xl border border-border/20 bg-card p-3 transition-all duration-500",n?"opacity-100 translate-y-0":"opacity-0 translate-y-4"),style:{transitionDelay:`${r*100}ms`},children:[e.jsx("span",{className:"text-[10px] text-muted-foreground block",children:t.label}),e.jsx("span",{className:"text-lg font-extrabold text-foreground block mt-0.5",children:t.value})]},t.label))}),e.jsxs("div",{className:"rounded-xl border border-border/20 bg-card p-3 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(D,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsx("span",{className:"text-xs font-bold text-foreground",children:"Budget vs Actual Trend"})]}),e.jsx("div",{className:"flex items-end gap-2 h-14",children:[35,42,38,55,48,62,58,70,65,72,68,75].map((t,r)=>e.jsx("div",{className:"flex-1 flex flex-col items-center gap-0.5",children:e.jsxs("div",{className:"w-full flex gap-0.5",children:[e.jsx("div",{className:"flex-1 rounded-sm bg-primary/30 transition-all duration-700",style:{height:n?`${t*.8}px`:"0px",transitionDelay:`${400+r*40}ms`}}),e.jsx("div",{className:"flex-1 rounded-sm bg-success/30 transition-all duration-700",style:{height:n?`${t*.7}px`:"0px",transitionDelay:`${500+r*40}ms`}})]})},r))}),e.jsx("div",{className:"flex justify-between mt-1",children:J.map(t=>e.jsx("span",{className:"text-[8px] text-muted-foreground",children:t},t))}),e.jsxs("div",{className:"flex items-center gap-4 mt-2",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("div",{className:"h-2 w-2 rounded-sm bg-primary/30"}),e.jsx("span",{className:"text-[9px] text-muted-foreground",children:"Budget"})]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("div",{className:"h-2 w-2 rounded-sm bg-success/30"}),e.jsx("span",{className:"text-[9px] text-muted-foreground",children:"Actual"})]})]})]}),e.jsxs("div",{className:"rounded-xl border border-border/20 bg-card overflow-hidden",children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border/20 bg-secondary/10",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(_,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsx("span",{className:"text-xs font-bold text-foreground",children:"Budget Report â P&L Format â FY 2026"})]}),e.jsx("span",{className:"text-xs text-primary font-medium",children:"ð Linked to P&L Report"})]}),e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-[10px]",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-secondary/30 border-b border-border/20",children:[e.jsx("th",{className:"text-left px-3 py-1.5 font-semibold text-muted-foreground w-[180px] sticky left-0 bg-secondary/30",children:"Financial Item"}),J.map(t=>e.jsx("th",{className:"text-right px-2 py-1.5 font-medium text-muted-foreground whitespace-nowrap",children:t},t)),e.jsx("th",{className:"text-right px-3 py-1.5 font-semibold text-muted-foreground",children:"Total"})]})}),e.jsx("tbody",{children:s.map((t,r)=>e.jsxs("tr",{className:a("border-b border-border/10 transition-all duration-500",t.isTotal&&"bg-secondary/10",n?"opacity-100":"opacity-0"),style:{transitionDelay:`${200+r*50}ms`},children:[e.jsxs("td",{className:a("px-3 py-1.5 sticky left-0 bg-card",t.isTotal?"font-bold":"font-medium",t.color||"text-foreground",t.isTotal&&"bg-secondary/10"),style:{paddingLeft:`${(t.indent||0)*12+12}px`},children:[!t.isTotal&&e.jsx(D,{className:"h-2.5 w-2.5 text-muted-foreground
1/40 inline mr-1"}),t.label]}),t.values.map((o,i)=>e.jsx("td",{className:a("text-right px-2 py-1.5 tabular-nums whitespace-nowrap",t.isNeg?"text-destructive":t.color||"text-foreground",t.isTotal&&"font-bold"),children:o},i)),e.jsx("td",{className:a("text-right px-3 py-1.5 tabular-nums font-bold whitespace-nowrap",t.isNeg?"text-destructive":t.color||"text-foreground"),children:t.total})]},t.label))})]})})]})]})}function De({animate:n}){return e.jsxs("div",{className:"animate-fade-in",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(f,{className:"h-4 w-4 text-primary"}),e.jsx("span",{className:"text-sm font-bold text-foreground",children:"AI Budget Analysis"}),e.jsx("span",{className:"text-[9px] px-2 py-0.5 rounded-full bg-primary/10 text-primary font-semibold",children:"Finance Copilot"})]}),e.jsx("div",{className:"grid grid-cols-2 gap-4 mb-5",children:[{icon:A,title:"Revenue Performance",text:"Total revenue of £3.98M is tracking 15% above budget YTD. Online revenue continues as primary driver at £3.26M. Retail underperforming with seasonal weakness in Q3.",color:"text-emerald-500",border:"border-l-emerald-500"},{icon:Ce,title:"Cost Analysis",text:"Total Cost of Sales at £1.83M â 2.3% over plan. Staff costs represent 70% of CoS. E-commerce costs showing downward trend, now at £164K vs £180K budget.",color:"text-rose-500",border:"border-l-rose-500"},{icon:de,title:"Utilization Insight",text:"Budget utilization at 85% with 2 months remaining. Overhead allocation per subsidiary showing variance, with Friday Media Group at 92% utilization.",color:"text-primary",border:"border-l-primary"},{icon:ce,title:"Risk Flag",text:"Overhead costs trending £38.5M annually vs £36M budget. Staff overhead is primary driver. Recommend mid-year headcount review and contractor spend analysis.",color:"text-amber-500",border:"border-l-amber-500"}].map((s,t)=>e.jsxs("div",{className:a("rounded-xl border border-border/20 bg-card p-4 border-l-[3px] transition-all duration-500",s.border,n?"opacity-100 translate-y-0":"opacity-0 translate-y-4"),style:{transitionDelay:`${t*120}ms`},children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(s.icon,{className:a("h-4 w-4",s.color)}),e.jsx("span",{className:"text-xs font-bold text-foreground",children:s.title})]}),e.jsx("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:s.text})]},s.title))}),e.jsxs("div",{className:"rounded-xl border border-primary/20 bg-primary/5 p-5",children:[e.jsx("span",{className:"text-xs font-bold text-foreground block mb-3",children:"Key Budget Metrics"}),e.jsx("div",{className:"grid grid-cols-3 gap-4",children:[{label:"Gross Margin",value:"54.1%",bar:54,target:"55%"},{label:"OpEx Ratio",value:"96.8%",bar:97,target:"90%",isOver:!0},{label:"Budget Accuracy",value:"85.0%",bar:85,target:"90%"}].map((s,t)=>e.jsxs("div",{className:a("transition-all duration-500",n?"opacity-100":"opacity-0"),style:{transitionDelay:`${500+t*100}ms`},children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("span",{className:"text-[10px] text-muted-foreground",children:s.label}),e.jsx("span",{className:"text-xs font-bold text-foreground",children:s.value})]}),e.jsx("div",{className:"h-2.5 rounded-full bg-muted/30 overflow-hidden",children:e.jsx("div",{className:a("h-full rounded-full transition-all duration-700",s.isOver?"bg-destructive/40":"bg-primary/40"),style:{width:n?`${s.bar}%`:"0%",transitionDelay:`${700+t*100}ms`}})}),e.jsxs("span",{className:"text-[8px] text-muted-foreground",children:["Target: ",s.target]})]},s.label))})]})]})}const Fe=["Report","Budget Input","Versions","AI Analysis"];function _e({onClose:n}){const[s,t]=c.useState(0),[r,o]=c.useState(!0);return c.useEffect(()=>{const i=[setTimeout(()=>{t(3),o(!0)},4e3)];return()=>i.forEach(clearTimeout)},[]),c.useEffect(()=>{const i=setTimeout(()=>n(),9500);return()=>clearTimeout(i)},[n]),e.jsxs("div",{className:"animate-fade-in rounded-2xl border border-border/50 bg-card shadow-xl p-6 lg:p-8",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-display text-xl lg:text-2xl font-bold text-foreground",children:"Budget Management â Standard Budget"}),e.jsx("p",{className:"text-sm text-muted-foreground mt-0.5",children:"Friday Media Group · FY 2026 · P&L Format · Generated by SuiteReport"})]}),e.jsxs("button",{onClick:n,className:"pointer-events-auto text-sm px-4 py-2 rounded-xl border-2 border-primary/30 bg-primary/5 text-primary hover:bg-primary/10 font-semibold transition-colors flex items-center gap-1.5 shadow-sm shrink-0",children:[e.jsx(Se,{className:"h-3.5 w-3.5"})," Back to Editor"]})]}),e.jsx("div",{className:"flex gap-1 mb-6 overflow-x-auto pb-1 border-b border-border/30",children:Fe.map((i,l)=>e.jsx("span",{className:a("text-xs px-3 py-2 font-medium whitespace-nowrap transition-all duration-300 border-b-2 -mb-[1px]",l===s?"border-primary text-foreground font-semibold":"border-transparent text-muted-foreground"),children:i},i))}),e.jsxs("div",{className:"min-h-[300px]",children:[s===0&&e.jsx($e,{animate:r}),s===3&&e.jsx(De,{animate:r})]}),e.jsxs("div",{className:"flex items-center gap-2 mt-6 flex-wrap",children:[e.jsx("span",{className:"text-[9px] text-muted-foreground font-semibold uppercase tracking-wider",children:"Applied:"}),["Friday Media Group","FY 2026","Standard Budget","P&L Format","GBP"].map(i=>e.jsx("span",{className:"text-[9px] px-2 py-0.5 rounded-full bg-primary/8 border border-primary/15 text-foreground font-medium",children:i},i))]})]})}const F=[{id:"budgets",icon:pe,title:"Budget Management",subtitle:"Build, approve, and track budgets across your entire organization.",description:"Create P&L, Balance Sheet, and Cash Flow budgets that stay connected to your live NetSuite data. Compare actuals vs. budget in real time, manage multiple budget versions, and streamline approvals â all without a single spreadsheet.",capabilities:["P&L, Balance Sheet, and Cash Flow budget templates","Real-time actuals vs. budget variance tracking","Multi-version support (draft, submitted, approved)","Approval workflows with role-based permissions","Automatic consolidation across entities","AI Budget Copilot for natural language budget analysis"],shellKey:"budgets"}
1,{id:"reporting",icon:_,title:"NetSuite Reporting",subtitle:"Your NetSuite data, transformed into boardroom-ready reports.",description:"Access pre-built financial reports â P&L, Balance Sheet, Cash Flow, MoM, YoY, and Financial Ratios â with AI-powered variance commentary. Need something custom? Build it with our drag-and-drop report builder featuring formulas, calculations, and flexible column configuration.",capabilities:["Pre-built P&L, Balance Sheet, Cash Flow, MoM, YoY, and Financial Ratios reports","AI-powered variance commentary and anomaly detection","Table, graph, and AI analysis view modes with drill-down","Drag-and-drop custom report builder with formulas and calculations","Multi-entity consolidation with subsidiary and dimension filters","Scheduled report delivery with configurable frequency and recipients","AI-generated board narratives with executive summaries"],shellKey:"reporting",detailLink:"/netsuite-reporting"},{id:"balance-sheet-reconciliation",icon:he,title:"Balance Sheet Reconciliation",subtitle:"Close the books with confidence â every account tied to its source.",description:"Automate the matching of general ledger balances against supporting schedules, bank statements, subledgers, and external sources. Flag discrepancies, assign reviewers, track adjustments, and maintain a complete audit trail from trial balance through final sign-off.",capabilities:["Auto-match GL balances to bank, AR, AP, and fixed-asset subledgers","Variance detection with configurable materiality thresholds","Reviewer assignments and sign-off workflow by account","Reconciliation status dashboard: reconciled, in-review, and exception","Drill-down from unmatched items to underlying transactions","Adjustment journal suggestions with full audit trail","Period-end close checklist with completion tracking"],shellKey:"balance-sheet-reconciliation",detailLink:"/balance-sheet-reconciliation"},{id:"suite-extension",icon:be,title:"Suite Extension",subtitle:"Bring the rest of your finance stack into SuiteReport.",description:"Connect billing, CRM, payroll, HR, private APIs, and files alongside your live NetSuite reporting. Match entities, define governed metrics, and inspect external records without changing the core ledger.",capabilities:["Connect Stripe, HubSpot, HiBob, REST APIs, and file uploads","Confidence-scored customer, vendor, and employee matching","No-code custom metrics with record-level drill-down","External insight panels inside live financial reports","Draft, QA, approval, publish, and version history controls","Tenant-isolated and read-only against NetSuite"],shellKey:"suite-extension",detailLink:"/suite-extension"},{id:"report-builder-copilot",icon:f,title:"Report Builder Copilot",subtitle:"Build Financial Reports in Minutes â Just Describe What You Need",description:"Describe your report in plain English and the AI Copilot assembles columns, rows, filters, and views through a guided 7-step wizard â with your approval at every step.",capabilities:["Natural language configuration â the AI extracts report structure automatically","Smart defaults with full control â review every suggestion before it's applied","7-step guided assembly from Details through to Review","Quote and refine â adjust any AI action without starting over"],shellKey:"report-builder-copilot"},{id:"forecasts",icon:se,title:"Rolling Forecasts",subtitle:"Replace static annual budgets with continuously updated projections.",description:"Rolling forecasts auto-populate with actuals as periods close, so your projections are always grounded in reality. AI-assisted trend extrapolation helps your team focus on analysis instead of data entry.",capabilities:["Continuous forecast updates as actuals flow in","Configurable forecast horizons (12, 18, or 24 months)","AI-assisted trend extrapolation and seasonality detection","Variance analysis with drill-down to driver level","One-click re-forecast from any period forward"],shellKey:"forecasts"},{id:"cashflow",icon:ge,title:"Cash Flow Forecasting",subtitle:"See where your cash is today â and where it's headed.",description:"Whether you prefer direct or indirect method, SuiteReport delivers full cash visibility. Connect bank accounts and NetSuite AR/AP data for 13-week and long-range cash projections your treasury team can trust.",capabilities:["Direct and indirect method cash flow forecasting","Bank account integration for real-time balances","13-week rolling cash forecast with daily granularity","Long-range cash runway projections","Cash covenant monitoring and alert thresholds"],shellKey:"cashflow"}
1,{id:"scenarios",icon:U,title:"Scenario Planning",subtitle:"Model the future before you commit.",description:"Build and compare unlimited scenarios side by side. From best-case growth plans to worst-case stress tests, understand the financial impact of every decision before you make it.",capabilities:["Unlimited scenario creation with flexible assumptions","Side-by-side scenario comparison dashboards","Best, worst, and custom case modeling","Impact analysis across all three financial statements","Scenario-specific commentary and annotations"],shellKey:"scenarios"},{id:"drivers",icon:fe,title:"Driver-Based Planning",subtitle:"Change one assumption. See the ripple effect everywhere.",description:"Link revenue, headcount, and cost drivers directly to your financial model. When assumptions change, every connected line item updates automatically â across P&L, Balance Sheet, and Cash Flow.",capabilities:["Revenue drivers: pricing, volume, mix, churn","Cost drivers: headcount, inflation, utilization rates","Automatic cascade across all financial statements","Sensitivity analysis on any driver","Driver audit trail showing who changed what and when"],shellKey:"drivers"},{id:"workforce",icon:te,title:"Workforce Planning",subtitle:"Know the full cost of every hire before it happens.",description:"Model headcount, compensation, benefits, and taxes at the individual and department level. See the loaded cost impact on your P&L instantly and plan hiring timelines with confidence.",capabilities:["Headcount modeling by department, role, and location","Compensation planning with merit and promotion cycles","Benefits and tax cost modeling (by jurisdiction)","Hiring timeline planning with start-date sensitivity","Full loaded cost visibility per employee"],shellKey:"workforce"},{id:"consolidation",icon:L,title:"Multi-Entity Consolidation",subtitle:"Unified reporting across subsidiaries and brands.",description:"Consolidate financials from every subsidiary, brand, and business unit into a single view. Intercompany eliminations, minority interests, and roll-ups happen automatically â no manual adjustments required.",capabilities:["Automatic consolidation across unlimited subsidiaries","Intercompany elimination entries handled automatically","Subsidiary-level and consolidated P&L, Balance Sheet, and Cash Flow","Drill-down from consolidated totals to entity-level detail","Elimination journal tracking with full audit trail","Real-time consolidated dashboards for leadership"],shellKey:"consolidation"},{id:"multi-currency",icon:k,title:"Multi-Currency Support",subtitle:"Global operations, one reporting currency.",description:"Automatically convert transactions and balances across currencies using live or locked exchange rates. Report in any currency while maintaining source-currency detail for every line item.",capabilities:["Automatic exchange rate conversion for all transactions","Support for live market rates or locked period rates","Multi-currency P&L and Balance Sheet reporting","Realized and unrealized FX gain/loss tracking","Currency revaluation at period close","Source-currency drill-down on any converted amount"],shellKey:"multi-currency"},{id:"customer-revenue",icon:I,title:"Customer Revenue Planning",subtitle:"Revenue modeling at the customer level.",description:"Plan and forecast revenue by customer, cohort, or segment. Track MRR, churn, expansion, and contraction to build bottoms-up revenue plans your board will trust.",capabilities:["Customer-level revenue modeling and forecasting","Cohort analysis with retention and churn tracking","MRR, ARR, and net revenue retention metrics","Expansion and contraction revenue breakdowns","Bottoms-up revenue plans by segment or territory","Customer lifetime value (CLV) projections"],shellKey:"customer-revenue"},{id:"ai-insights",icon:v,title:"AI-Powered Insights",subtitle:"Your data speaks â in plain English.",description:"Ask questions in natural language and get instant answers from your financial data. Automated variance commentary, anomaly detection, and executive narratives save hours of manual analysis every month.",capabilities:['Natural language queries â "Why did COGS increase in Q3?"',"Automated variance commentary on every report","Anomaly detection with smart alerting","AI-generated executive board narratives","Driver impact analysis across all financial statements","Budget Copilot for real-time budget Q&A"],shellKey:"ai-insights"}
1,{id:"scheduled-delivery",icon:O,title:"Scheduled Report Delivery",subtitle:"The right report, to the right person, on time.",description:"Automate the delivery of financial reports to stakeholders on daily, weekly, or monthly cadences. Include AI-generated narratives, CSV exports, and customized commentary â all without lifting a finger.",capabilities:["Configurable delivery cadences (daily, weekly, monthly)","Email delivery with PDF and CSV attachments","AI-narrated summaries included automatically","Recipient management with role-based distribution lists","Delivery history and read-receipt tracking","On-demand delivery with one-click send"],shellKey:"scheduled-delivery"},{id:"disclosures",icon:Ne,title:"P&L Disclosures",subtitle:"Statutory-grade notes, embedded in your P&L.",description:'Generate "Notes to the Financial Statements" directly from your Profit & Loss report. Auto-populated comparative data tables combine with markdown commentary editors to produce board-ready disclosure notes â no Word documents or manual formatting required.',capabilities:["12 structured disclosure sections (Revenue Analysis, Staff Costs, Taxation, etc.)","Auto-generated comparative data: Actual vs Budget vs Prior Year with variance highlighting","Markdown commentary editor with live preview and auto-save","Configurable detail levels and row selection per section","Materiality flagging for variances exceeding configurable thresholds","One-click demo commentary for instant board-ready examples"],shellKey:"disclosures"},{id:"report-packs",icon:U,title:"Report Packs",subtitle:"Build board-ready financial reports in minutes, not hours.",description:"Combine multiple financial statements into a single, polished report pack â complete with branded cover pages, AI-generated executive summaries, and interactive data tabs.",capabilities:["Mixed Report Types â Combine P&L, Balance Sheet, and Cash Flow in one unified pack","Custom Cover Pages â Add your logo, custom titles, and subtitles for branded presentation","AI Executive Summary â Board-ready narrative highlighting variances, trends, and risks","Drag-and-Drop Ordering â Arrange sheets in the exact order you need","Per-Sheet Column Presets â Apply different column layouts to each tab","One-Click Export â Download the entire pack as a multi-sheet Excel workbook"],shellKey:"report-packs"},{id:"excel-addin",icon:ae,title:"Excel Add-in (Suite.AI)",subtitle:"Microsoft Certified. NetSuite reporting right inside Excel.",description:"Suite.AI is a Microsoft Certified Excel add-in that connects directly to your NetSuite instance via ODBC. Pull live financial data, run AI analysis, upload budgets, and use custom data functions â all without leaving Excel. Works on Windows, Mac, and Excel Online.",capabilities:["Live NetSuite data in Excel via secure ODBC connection","Custom formulas like =SUITEGEN() for cell-level NetSuite queries","AI-powered analysis and variance commentary","Budget upload from Excel directly into NetSuite","Report pack import from SuiteReport web platform","Cross-platform: Windows, macOS, and Excel Online"],shellKey:"excel-addin"}];function Le(n){const[s,t]=c.useState(n[0]);return c.useEffect(()=>{const r=[],o=new Map;return n.forEach(i=>{const l=document.getElementById(i);if(!l)return;const m=new IntersectionObserver(([b])=>{o.set(i,b.isIntersecting);for(const S of n)if(o.get(S)){t(S);break}},{rootMargin:"-20% 0px -60% 0px"});m.observe(l),r.push(m)}),()=>r.forEach(i=>i.disconnect())},[n]),s}function Oe(){const n=[{label:"Revenue",budget:"4,200,000",actual:"4,098,000",variance:"-102,000",pct:"-2.4%",isNeg:!0,bold:!1},{label:"COGS",budget:"1,800,000",actual:"1,699,200",variance:"-100,800",pct:"-5.6%",isNeg:!1,bold:!1},{label:"Gross Profit",budget:"2,400,000",actual:"2,398,800",variance:"-1,200",pct:"0.0%",isNeg:!1,bold:!0},{label:"OpEx",budget:"1,600,000",actual:"1,499,200",variance:"-100,800",pct:"-6.3%",isNeg:!1,bold:!1},{label:"EBITDA",budget:"920,000",actual:"1,012,600",variance:"+92,600",pct:"+10.1%",isNeg:!1,bold:!0},{label:"Net Income",budget:"800,000",actual:"899,600",variance:"+99,600",pct:"+12.5%",isNeg:!1,bold:!0}];return e.jsx(j,{activeKey:"budgets",contentHeight:370,ariaLabel:"SuiteReport budget planning interface with NetSuite-connected budget vs actual tracking",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"FY2026 Operating Budget"}),e.jsx("span",{className:"text-[8px] px-1.5 py-0.5 rounded-full bg-success/10 text-success font-semibold",children:"Approved"}),e.jsx("span",{className:"text-[8px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary font-semibold",children:"v3"}),e.jsxs("span",{className:"text-[8px] px-1.5 py-0.5 rounded-full bg-accent/10 text-accent font-semibold flex items-center gap-0.5",children:[e.jsx(v,{className:"h-2 w-2"})," Copilot"]})]}),e.jsx("div",{className:"flex items-center gap-1",children:["Draft","Submitted","Approved"].map((s,t)=>e.jsx("span",{className:a("text-[7px] px-1.5 py-0.5 rounded-full font-medium",t===2?"bg-success/15 text-success":"bg-secondary/60 text-muted-foreground"),children:s},s))})]}),e.jsx("div",{className:"flex gap-0.5 mb-2",children:["Report","Budget Input","Versions"].map((s,t)=>e.jsx("span",{className:a("text-[8px] px-2.5 py-1 rounded-md font-medium",t===0?"bg-primary/10 text-primary":"text-muted-foreground bg-secondary/30"),children:s},s))}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5 mb-2",children:[{label:"Total Revenue",value:"$4.10M",change:"-2.4%",neg:!0},{label:"Total Expenses",value:"$3.20M",change:"-5.9%",neg:!1},{label:"Net Income",value:"$900K",change:"+12.5%",neg:!1},{label:"Variance %",value:"3.2%",change:"On track",neg:!1}].map(s=>e.jsxs("div",{className:"rounded-lg bg-secondary/30 border border-border/30 p-1.5",children:[e.jsx("span",{className:"text-[7px] text-muted-foreground block",children:s.label}),e.jsx("span",{className:"text-[11px] font-bold text-foreground block mt-0.5",children:s.value}),e.jsx("span",{className:a("text-[7px] font-medium",s.neg?"text-destructive":"text-success"),children:s.change})]},s.label))}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 overflow-hidden",children:[e.jsxs("div",{className:"grid grid-cols-[1fr_70px_70px_70px_50px] bg-secondary/40 text-[7px] font-semibold text-muted-foreground px-2 py-1 border-b border-border/30",children:[e.jsx("span",{children:"Account"}),e.jsx("span",{className:"text-right",children:"Budget"}),e.jsx("span",{className:"text-right",children:"Actual"}),e.jsx("span",{className:"text-right",children:"Variance"}),e.jsx("span",{className:"text-right",children:"%"})]}),n.map(s=>e.jsxs("div",{className:a("grid grid-cols-[1fr_70px_70px_70px_50px] text-[8px] px-2 py-1 border-b border-border/20 last:border-0",s.bold&&"bg-secondary/20"),children:[e.jsx("span",{className:a("text-foreground",s.bold?"font-bold":"font-medium"),children:s.label}),e.jsx("span",{className:"text-right text-muted-foreground tabular-nums",children:s.budget}),e.jsx("span",{className:"text-right text-foreground tabular-nums font-medium",children:s.actual}),e.jsx("span",{className:a("text-right tabular-nums font-medium",s.isNeg?"text-destructive":"text-success"),children:s.variance}),e.jsx("span",{className:a("text-right tabular-nums font-semibold",s.isNeg?"text-destructive":"text-success"),children:s.pct})]},s.label))]})]})})}function Ke(){const n=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],s=[320,345,330,380,410,395,420,445,460,480,470,510],t=9;return e.jsx(R,{sectionTitle:"Rolling Forecasts",contentHeight:460,ariaLabel:"SuiteReport rolling forecast dashboard with monthly projections and trend anal
1ysis",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Rolling Forecast â 12 Months"}),e.jsxs("div",{className:"flex items-center gap-1 text-[7px] px-1.5 py-0.5 rounded-full bg-accent/10 text-accent font-medium",children:[e.jsx(v,{className:"h-2.5 w-2.5"}),"AI Trend Active"]})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(Me,{className:"h-2.5 w-2.5 text-muted-foreground"}),e.jsx("span",{className:"text-[7px] text-muted-foreground",children:"Locked through Sep"})]})]}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5 mb-2",children:[{label:"Forecast Accuracy",value:"94.2%",change:"+1.8%",pos:!0},{label:"Next Re-forecast",value:"Oct 15",change:"6 days",pos:!0},{label:"Horizon",value:"12 mo",change:"Rolling",pos:!0},{label:"YTD Variance",value:"-1.2%",change:"On track",pos:!1}].map(r=>e.jsxs("div",{className:"rounded-lg bg-secondary/30 border border-border/30 p-1.5",children:[e.jsx("span",{className:"text-[7px] text-muted-foreground block",children:r.label}),e.jsx("span",{className:"text-[11px] font-bold text-foreground block mt-0.5",children:r.value}),e.jsx("span",{className:a("text-[7px] font-medium",r.pos?"text-success":"text-chart-4"),children:r.change})]},r.label))}),e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("div",{className:"flex gap-0.5",children:["P&L","Balance Sheet","Cash Flow"].map((r,o)=>e.jsx("span",{className:a("text-[8px] px-2.5 py-1 rounded-md font-medium",o===0?"bg-primary/10 text-primary":"text-muted-foreground bg-secondary/30"),children:r},r))}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"h-2 w-2 rounded-sm bg-primary/60"}),e.jsx("span",{className:"text-[7px] text-muted-foreground",children:"Actuals"})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"h-2 w-2 rounded-sm bg-primary/20 border border-dashed border-primary/40"}),e.jsx("span",{className:"text-[7px] text-muted-foreground",children:"Forecast"})]})]})]}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 overflow-hidden",children:[e.jsxs("div",{className:"flex bg-secondary/40 border-b border-border/30 px-1.5",children:[e.jsx("div",{className:"w-20 text-[7px] font-semibold text-muted-foreground py-1 flex-shrink-0",children:"Account"}),e.jsx("div",{className:"flex-1 flex",children:n.map((r,o)=>e.jsx("div",{className:a("flex-1 text-[7px] font-medium text-center py-1",o<t?"text-foreground":"text-muted-foreground"),children:r},`${r}-${o}`))})]}),[{label:"Revenue",multiplier:1},{label:"COGS",multiplier:.43},{label:"Gross Profit",multiplier:.57,bold:!0},{label:"OpEx",multiplier:.38},{label:"Net Income",multiplier:.19,bold:!0}].map(r=>e.jsxs("div",{className:a("flex border-b border-border/20 last:border-0 px-1.5",r.bold&&"bg-secondary/20"),children:[e.jsx("div",{className:a("w-20 text-[7px] py-1.5 flex-shrink-0 truncate",r.bold?"font-bold text-foreground":"text-muted-foreground font-medium"),children:r.label}),e.jsx("div",{className:"flex-1 flex",children:s.map((o,i)=>{const l=Math.round(o*r.multiplier),m=i<t;return e.jsx("div",{className:a("flex-1 text-[7px] text-center py-1.5 tabular-nums",m?"text-foreground font-medium bg-primary/[0.03]":"text-muted-foreground italic"),children:l},i)})})]},r.label)),e.jsxs("div",{className:"flex px-1.5 bg-primary/5",children:[e.jsx("div",{className:"w-20 text-[7px] py-1.5 flex-shrink-0 font-semibold text-primary",children:"Variance"}),e.jsx("div",{className:"flex-1 flex",children:s.map((r,o)=>{if(o>=t)return e.jsx("div",{className:"flex-1 text-[7px] text-center py-1.5 text-muted-foreground",children:"â"},o);const i=["+2.1","-0.8","+1.5","+3.2","-1.1","+0.6","+2.4","-0.3","+1.8"][o]||"â";return e.jsxs("div",{className:a("flex-1 text-[7px] text-center py-1.5 font-medium tabular-nums",i.startsWith("+")?"text-success":i.startsWith("-")?"text-destructive":"text-muted-foreground"),children:[i,"%"]},o)})})]})]})]})})}function Ge(){const n=[{week:"W1",value:2400,color:"hsl(var(--success))"},{week:"W2",value:2350,color:"hsl(var(--success))"},{week:"W3",value:2200,color:"hsl(var(--success))"},{week:"W4",value:2100,color:"hsl(var(--success))"},{week:"W5",value:1950,color:"hsl(var(--chart-4))"},{week:"W6",value:1800,color:"hsl(var(--chart-4))"},{week:"W7",value:1750,color:"hsl(var(--chart-4))"},{week:"W8",value:1900,color:"hsl(var(--success))"},{week:"W9",value:2050,color:"hsl(var(--success))"},{week:"W10",value:2200,color:"hsl(var(--success))"},{week:"W11",value:2100,color:"hsl(var(--success))"},{week:"W12",value:1950,color:"hsl(var(--chart-4))"},{week:"W13",value:1850,color:"hsl(var(--chart-4))"}];return e.jsx(j,{activeKey:"cashflow",contentHeight:380,ariaLabel:"SuiteReport cash flow forecasting interface with weekly liquidity projections",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"13-Week Cash Forec
1ast"}),e.jsx("div",{className:"flex gap-0.5",children:["Weekly","Monthly","Daily"].map((s,t)=>e.jsx("span",{className:a("text-[7px] px-2 py-0.5 rounded-md font-medium",t===0?"bg-primary/10 text-primary":"text-muted-foreground bg-secondary/30"),children:s},s))})]}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5 mb-2",children:[{label:"Opening Cash",value:"$2.4M",icon:k,accent:"bg-success/10 text-success"},{label:"Ending Cash",value:"$1.85M",icon:A,accent:"bg-primary/10 text-primary"},{label:"Minimum Cash",value:"$1.75M",icon:P,accent:"bg-chart-4/10 text-chart-4"},{label:"Cash Runway",value:"14 mo",icon:f,accent:"bg-accent/10 text-accent"}].map(s=>e.jsxs("div",{className:"rounded-lg bg-secondary/30 border border-border/30 p-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1 mb-0.5",children:[e.jsx(s.icon,{className:a("h-2.5 w-2.5",s.accent.split(" ")[1])}),e.jsx("span",{className:"text-[7px] text-muted-foreground",children:s.label})]}),e.jsx("span",{className:"text-[11px] font-bold text-foreground",children:s.value})]},s.label))}),e.jsx("div",{className:"flex-1 rounded-lg border border-border/30 bg-secondary/10 p-1.5 mb-2",children:e.jsx(K,{width:"100%",height:"100%",children:e.jsxs(G,{data:n,margin:{top:5,right:2,left:-15,bottom:0},children:[e.jsx(W,{dataKey:"week",tick:{fontSize:7},tickLine:!1,axisLine:!1}),e.jsx(V,{tick:{fontSize:7},tickLine:!1,axisLine:!1,tickFormatter:s=>`${(s/1e3).toFixed(1)}K`}),e.jsx(Te,{y:2e3,stroke:"hsl(var(--destructive))",strokeDasharray:"3 3",strokeWidth:.8}),e.jsx(C,{dataKey:"value",radius:[2,2,0,0],maxBarSize:16,children:n.map((s,t)=>e.jsx(Pe,{fill:s.color},t))})]})})}),e.jsxs("div",{className:"grid grid-cols-2 gap-1.5",children:[e.jsxs("div",{className:"rounded-lg border border-border/30 p-1.5",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1",children:"Cash Flow Breakdown"}),[{label:"Receipts",value:"+$1.8M",color:"text-success"},{label:"Disbursements",value:"-$2.1M",color:"text-destructive"},{label:"Net Cash Flow",value:"-$320K",color:"text-destructive",bold:!0}].map(s=>e.jsxs("div",{className:"flex items-center justify-between text-[7px] py-0.5",children:[e.jsx("span",{className:a(s.bold?"font-bold text-foreground":"text-muted-foreground"),children:s.label}),e.jsx("span",{className:a("tabular-nums font-medium",s.color),children:s.value})]},s.label))]}),e.jsxs("div",{className:"rounded-lg border border-border/30 p-1.5",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1",children:"Bank Accounts"}),[{name:"Operating",balance:"$1.6M"},{name:"Savings",balance:"$650K"},{name:"Payroll",balance:"$150K"}].map(s=>e.jsxs("div",{className:"flex items-center justify-between text-[7px] py-0.5",children:[e.jsx("span",{className:"text-muted-foreground",children:s.name}),e.jsx("span",{className:"text-foreground font-medium tabular-nums",children:s.balance})]},s.name))]})]})]})})}function We(){const n=[{name:"Revenue",base:4200,growth:5800,downside:3100},{name:"Expenses",base:3400,growth:4200,downside:2700},{name:"EBITDA",base:920,growth:1600,downside:400}];return e.jsx(j,{activeKey:"scenarios",contentHeight:370,ariaLabel:"SuiteReport scenario comparison tool with revenue and expense modelling across multiple cases",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Scenario Planning"}),e.jsx("span",{className:"text-[7px] px-2 py-0.5 rounded-md bg-primary/10 text-primary font-semibold",children:"Compare Scenarios"})]}),e.jsxs("div",{className:"flex gap-2 flex-1 min-h-0",children:[e.jsxs("div",{className:"w-[110px] flex-shrink-0 rounded-lg border border-border/30 p-1.5 flex flex-col gap-1",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground mb-0.5",children:"Scenarios"}),[{name:"Base Case",status:"Active",color:"bg-primary"},{name:"Growth Plan",status:"Active",color:"bg-success"},{name:"Downside",status:"Draft",color:"bg-destructive"},{name:"M&A Target",status:"Draft",color:"bg-chart-4"}].map((s,t)=>e.jsxs("div",{className:a("rounded-md p-1.5 text-[7px]",t===0?"bg-primary/10 border border-primary/20":"bg-secondary/30"),children:[e.jsxs("div",{className:"flex items-center gap-1 mb-0.5",children:[e.jsx("div",{className:a("h-1.5 w-1.5 rounded-full",s.color)}),e.jsx("span",{className:"font-medium text-foreground truncate",children:s.name})]}),e.jsx("span",{className:a("text-[6px] px-1 py-0.5 rounded-full",s.status==="Active"?"bg-success/15 text-success":"bg-secondary/60 text-muted-foreground"),children:s.status})]},s.name))]}),e.jsxs("div",{className:"flex-1 flex flex-col gap-1.5 min-w-0",children:[e.jsx("div",{className:"grid grid-cols-3 gap-1",children:[{label:"Projected Revenue",value:"$4.2M",change:"Base"},{label:"Projected Expenses",value:"$3.4M",change:"-2.1%"},{label:"Net Impact",value:"+$920K",change:"EBITDA"}].map(s=>e.jsxs("div",{className:"rounded-lg bg-secondary/30 border border-border/30 p-1.5",children:[e.jsx("span",{className:"text-[6px] text-muted-foreground block",children:s.label}),e.jsx("span",{className:"text-[10px] font-bold text-foreground block",children:s.value}),e.jsx("span",{className:"text-[6px] text-muted-foreground",children:s.change})]},s.label))}),e.jsxs("div",{className:"rounded-lg border border-border/30 p-1.5",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1",children:"Key Assumptions"}),[{name:"Revenue Growth",value:"+8.5%"},{name:"Headcount Change",value:"-3.2%"},{name:"COGS Ratio",value:"42.0%"},{name:"OpEx Growth",value:"+2.0%"}].map(s=>e.jsxs("div",{className:"flex items-center justify-between text-[7px] py-0.5",children:[e.jsx("span",{className:"text-muted-foreground",children:s.name}),e.jsx("span",{className:a("font-semibold tabular-nums",s.value.startsWith("+")?"text-success":s.value.startsWith("-")?"text-destructive":"text-foreground"),children:s.value})]},s.name))]}),e.jsx("div",{className:"flex-1 rounded-lg border border-border/30 bg-secondary/10 p-1 min-h-[70px]",children:e.jsx(K,{width:"100%",height:"100%",children:e.jsxs(G,{data:n,margin:{top:3,right:2,left:-15,bottom:0},children:[e.jsx(W,{dataKey:"name",tick:{fontSize:7}
1,tickLine:!1,axisLine:!1}),e.jsx(V,{tick:{fontSize:6},tickLine:!1,axisLine:!1,tickFormatter:s=>`${(s/1e3).toFixed(1)}K`}),e.jsx(C,{dataKey:"base",fill:"hsl(var(--primary))",radius:[1,1,0,0],maxBarSize:10}),e.jsx(C,{dataKey:"growth",fill:"hsl(var(--success))",radius:[1,1,0,0],maxBarSize:10}),e.jsx(C,{dataKey:"downside",fill:"hsl(var(--destructive))",radius:[1,1,0,0],maxBarSize:10})]})})})]})]})]})})}function Ve(){const n=[{month:"Jan",value:350},{month:"Feb",value:345},{month:"Mar",value:360},{month:"Apr",value:380},{month:"May",value:395},{month:"Jun",value:410},{month:"Jul",value:420},{month:"Aug",value:435},{month:"Sep",value:450},{month:"Oct",value:460},{month:"Nov",value:475},{month:"Dec",value:490}];return e.jsx(R,{sectionTitle:"Driver-Based Planning",contentHeight:460,ariaLabel:"SuiteReport driver-based planning interface with configurable business drivers and impact analysis",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Driver-Based Planning"}),e.jsxs("div",{className:"flex items-center gap-1 text-[8px] px-2 py-0.5 rounded-md bg-secondary/50 border border-border/30 text-muted-foreground",children:[e.jsx("span",{children:"Revenue Model"}),e.jsx(D,{className:"h-2 w-2"})]})]}),e.jsx("span",{className:"text-[7px] px-2 py-0.5 rounded-md bg-accent/10 text-accent font-semibold",children:"Auto-cascade ON"})]}),e.jsxs("div",{className:"rounded-lg bg-gradient-to-r from-primary/5 via-accent/5 to-success/5 border border-border/30 p-2 mb-2",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1.5",children:"Driver Cascade Flow"}),e.jsxs("div",{className:"flex items-center gap-1 text-[7px]",children:[e.jsx("div",{className:"px-2 py-1 rounded bg-primary/10 text-primary font-semibold border border-primary/20",children:"Unit Price"}),e.jsx("span",{className:"text-muted-foreground",children:"Ã"}),e.jsx("div",{className:"px-2 py-1 rounded bg-primary/10 text-primary font-semibold border border-primary/20",children:"Volume"}),e.jsx("span",{className:"text-muted-foreground",children:"Ã"}),e.jsx("div",{className:"px-2 py-1 rounded bg-primary/10 text-primary font-semibold border border-primary/20",children:"1 + Growth"}),e.jsx("span",{className:"text-muted-foreground",children:"â"}),e.jsx("div",{className:"px-2 py-1 rounded bg-success/10 text-success font-semibold border border-success/20",children:"Revenue"}),e.jsx("span",{className:"text-muted-foreground",children:"â"}),e.jsx("div",{className:"px-2 py-1 rounded bg-accent/10 text-accent font-semibold border border-accent/20",children:"P&L"}),e.jsx("span",{className:"text-muted-foreground",children:"â"}),e.jsx("div",{className:"px-2 py-1 rounded bg-accent/10 text-accent font-semibold border border-accent/20",children:"Cash Flow"})]})]}),e.jsxs("div",{className:"flex gap-2.5 flex-1 min-h-0",children:[e.jsxs("div",{className:"flex-1 flex flex-col gap-1.5",children:[e.jsxs("div",{className:"rounded-lg border border-border/30 p-2 flex-1",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1.5",children:"Drivers & Formulas"}),[{name:"Unit Price",type:"Input",value:"$120.00",unit:"$/unit"},{name:"Units Sold",type:"Input",value:"35,000",unit:"units/mo"},{name:"Growth Rate",type:"Input",value:"8.5%",unit:"%"},{name:"Revenue",type:"Formula",value:"$4,200,000",unit:"$/yr"},{name:"COGS",type:"Formula",value:"$1,764,000",unit:"$/yr"},{name:"Gross Margin",type:"Formula",value:"$2,436,000",unit:"$/yr"}].map(s=>e.jsxs("div",{className:"flex items-center gap-2 text-[8px] py-1.5 border-b border-border/15 last:border-0",children:[e.jsx("span",{className:a("px-1.5 py-0.5 rounded text-[6px] font-semibold min-w-[42px] text-center",s.type==="Input"?"bg-primary/10 text-primary":"bg-accent/10 text-accent"),children:s.type}),e.jsx("span",{className:"font-medium text-foreground flex-1",children:s.name}),e.jsx("span",{className:"text-foreground font-semibold tabular-nums",children:s.value}),e.jsx("span",{className:"text-muted-foreground text-[7px] min-w-[40px] text-right",children:s.unit})]},s.name))]}),e.jsxs("div",{className:"rounded-lg bg-primary/5 border border-primary/15 p-2",children:[e.jsx("span",{className:"text-[7px] font-semibold text-primary block mb-0.5",children:"Formula Preview"}),e.jsx("div",{className:"text-[8px] text-foreground font-mono",children:"Revenue = Price à Units à (1 + Growth)"}),e.jsxs("div",{className:"text-[7px] text-muted-foreground mt-0.5",children:["$120 à 35,000 à 1.085 = ",e.jsx("span",{className:"text-success font-semibold",children:"$4,557,000"})]})]})]}),e.jsxs("div",{className:"w-[180px] flex-shrink-0 flex flex-col gap-1.5",children:[e.jsxs("div",{className:"rounded-lg border border-border/30 p-2",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1.5",children:"P&L Impact"}),[{label:"Revenue",value:"+$340K",pos:!0},{label:"COGS",value:"-$143K",pos:!1},{label:"Gross Profit",value:"+$197K",pos:!0},{label:"Net Income",value:"+$158K",pos:!0}].map(s=>e.jsxs("div",{className:"flex items-center justify-between text-[8px] py-0.5",children:[e.jsx("span",{className:"text-muted-foreground",children:s.label}),e.jsx("span",{className:a("font-semibold tabular-nums",s.pos?"text-success":"text-destructive"),children:s.value})]},s.label))]}),e.jsxs("div",{className:"rounded-lg border border-border/30 p-2",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1.5",children:"Sensitivity Analysis"}),e.jsx("div",{className:"space-y-1.5",children:[{name:"Price ±10%",impact:"±$420K",pct:70},{name:"Volume ±10%",impact:"±$350K",pct:58},{name:"Growth ±5%",impact:"±$210K",pct:35}].map(s=>e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between text-[7px] mb-0.5",children:[e.jsx("span",{className:"text-muted-foreground",children:s.name}),e.jsx("span",{className:"text-foreground font-medium",children:s.impact})]}),e.jsx("div",{className:"h-2 bg-secondary/50 rounded-full",children:e.jsx("div",{className:"h-2 bg-primary/50 rounded-full",style:{width:`${s.pct}%`}})})]},s.name))})]}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 bg-secondary/10 p-1.5 min-h-[70px]",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-0.5 px-0.5",children:"Monthly Revenue Output"}),e.jsx(K,{width:"100%",height:55,children:e.jsxs(G,{data:n,margin:{top:0,right:0,left:-15,bottom:0},children:[e.jsx(W,{dataKey:"month",tick:{fontSize:6}
1,tickLine:!1,axisLine:!1,interval:2}),e.jsx(V,{hide:!0}),e.jsx(C,{dataKey:"value",fill:"hsl(var(--chart-1))",radius:[1,1,0,0],maxBarSize:10})]})})]})]})]})]})})}function Ye(){const n=[{title:"Engineering Lead",dept:"Engineering",fte:"1.0",base:"$165,000",benefits:"$28,050",loaded:"$193,050"},{title:"Sales Manager",dept:"Sales",fte:"1.0",base:"$125,000",benefits:"$21,250",loaded:"$146,250"},{title:"Financial Analyst",dept:"Finance",fte:"1.0",base:"$95,000",benefits:"$16,150",loaded:"$111,150"},{title:"Marketing Coordinator",dept:"Marketing",fte:"1.0",base:"$72,000",benefits:"$12,240",loaded:"$84,240"},{title:"DevOps Engineer",dept:"Engineering",fte:"1.0",base:"$145,000",benefits:"$24,650",loaded:"$169,650",isNew:!0}],s=[{dept:"Engineering",pct:45,color:"bg-primary"},{dept:"Sales",pct:29,color:"bg-success"},{dept:"Finance",pct:13,color:"bg-accent"},{dept:"Marketing",pct:13,color:"bg-chart-4"}];return e.jsx(R,{sectionTitle:"Workforce Planning",contentHeight:410,ariaLabel:"SuiteReport workforce planning dashboard showing headcount, salary costs, and department allocations",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Workforce Planning"}),e.jsxs("span",{className:"text-[7px] px-2 py-0.5 rounded-md bg-primary/10 text-primary font-semibold flex items-center gap-1",children:[e.jsx(ne,{className:"h-2 w-2"})," New Position"]})]}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5 mb-2",children:[{label:"Total Headcount",value:"48 FTE",icon:I},{label:"Annual Cost",value:"$6.2M",icon:k},{label:"Avg Cost/FTE",value:"$129K",icon:P},{label:"Benefits & Taxes",value:"$1.1M",icon:te}].map(t=>e.jsxs("div",{className:"rounded-lg bg-secondary/30 border border-border/30 p-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1 mb-0.5",children:[e.jsx(t.icon,{className:"h-2.5 w-2.5 text-primary"}),e.jsx("span",{className:"text-[7px] text-muted-foreground",children:t.label})]}),e.jsx("span",{className:"text-[11px] font-bold text-foreground",children:t.value})]},t.label))}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 overflow-hidden mb-2",children:[e.jsxs("div",{className:"grid grid-cols-[1.2fr_0.8fr_40px_80px_70px_80px] bg-secondary/40 text-[7px] font-semibold text-muted-foreground px-2 py-1 border-b border-border/30",children:[e.jsx("span",{children:"Title"}),e.jsx("span",{children:"Department"}),e.jsx("span",{className:"text-center",children:"FTE"}),e.jsx("span",{className:"text-right",children:"Base Salary"}),e.jsx("span",{className:"text-right",children:"Benefits"}),e.jsx("span",{className:"text-right",children:"Loaded Cost"})]}),n.map(t=>e.jsxs("div",{className:a("grid grid-cols-[1.2fr_0.8fr_40px_80px_70px_80px] text-[8px] px-2 py-1.5 border-b border-border/20 last:border-0",t.isNew&&"bg-success/5"),children:[e.jsxs("span",{className:"text-foreground font-medium flex items-center gap-1",children:[t.title,t.isNew&&e.jsx("span",{className:"text-[5px] px-1 py-0.5 rounded bg-success/15 text-success font-bold",children:"NEW"})]}),e.jsx("span",{className:"text-muted-foreground",children:t.dept}),e.jsx("span",{className:"text-center text-foreground",children:t.fte}),e.jsx("span",{className:"text-right tabular-nums text-foreground",children:t.base}),e.jsx("span",{className:"text-right tabular-nums text-muted-foreground",children:t.benefits}),e.jsx("span",{className:"text-right tabular-nums text-foreground font-semibold",children:t.loaded})]},t.title))]}),e.jsxs("div",{className:"grid grid-cols-2 gap-1.5",children:[e.jsxs("div",{className:"rounded-lg border border-border/30 p-1.5",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1",children:"Cost by Department"}),e.jsx("div",{className:"flex h-2.5 rounded-full overflow-hidden mb-1",children:s.map(t=>e.jsx("div",{className:a("h-full",t.color),style:{width:`${t.pct}%`}},t.dept))}),e.jsx("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5",children:s.map(t=>e.jsxs("div",{className:"flex items-center gap-1 text-[7px]",children:[e.jsx("div",{className:a("h-1.5 w-1.5 rounded-sm",t.color)}),e.jsxs("span",{className:"text-muted-foreground",children:[t.dept," ",t.pct,"%"]})]},t.dept))})]}),e.jsxs("div",{className:"rounded-lg border border-border/30 p-1.5",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1",children:"Headcount Trend"}),e.jsx("div",{className:"flex items-end gap-[3px] h-[28px]",children:[36,38,40,42,44,45,46,47,48,48,50,52].map((t,r)=>e.jsx("div",{className:"flex-1 bg-primary/40 rounded-t",style:{height:`${t/52*100}%`}},r))}),e.jsxs("div",{className:"flex justify-between text-[6px] text-muted-foreground mt-0.5",children:[e.jsx("span",{children:"Jan"}),e.jsx("span",{children:"Jun"}),e.jsx("span",{children:"Dec"})]})]})]})]})})}function ze(){const n=[{label:"Revenue",actual:"4,098,000",budget:"4,200,000",variance:"-2.4%",neg:!0,bold:!1},{label:"COGS",actual:"1,699,200",budget:"1,800,000",variance:"-5.6%",neg:!1,bold:!1},{label:"Gross Profit",actual:"2,398,800",budget:"2,400,000",variance:"-0.1%",neg:!0,bold:!0},{label:"OpEx",actual:"1,499,200",budget:"1,600,000",variance:"-6.3%",neg:!1,bold:!1},{label:"EBITDA",actual:"1,012,600",budget:"920,000",variance:"+10.1%",neg:!1,bold:!0},{label:"Net Income",actual:"899,600",budget:"800,000",variance:"+12.5%",neg:!1,bold:!0}],s=["P&L","Balance Sheet","Cash Flow","MoM","YoY","Ratios"];return e.jsx(j,{activeKey:"reporting",contentHeight:390,ariaLabel:"SuiteReport financial reporting builder with standard and custom report templates",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex gap-0.5 mb-2",children:[e.jsx("span",{className:"text-[8px] px-2.5 py-1 rounded-md font-semibold bg-primary/10 text-primary",children:"Standard Reports"}),e.jsx("span",{className:"text-[8px] px-2.5 py-1 rounded-md font-medium text-muted-foreground bg-secondary/30",children:"Custom Builder"})]}),e.jsxs("div",{className:"flex gap-2 flex-1 min-h-0",children:[e.jsxs("div",{className:"flex-1 flex flex-col gap-1.5 min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Profit & Loss"}),e.jsx("span",{className:"text-[7px] px-1.5 py-0.5 rounded-md bg-secondary/50 border border-border/30 text-muted-foreground",children:"FY 2026"})]}),e.jsx("div",{className:"flex gap-0.5",children:[{icon:ae,label:"Table"},{icon:Ie,label:"Graph"},{icon:v,label:"AI"}].map((t,r)=>e.jsxs("span",{className:a("flex items-center gap-0.5 text-[7px] px-1.5 py-0.5 rounded-md font-medium",r===0?"bg-primary/10 text-primary":"text-muted-foreground bg-secondary/30"),children:[e.jsx(t.icon,{className:"h-2.5 w-2.5"}),t.label]},t.label))})]}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 overflow-hidden",children:[e.jsxs("div",{className:"grid grid-cols-[1fr_65px_65px_50px] bg-secondary/40 text-[7px] font-semibold text-muted-foreground px-2 py-1 border-b border-border/30",children:[e.jsx("span",{children:"Account"}),e.jsx("span",{className:"text-right",children:"Actual"}),e.jsx("span",{className:"text-right",children:"Budget"}),e.jsx("span",{className:"text-right",children:"Var %"})]}),n.map(t=>e.jsxs("div",{className:a("grid grid-cols-[1fr_65px_65px_50px] text-[8px] px-2 py-1 border-b border-border/20 last:border-0",t.bold&&"bg-secondary/20"),children:[e.jsx("span",{className:a("text-foreground",t.bold?"font-bold":"font-medium"),children:t.label}),e.jsx("span",{className:"text-right text-foreground tabular-nums font-medium",children:t.actual}),e.jsx("span",{className:"text-right text-muted-foreground tabular-nums",children:t.budget}),e.jsx("span",{className:a("text-right tabular-nums font-semibold",t.neg?"text-destructive":"text-success"),children:t.variance})]},t.label))]}),e.jsxs("div",{className:"rounded-lg bg-gradient-to-r from-primary/10 via-accent/10 to-primary/5 border border-primary/20 p-2",children:[e.jsxs("div",{className:"flex items-center gap-1 mb-0.5",children:[e.jsx(f,{className:"h-2.5 w-2.5 text-primary"}),e.jsx("span",{className:"text-[7px] font-bold text-primary",children:"AI Variance Commentary"})]}),e.jsxs("p",{className:"text-[7px] text-foreground leading-relaxed",children:["Net Income is ",e.jsx("span",{className:"font-bold text-success",children:"12.5% above budget"}),", driven by lower OpEx (-6.3%) and strong EBITDA performance. Revenue fell 2.4% short, primarily from delayed Q3 contract closings."]})]})]}),e.jsxs("div",{className:"w-[90px] flex-shrink-0 flex flex-col gap-1",children:[e.jsx("span",{className:"text-[6px] font-semibold text-muted-foreground mb-0.5",children:"Reports"}),s.map((t,r)=>e.jsxs("div",{className:a("text-[7px] px-2 py-1 rounded-md font-medium relative",r===0?"bg-primary/10 text-primary border border-primary/20":"bg-secondary/30 text-muted-foreground"),children:[e.jsx("span",{children:t}),r===1&&e.jsx("span",{className:"absolute -right-1 -top-1 text-[5px] bg-accent/15 text-accent border border-accent/20 px-1 py-0.5 rounded font-semibold",children:"3 entities"}),r===2&&e.jsx("span",{className:"absolute -right-1 -top-1 text-[5px] bg-success/15 text-success border border-success/20 px-1 py-0.5 rounded font-semibold",children:"13-week"})]},t)),e.jsxs("div",{className:"mt-1 rounded-md border border-border/30 bg-secondary/20 p-1.5",children:[e.jsx("span",{className:"text-[5px] font-semibold text-muted-foreground block mb-1",children:"Revenue Trend"}),e.jsx("div",{className:"flex items-end gap-[2px] h-[22px]",children:[40,55,48,62,70,65,78,82].map((t,r)=>e.jsx("div",{className:a("flex-1 rounded-sm",r<5?"bg-primary/50":"bg-primary/25"),style:{height:`${t}%`}},r))})]})]})]})]})})}function He(){const n=[{name:"North America",revenue:"2,450,000",expenses:"1,890,000",netIncome:"560,000"},{name:"Europe (UK)",revenue:"1,320,000",expenses:"1,050,000",netIncome:"270,000"},{name:"Asia Pacific",revenue:"890,000",expenses:"720,000",netIncome:"170,000"},{name:"Eliminations",revenue:"-180,000",expenses:"-180,000",netIncome:"0",isElim:!0}],s={revenue:"4,480,000",expenses:"3,480,000",netIncome:"1,000,000"};return e.jsx(j,{activeKey:"consolidation",contentHeight:370,ariaLabel:"SuiteReport multi-entity consolidation interface with intercompany elimination tracking",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Consolidated P&L"}),e.jsx("div",{className:"flex gap-0.5",children:["Consolidated","By Entity"].map((t,r)=>e.jsx("span",{className:a("text-[7px] px-2 py-0.5 rounded-md font-medium",r===0?"bg-primary/10 text-primary":"text-muted-foreground bg-secondary/30"),children:t},t))})]}),e.jsx("div",{className:"grid grid-cols-3 gap-1.5 mb-2",children:[{label:"Entities",value:"3 Active",icon:L},{label:"Consolidated Revenue",value:"$4.48M",icon:A},{label:"Consolidated Net Income",value:"$1.00M",icon:k}].map(t=>e.jsxs("div",{className:"rounded-lg bg-secondary/30 border border-border/30 p-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1 mb-0.5",children:[e.jsx(t.icon,{className:"h-2.5 w-2.5 text-primary"}),e.jsx("span",{className:"text-[7px] text-muted-foreground",children:t.label})]}),e.jsx("span",{className:"text-[11px] font-bold text-foreground",children:t.value})]},t.label))}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 overflow-hidden",children:[e.jsxs("div",{className:"grid grid-cols-[1fr_70px_70px_70px] bg-secondary/40 text-[7px] font-semibold text-muted-foreground px-2 py-1 border-b border-border/30",children:[e.jsx("span",{children:"Entity"}),e.jsx("span",{className:"text-right",children:"Revenue"}),e.jsx("span",{className:"text-right",children:"Expenses"}),e.jsx("span",{className:"text-right",children:"Net Income"})]}),n.map(t=>e.jsxs("div",{className:a("grid grid-cols-[1fr_70px_70px_70px] text-[8px] px-2 py-1.5 border-b border-border/20",t.isElim&&"bg-chart-4/5 italic"),children:[e.jsx("span",{className:a("font-medium",t.isElim?"text-chart-4":"text-foreground"),children:t.name}),e.jsx("span",{className:a("text-right tabular-nums",t.isElim?"text-chart-4":"text-foreground"),children:t.revenue}),e.jsx("span",{className:a("text-right tabular-nums",t.isElim?"text-chart-4":"text-muted-foreground"),children:t.expenses}),e.jsx("span",{className:a("text-right tabular-nums font-medium",t.isElim?"text-chart-4":"text-success"),children:t.netIncome})]},t.name)),e.jsxs("div",{className:"grid grid-cols-[1fr_70px_70px_70px] text-[8px] px-2 py-1.5 bg-primary/5 border-t border-primary/20",children:[e.jsx("span",{className:"font-bold text-primary",children:"Consolidated"}),e.jsx("span",{className:"text-right tabular-nums font-bold text-foreground",children:s.revenue}),e.jsx("span",{className:"text-right tabular-nums font-bold text-muted-foreground",children:s.expenses}),e.jsx("span",{className:"text-right tabular-nums font-bold text-success",children:s.netIncome})]})]})]})})}function Ue(){const n=[{currency:"USD",symbol:"$",rate:"1.0000",originalAmt:"2,450,000",convertedAmt:"2,450,000",isBase:!0,trend:[98,100,100,100,100,100]}
1,{currency:"GBP",symbol:"£",rate:"1.2640",originalAmt:"1,044,304",convertedAmt:"1,320,000",isBase:!1,trend:[95,97,96,98,100,101]},{currency:"JPY",symbol:"Â¥",rate:"0.0067",originalAmt:"132,835,821",convertedAmt:"890,000",isBase:!1,trend:[102,100,98,97,96,95]},{currency:"EUR",symbol:"â¬",rate:"1.0850",originalAmt:"737,327",convertedAmt:"800,000",isBase:!1,trend:[97,98,99,100,101,100]}];return e.jsx(R,{sectionTitle:"Multi-Currency",contentHeight:400,ariaLabel:"SuiteReport multi-currency management dashboard with exchange rate tracking and currency conversions",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Currency Conversion"}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"text-[7px] px-2 py-0.5 rounded-md bg-success/10 text-success font-semibold",children:"Live Rates"}),e.jsx("span",{className:"text-[7px] text-muted-foreground",children:"as of today"})]})]}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5 mb-2",children:[{label:"Base Currency",value:"USD ($)",icon:k},{label:"Active Currencies",value:"4",icon:L},{label:"FX Gain/Loss",value:"+$23,400",icon:A},{label:"Revaluation",value:"Pending",icon:se}].map(s=>e.jsxs("div",{className:"rounded-lg bg-secondary/30 border border-border/30 p-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1 mb-0.5",children:[e.jsx(s.icon,{className:"h-2.5 w-2.5 text-primary"}),e.jsx("span",{className:"text-[7px] text-muted-foreground",children:s.label})]}),e.jsx("span",{className:"text-[10px] font-bold text-foreground",children:s.value})]},s.label))}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 overflow-hidden",children:[e.jsxs("div",{className:"grid grid-cols-[55px_35px_60px_90px_90px_60px] bg-secondary/40 text-[7px] font-semibold text-muted-foreground px-2 py-1 border-b border-border/30",children:[e.jsx("span",{children:"Currency"}),e.jsx("span",{children:"Sym"}),e.jsx("span",{className:"text-right",children:"Rate"}),e.jsx("span",{className:"text-right",children:"Original Amount"}),e.jsx("span",{className:"text-right",children:"USD Equivalent"}),e.jsx("span",{className:"text-center",children:"Trend"})]}),n.map(s=>e.jsxs("div",{className:a("grid grid-cols-[55px_35px_60px_90px_90px_60px] text-[8px] px-2 py-1.5 border-b border-border/20 last:border-0 items-center",s.isBase&&"bg-primary/5"),children:[e.jsx("span",{className:"font-semibold text-foreground",children:s.currency}),e.jsx("span",{className:"text-muted-foreground",children:s.symbol}),e.jsx("span",{className:"text-right tabular-nums text-foreground",children:s.rate}),e.jsx("span",{className:"text-right tabular-nums text-muted-foreground",children:s.originalAmt}),e.jsx("span",{className:"text-right tabular-nums font-medium text-foreground",children:s.convertedAmt}),e.jsx("div",{className:"flex items-end justify-center gap-[1px] h-[14px]",children:s.trend.map((t,r)=>e.jsx("div",{className:"w-[4px] bg-primary/40 rounded-sm",style:{height:`${t/105*100}%`}},r))})]},s.currency))]}),e.jsxs("div",{className:"mt-2 rounded-lg bg-accent/5 border border-accent/15 p-2",children:[e.jsxs("div",{className:"flex items-center gap-1 mb-0.5",children:[e.jsx(f,{className:"h-2.5 w-2.5 text-accent"}),e.jsx("span",{className:"text-[7px] font-semibold text-accent",children:"FX Impact Analysis"})]}),e.jsxs("p",{className:"text-[7px] text-foreground leading-relaxed",children:["GBP strengthened ",e.jsx("span",{className:"font-bold text-success",children:"2.1%"})," vs USD this period, adding ",e.jsx("span",{className:"font-bold text-success",children:"$27,700"})," to consolidated revenue. JPY weakened 1.4%, reducing APAC contribution by ",e.jsx("span",{className:"font-bold text-destructive",children:"$12,460"}),"."]})]})]})})}function qe(){const n=[{segment:"Enterprise",customers:24,mrr:"$186,000",churn:"1.2%",nrr:"118%",clv:"$2.4M",expansion:"+$22K"},{segment:"Mid-Market",customers:89,mrr:"$142,000",churn:"3.5%",nrr:"108%",clv:"$480K",expansion:"+$11K"},{segment:"SMB",customers:312,mrr:"$94,000",churn:"6.8%",nrr:"95%",clv:"$120K",expansion:"+$5K"}];return e.jsx(R,{sectionTitle:"Customer Revenue",contentHeight:400,ariaLabel:"SuiteReport customer revenue analysis dashboard with top accounts and revenue breakdown",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Customer Revenue Plan"}),e.jsx("div",{className:"flex gap-0.5",children:["By Segment","By Cohort","By Customer"].map((s,t)=>e.jsx("span",{className:a("text-[7px] px-2 py-0.5 rounded-md font-medium",t===0?"bg-primary/10 text-primary":"text-muted-foreground bg-secondary/30"),children:s},s))})]}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5 mb-2",children:[{label:"Total MRR",value:"$422K",icon:k},{label:"Total ARR",value:"$5.06M",icon:A},{label:"Net Revenue Retention",value:"112%",icon:I},{label:"Avg Churn Rate",value:"3.8%",icon:P}].map(s=>e.jsxs("div",{className:"rounded-lg bg-secondary/30 border border-border/30 p-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1 mb-0.5",children:[e.jsx(s.icon,{className:"h-2.5 w-2.5 text-primary"}),e.jsx("span",{className:"text-[7px] text-muted-foreground",children:s.label})]}),e.jsx("span",{className:"text-[10px] font-bold text-foreground",children:s.value})]},s.label))}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 overflow-hidden mb-2",children:[e.jsxs("div",{className:"grid grid-cols-[1.2fr_60px_80px_55px_50px_65px_65px] bg-secondary/40 text-[7px] font-semibold text-muted-foreground px-2 py-1 border-b border-border/30",children:[e.jsx("span",{children:"Segment"}),e.jsx("span",{className:"text-center",children:"Customers"}),e.jsx("span",{className:"text-right",children:"MRR"}),e.jsx("span",{className:"text-right",children:"Churn"}),e.jsx("span",{className:"text-right",children:"NRR"}),e.jsx("span",{className:"text-right",children:"CLV"}),e.jsx("span",{className:"text-right",children:"Expansion"})]}),n.map(s=>e.jsxs("div",{className:"grid grid-cols-[1.2fr_60px_80px_55px_50px_65px_65px] text-[8px] px-2 py-1.5 border-b border-border/20 last:border-0",children:[e.jsx("span",{className:"font-medium text-foreground",children:s.segment}),e.jsx("span",{className:"text-center text-foreground",children:s.customers}),e.jsx("span",{className:"text-right tabular-nums font-medium text-foreground",children:s.mrr}),e.jsx("span",{className:a("text-right tabular-nums font-medium",parseFloat(s.churn)>5?"text-destructive":parseFloat(s.churn)>3?"text-chart-4":"text-success"),children:s.churn}),e.jsx("span",{className:a("text-right tabular-nums font-medium",parseInt(s.nrr)>=100?"text-success":"text-destructive"),children:s.nrr}),e.jsx("span",{className:"text-right tabular-nums text-muted-foreground",children:s.clv}),e.jsx("span",{className:"text-right tabular-nums text-success font-medium",children:s.expansion})]},s.segment))]}),e.jsxs("div",{className:"grid grid-cols-[1fr_1fr_1fr] gap-1.5",children:[e.jsxs("div",{className:"rounded-lg border border-border/30 p-1.5",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1",children:"MRR Trend"}),e.jsx("div",{className:"flex items-end gap-[2px] h-[24px]",children:[65,68,72,74,78,80,83,86,88,90,93,96].map((s,t)=>e.jsx("div",{className:"flex-1 bg-primary/40 rounded-t",style:{height:`${s}%`}},t))})]}),e.jsxs("div",{className:"rounded-lg border border-border/30 p-1.5 text-center",children:[e.jsx("span",{className:"text-[7px] text-muted-foreground block",children:"Expansion"}),e.jsx("span",{className:"text-[11px] font-bold text-success block",children:"+$38K"}),e.jsx("span",{className:"text-[6px] text-muted-foreground",children:"this month"})]}),e.jsxs("div",{className:"rounded-lg border border-border/30 p-1.5 text-center",children:[e.jsx("span",{className:"text-[7px] text-muted-foreground block",children:"Contraction"}),e.jsx("span",{className:"text-[11px] font-bold text-destructive block",children:"-$12K"}),e.jsx("span",{className:"text-[6px] text-muted-foreground",children:"this month"})]})]})]})})}function Je(){return e.jsx(j,{activeKey:"ai-insights",contentHeight:370,ariaLabel:"SuiteReport AI-powered financial insights panel with natural language variance analysis",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsx("div",{className:"flex items-center justify-between mb-2",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Ask SuiteReport"}),e.jsxs("span",{className:"text-[7px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary font-semibold flex items-center gap-0.5",children:[e.jsx(v,{className:"h-2 w-2"})," AI"]})]})}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 p-2 flex flex-col gap-2 overflow-hidden",children:[e.jsx("div",{className:"flex justify-end",children:e.jsx("div",{className:"bg-primary/10 rounded-lg rounded-tr-none px-2.5 py-1.5 max-w-[80%]",children:e.jsx("p",{className:"text-[8px] text-foreground",children:"Why did COGS increase by 12% in Q3 compared to Q2?"})})}),e.jsx("div",{className:"flex justify-start",children:e.jsxs("div",{className:"bg-secondary/40 rounded-lg rounded-tl-none px-2.5 py-2 max-w-[85%]",children:[e.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[e.jsx(v,{className:"h-2.5 w-2.5 text-primary"}),e.jsx("span",{className:"text-[7px] font-semibold text-primary",children:"SuiteReport AI"})]}),e.jsxs("p",{className:"text-[7px] text-foreground leading-relaxed mb-1.5",children:["COGS increased ",e.jsx("span",{className:"font-bold text-destructive",children:"12.3%"})," in Q3 primarily due to:"]}),e.jsx("div",{className:"space-y-1 mb-1.5",children:[{reason:"Raw material cost increase",impact:"+$84K",pct:"62%"},{reason:"New supplier onboarding",impact:"+$32K",pct:"24%"},{reason:"Volume increase",impact:"+$19K",pct:"14%"}].map(n=>e.jsxs("div",{className:"flex items-center gap-1 text-[7px]",children:[e.jsx("div",{className:"h-1 w-1 rounded-full bg-primary"}),e.jsx("span",{className:"text-foreground flex-1",children:n.reason}),e.jsx("span",{className:"text-destructive font-medium tabular-nums",children:n.impact}),e.jsxs("span",{className:"text-muted-foreground",children:["(",n.pct,")"]})]},n.reason))}),e.jsx("p",{className:"text-[7px] text-muted-foreground italic",children:"ð¡ Recommendation: Renegotiate material contracts before Q4 to offset the $84K increase."})]})}),e.jsx("div",{className:"flex justify-end",children:e.jsx("div",{className:"bg-primary/10 rounded-lg rounded-tr-none px-2.5 py-1.5 max-w-[80%]",children:e.jsx("p",{className:"text-[8px] text-foreground",children:"Show me anomalies in this month's expenses"})})})]}),e.jsxs("div",{className:"mt-2 rounded-lg border border-border/30 bg-secondary/20 px-2.5 py-1.5 flex items-center gap-2",children:[e.jsx(re,{className:"h-3 w-3 text-muted-foreground"}),e.jsx("span",{className:"text-[8px] text-muted-foreground flex-1",children:"Ask anything about your financial data..."}),e.jsx(O,{className:"h-3 w-3 text-primary"})]})]})})}function Qe(){const n=[{report:"Monthly P&L",recipients:"CFO, VP Finance",frequency:"Monthly",nextRun:"Feb 1",status:"Active",statusColor:"bg-success/15 text-success"},{report:"Weekly Cash Flash",recipients:"Treasury Team",frequency:"Weekly",nextRun:"Mon 8am",status:"Active",statusColor:"bg-success/15 text-success"},{report:"Board Deck",recipients:"Board Members (6)",frequency:"Quarterly",nextRun:"Apr 1",status:"Active",statusColor:"bg-success/15 text-success"},{report:"Daily Revenue",recipients:"Sales Leaders (4)",frequency:"Daily",nextRun:"Tomorrow",status:"Paused",statusColor:"bg-chart-4/15 text-chart-4"}];return e.jsx(R,{sectionTitle:"Scheduled Delivery",contentHeight:460,ariaLabel:"SuiteReport automated report scheduling interface with delivery configuration and recipients",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Scheduled Deliveries"}),e.jsxs("span",{className:"text-[7px] px-2 py-0.5 rounded-md bg-primary/10 text-primary font-semibold flex items-center gap-1",children:[e.jsx(ne,{className:"h-2 w-2"})," New Schedule"]})]}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5 mb-2",children:[{label:"Active Schedules",value:"3",icon:q},{label:"Reports Sent (MTD)",value:"47",icon:Ee},{label:"Recipients",value:"18",icon:I},{label:"Delivery Rate",value:"100%",icon:w}].map(s=>e.jsxs("div",{className:"rounded-lg bg-secondary/30 border border-border/30 p-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1 mb-0.5",children:[e.jsx(s.icon,{className:"h-2.5 w-2.5 text-primary"}),e.jsx("span",{className:"text-[7px] text-muted-foreground",children:s.label})]}),e.jsx("span",{className:"text-[11px] font-bold text-foreground",children:s.value})]},s.label))}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 overflow-hidden mb-2",children:[e.jsxs("div",{className:"grid grid-cols-[1.2fr_1fr_70px_65px_55px] bg-secondary/40 text-[7px] font-semibold text-muted-foreground px-2 py-1 border-b border-border/30",children:[e.jsx("span",{children:"Report"}),e.jsx("span",{children:"Recipients"}),e.jsx("span",{children:"Frequency"}),e.jsx("span",{children:"Next Run"}),e.jsx("span",{className:"text-center",children:"Status"})]}),n.map(s=>e.jsxs("div",{className:"grid grid-cols-[1.2fr_1fr_70px_65px_55px] text-[8px] px-2 py-1.5 border-b border-border/20 last:border-0 items-center",children:[e.jsx("span",{className:"font-medium text-foreground",children:s.report}),e.jsx("span",{className:"text-muted-foreground",children:s.recipients}),e.jsx("span",{className:"text-foreground",children:s.frequency}),e.jsx("span",{className:"text-muted-foreground tabular-nums",children:s.nextRun}),e.jsx("span",{className:a("text-[6px] px-1.5 py-0.5 rounded-full font-semibold text-center",s.statusColor),children:s.status})]},s.report))]}),e.jsxs("div",{className:"rounded-lg border border-border/30 p-2 mb-2",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground block mb-1.5",children:"Delivery Timeline â This Week"}),e.jsx("div",{className:"flex items-center gap-1",children:["Mon","Tue","Wed","Thu","Fri"].map((s,t)=>e.jsxs("div",{className:"flex-1 text-center",children:[e.jsx("span",{className:"text-[6px] text-muted-foreground block mb-1",children:s}),e.jsxs("div",{className:a("h-3 rounded-md flex items-center justify-center",t<3?"bg-success/15":"bg-secondary/40"),children:[t<3&&e.jsx(w,{className:"h-2 w-2 text-success"}),t===3&&e.jsx(q,{className:"h-2 w-2 text-chart-4"})]}),e.jsx("span",{className:"text-[5px] text-muted-foreground mt-0.5 block",children:t<3?`${[12,8,4][t]} sent`:t===3?"3 pending":""})]},s))})]}),e.jsxs("div",{className:"rounded-lg bg-primary/5 border border-primary/15 p-2",children:[e.jsxs("div",{className:"flex items-center gap-1 mb-0.5",children:[e.jsx(f,{className:"h-2.5 w-2.5 text-primary"}),e.jsx("span",{className:"text-[7px] font-semibold text-primary",children:"AI Narratives Included"})]}),e.jsx("p",{className:"text-[7px] text-foreground leading-relaxed",children:"Each delivery includes an AI-generated executive summary with variance commentary, key highlights, and actionable recommendations."})]})]})})}function Xe(){const n=[{title:"Note 1: Basis of Preparation",status:"Complete"},{title:"Note 3: Revenue Analysis",status:"Complete"},{title:"Note 5: Staff Costs",status:"Draft"},{title:"Note 8: Exceptional Items",status:"Empty"},{title:"Note 10: Taxation",status:"Empty"}],s={Complete:"bg-success/15 text-success border-success/30",Draft:"bg-amber-500/15 text-amber-600 border-amber-500/30",
1Empty:"bg-secondary/40 text-muted-foreground border-border/40"},t=[{label:"Online Revenue",actual:"1,245,000",budget:"1,100,000",var:"+145,000",varPct:"+13.2%",pos:!0,flag:!0},{label:"Retail Revenue",actual:"389,000",budget:"420,000",var:"(31,000)",varPct:"-7.4%",pos:!1,flag:!1},{label:"Automated Revenue",actual:"612,000",budget:"580,000",var:"+32,000",varPct:"+5.5%",pos:!0,flag:!1},{label:"Total Revenue",actual:"2,246,000",budget:"2,100,000",var:"+146,000",varPct:"+7.0%",pos:!0,flag:!1}];return e.jsx(j,{activeKey:"disclosures",contentHeight:400,ariaLabel:"SuiteReport financial disclosures management interface with compliance tracking",children:e.jsxs("div",{className:"h-full flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-[11px] font-bold text-foreground",children:"Notes to the Financial Statements"}),e.jsx("p",{className:"text-[7px] text-muted-foreground",children:"For the period ended February 2026. Auto-generated data with editable commentary."})]}),e.jsx("span",{className:"text-[7px] px-2 py-0.5 rounded-md bg-primary/10 text-primary font-semibold cursor-pointer",children:"Load Demo Commentary"})]}),e.jsxs("div",{className:"flex-1 flex gap-1.5 min-h-0",children:[e.jsxs("div",{className:"w-[130px] shrink-0 rounded-lg border border-border/30 bg-secondary/20 overflow-hidden",children:[e.jsx("div",{className:"px-1.5 py-1 border-b border-border/20",children:e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Sections"})}),n.map((r,o)=>e.jsxs("div",{className:a("px-1.5 py-1 border-b border-border/10 flex items-center gap-1 cursor-pointer",o===1&&"bg-primary/5"),children:[e.jsx("span",{className:a("text-[6.5px] leading-tight flex-1",o===1?"text-primary font-semibold":"text-foreground"),children:r.title}),e.jsx("span",{className:a("text-[5.5px] px-1 py-0.5 rounded-full border font-medium whitespace-nowrap",s[r.status]),children:r.status})]},r.title))]}),e.jsxs("div",{className:"flex-1 flex flex-col gap-1.5 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(_,{className:"h-2.5 w-2.5 text-primary"}),e.jsx("span",{className:"text-[9px] font-bold text-foreground",children:"Note 3: Revenue Analysis"}),e.jsx("span",{className:a("text-[5.5px] px-1 py-0.5 rounded-full border font-medium",s.Complete),children:"Complete"})]}),e.jsxs("div",{className:"flex-1 flex gap-1.5 min-h-0",children:[e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 overflow-hidden",children:[e.jsxs("div",{className:"bg-secondary/40 px-1.5 py-0.5 border-b border-border/20 flex items-center justify-between",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground",children:"Auto-Generated Data"}),e.jsx("span",{className:"text-[6px] text-muted-foreground",children:"â¾ Expand All"})]}),e.jsxs("div",{className:"text-[6.5px]",children:[e.jsxs("div",{className:"grid grid-cols-[1fr_52px_52px_48px_36px] px-1.5 py-0.5 bg-secondary/20 font-semibold text-muted-foreground border-b border-border/20",children:[e.jsx("span",{children:"Category"}),e.jsx("span",{className:"text-right",children:"Actual"}),e.jsx("span",{className:"text-right",children:"Budget"}),e.jsx("span",{className:"text-right",children:"Var £"}),e.jsx("span",{className:"text-right",children:"Var %"})]}),t.map((r,o)=>e.jsxs("div",{className:a("grid grid-cols-[1fr_52px_52px_48px_36px] px-1.5 py-0.5 border-b border-border/10",o===t.length-1&&"font-bold border-t-2 border-t-border/40 bg-secondary/15",r.flag&&"bg-amber-500/5"),children:[e.jsxs("span",{className:a("text-foreground flex items-center gap-0.5",o===t.length-1&&"font-bold"),children:[r.flag&&e.jsx("span",{className:"text-amber-500 text-[5px]",children:"â "}),r.label]}),e.jsx("span",{className:"text-right tabular-nums text-foreground",children:r.actual}),e.jsx("span",{className:"text-right tabular-nums text-muted-foreground",children:r.budget}),e.jsx("span",{className:a("text-right tabular-nums",r.pos?"text-success":"text-destructive"),children:r.var}),e.jsx("span",{className:a("text-right tabular-nums font-medium",r.pos?"text-success":"text-destructive"),children:r.varPct})]},r.label))]})]}),e.jsxs("div",{className:"flex-1 rounded-lg border border-border/30 overflow-hidden",children:[e.jsxs("div",{className:"bg-secondary/40 px-1.5 py-0.5 border-b border-border/20 flex items-center justify-between",children:[e.jsx("span",{className:"text-[7px] font-semibold text-muted-foreground",children:"Commentary"}),e.jsxs("div",{className:"flex gap-0.5",children:[e.jsx("span",{className:"text-[6px] px-1 py-0.5 rounded bg-primary/10 text-primary font-medium",children:"Edit"}),e.jsx("span",{className:"text-[6px] px-1 py-0.5 rounded bg-secondary/60 text-muted-foreground font-medium",children:"Preview"})]})]}),e.jsxs("div",{className:"p-1.5 text-[6.5px] font-mono text-muted-foreground leading-relaxed space-y-1",children:[e.jsx("p",{className:"text-foreground font-bold text-[7px]",children:"## Revenue Performance"}),e.jsx("p",{children:"Total revenue of **£2.25m** exceeded budget by **£146k (+7.0%)**. Growth was primarily driven by the online channel."}),e.jsx("p",{className:"text-foreground font-semibold text-[6.5px]",children:"### Key Drivers"}),e.jsx("p",{children:"- **Online revenue** up 13.2% vs budget â e-commerce replatforming completed in Q4 2025"}),e.jsx("p",{children:"- **Retail** down 7.4% â two store closures in January"})]})]})]})]})]})]})})}function le({onViewReport:n}){return e.jsx(we,{onViewReport:n})}function Ze({onViewReport:n}){return e.jsx(Re,{onViewReport:n})}const es=["Details","Columns","Rows","Filters","Views","AI Settings","Review"],Q="Monthly P&L for board presentation",ie="Add a YTD column too",ss=["Monthly P&L for board presentation","Budget vs Actual variance report","Quarterly balance sheet summary"],X=[1400,2400,400,1e3,1600,1400,2e3,400,1e3,1600,1200,1200,1200,1200,1800,3e3];function ts(n){const s=[];return n<4||(n>=4&&s.push({type:"bot",stepNum:1,label:"Details",text:"Building Monthly P&L report. Extracting structure...",pills:["P&L Statement","Monthly","Board-ready"]}),n>=5&&n<9&&s.push({type:"bot",stepNum:2,label:"Columns",text:"Adding columns:",pills:["Period","Budget","Actual","Variance $","Variance %"]}),n>=6&&n<9&&s.push({type:"user",text:ie}),n===8&&s.push({type:"thinking"}),n>=9&&s.push({type:"bot",stepNum:2,label:"Columns",text:"Updated â added YTD column:",pills:["Period","Budget","Actual","Variance $","Variance %","YTD"],isRevision:!0}),n>=10&&s.push({type:"bot",stepNum:3,label:"Rows",text:"Configuring rows:",pills:["Revenue","COGS","Gross Profit","OpEx","Net Income"]}),n>=11&&s.push({type:"bot",stepNum:4,label:"Filters",text:"Setting filters:",pills:["Date = Current Month","Subsidiary = All"]}),n>=12&&s.push({type:"bot",stepNum:5,label:"Views",text:"Creating views:",pills:["By Department","By Location"]}),n>=13&&s.push({type:"bot",stepNum:6,label:"AI Settings",text:"AI insights:",pills:["Executive tone","Board audience"]}),n>=14&&s.push({type:"bot",stepNum:7,label:"Review",isSummary:!0})),s}function Z(n,s,t=40){const[r,o]=c.useState(""),i=c.useRef(0);return c.useEffect(()=>{if(!s){o(""),i.current=0;return}const l=setInterval(()=>{i.current++,o(n.slice(0,i.current)),i.current>=n.length&&clearInterval(l)},t);return()=>clearInterval(l)},[s,n,t]),s?r:""}function rs(){const n=c.useRef(null),[s,t]=c.useState(!1),[r,o]=c.useState(0),i=c.useRef(null);c.useEffect(()=>{const d=n.current;if(!d)return;const p=new IntersectionObserver(([u])=>t(u.isIntersecting),{threshold:.2});return p.observe(d),()=>p.disconnect()},[]),c.useEffect(()=>{if(!s)return;const d=X[r];if(d===void 0)return;const p=setTimeout(()=>{o(u=>u>=X.length-1?0:u+1)},d);return()=>clearTimeout(p)},[r,s]);const l=Z(Q,r===1),m=Z(ie,r===6),b=r===1||r===6,S=r===1?l:r===6?m:"",E=r<4,B=r>=2&&r<4,y=r===3,N=r>=14?7:r>=13?6:r>=12?5:r>=11?4:r>=10?3:r>=9?2:r>=4?1:0,g=r>=14?7:Math.min(N+1,7),x=ts(r).slice(-3);return c.useEffect(()=>{i.current&&(i.current.scrollTop=i.current.scrollHeight)},[r]),e.jsx(j,{activeKey:"reporting",contentHeight:480,ariaLabel:"SuiteReport AI copilot interface for guided financial report creation",children:e.jsxs("div",{ref:n,className:"h-full flex flex-col",children:[e.jsxs("div",{className:"rounded-lg bg-secondary border border-border/50 p-2.5 mb-2",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-5 w-5 rounded-lg bg-gradient-to-br from-primary to-accent flex items-center justify-center",children:e.jsx(f,{className:"h-2.5 w-2.5 text-primary-foreground"})}),e.jsx("span",{className:"text-[9px] font-bold text-foreground tracking-wide",children:"AI COPILOT"})]}),e.jsx("span",{className:a("text-[7px] px-1.5 py-0.5 rounded-full font-semibold border transition-all duration-500",r>=14?"bg-emerald-500/10 text-emerald-600 border-emerald-500/20":"text-muted-foreground border-border/30"),children:r>=14?"7/7 â":`Step ${g}/7`})]}),e.jsx("div",{className:"flex items-center gap-1",children:es.map((d,p)=>{const u=p+1,Y=u<=N,oe=u===g;return e.jsxs("div",{className:"flex items-center gap-1 flex-1",children:[e.jsx("div",{className:a("rounded-full flex items-center justify-center font-bold flex-shrink-0 transition-all duration-500",Y?"h-4 w-4 text-[6px] bg-emerald-500 text-white":oe?"h-5 w-5 text-[7px] bg-pink-500 text-white shadow-md shadow-pink-500/40 ring-1 ring-pink-400/30":"h-4 w-4 text-[6px] bg-muted text-muted-foreground"),children:Y?e.jsx(w,{className:"h-2 w-2"}):u}),p<6&&e.jsx("div",{className:a("h-px flex-1 transition-all duration-500",u<g?"bg-emerald-400/60":"bg-border/40")})]},d)})})]}),e.jsxs("div",{ref:i,className:"flex-1 rounded-lg border border-border/30 p-2.5 flex flex-col gap-2 overflow-y-auto overflow-x-hidden bg-secondary/10",children:[E&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex gap-2 animate-fade-in",children:[e.jsx("div",{className:"h-5 w-5 rounded-lg bg-gradient-to-br from-primary to-accent flex items-center justify-center flex-shrink-0",children:e.jsx(v,{className:"h-2.5 w-2.5 text-white"})}),e.jsxs("div",{className:"bg-secondary/40 rounded-xl rounded-tl-sm px-2.5 py-2 flex-1 border border-border/30",children:[e.jsx("span",{className:"text-[8px] font-bold text-foreground block mb-0.5",children:"Report Builder Copilot"}),e.jsx("p",{className:"text-[7px] text-muted-foreground leading-relaxed",children:"Describe what you need â I'll configure everything step by step."})]})]}),e.jsxs("div",{className:"px-1",children:[e.jsx("span",{className:"text-[6px] font-bold text-muted-foreground uppercase tracking-wider mb-1 block",children:"Try saying"}),e.jsx("div",{className:"flex flex-col gap-0.5",children:ss.map(d=>e.jsxs("span",{className:"text-[7px] px-2 py-1 rounded-lg bg-primary/8 border border-primary/15 text-foreground font-medium",children:['"',d,'"']},d))})]})]}),B&&e.jsx("div",{className:"flex justify-end animate-fade-in",children:e.jsx("div",{className:"rounded-xl rounded-tr-sm bg-primary/10 border border-primary/20 px-2.5 py-1.5 max-w-[85%]",children:e.jsx("p",{className:"text-[7.5px] text-foreground",children:Q})})}),y&&e.jsx(ee,{}),x.map((d,p)=>d.type==="user"?e.jsx("div",{className:"flex justify-end animate-fade-in",children:e.jsx("div",{className:"rounded-xl rounded-tr-sm bg-primary/10 border border-primary/20 px-2.5 py-1.5 max-w-[85%]",children:e.jsx("p",{className:"text-[7.5px] text-foreground",children:d.text})})},`u-${p}`):d.type==="thinking"?e.jsx(ee,{},`t-${p}`):e.jsxs("div",{className:"flex gap-2 animate-fade-in",children:[e.jsx("div",{className:"h-5 w-5 rounded-lg bg-gradient-to-br from-primary to-accent flex items-center justify-center flex-shrink-0",children:e.jsx(v,{className:"h-2.5 w-2.5 text-white"})}),e.jsxs("div",{className:a("bg-secondary/40 rounded-xl rounded-tl-sm px-2.5 py-2 flex-1 border space-y-1",d.isRevision?"border-amber-500/30":"border-border/30"),children:[e.jsxs("div",{className:"flex items-center gap-1",children:[d.isRevision?e.jsx("span",{className:"text-[6px] px-1 py-0.5 rounded bg-amber-500/10 text-amber-600 font-semibold border border-amber-500/20",children:"Updated"}):e.jsx(w,{className:"h-2 w-2 text-emerald-500"}),e.jsxs("span",{className:"text-[7px] font-semibold text-emerald-600 uppercase tracking-wider",children:["Step ",d.stepNum," â ",d.label]})]}),d.isSummary?e.jsxs("div",{className:"rounded border border-emerald-500/30 bg-emerald-500/5 p-1.5 space-y-1",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-[7px] font-bold text-foreground",children:"Monthly P&L â Board Report"}),e.jsx("span",{className:"text-[6px] px-1.5 py-0.5 rounded-full bg-emerald-500/15 text-emerald-600 font-semibold",children:"Ready"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-x-3 gap-y-0.5 text-[6.5px]",children:[e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:"Columns"}),e.jsx("span",{className:"text-foreground font-medium",children:"6 (incl. YTD)"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:"Rows"}),e.jsx("span",{className:"text-foreground font-medium",children:"5"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:"Views"}),e.jsx("span",{className:"text-foreground font-medium",children:"2"})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsx("span",{className:"text-muted-foreground",children:"AI Tone"}),e.jsx("span",{className:"text-foreground font-medium",children:"Executive"})]})]})]}):e.jsxs(e.Fragment,{children:[d.text&&e.jsx("p",{className:"text-[7px] text-foreground leading-relaxed",children:d.text}),d.pills&&e.jsx("div",{className:"flex flex-wrap gap-1",children:d.pills.map(u=>e.jsx("span",{className:"text-[6.5px] px-1.5 py-0.5 rounded-full bg-primary/8 border border-primary/15 text-foreground font-medium",children:u},u))})]})]})]},`s-${d.stepNum}-${d.isRevision?"r":"i"}-${p}`)),r>=14&&e.jsxs("div",{className:"flex items-center justify-center gap-1.5 pt-1 animate-fade-in",children:[e.jsx(f,{className:"h-2.5 w-2.5 text-primary"}),e.jsxs("span",{className:"text-[7px] text-muted-foreground font-medium",children:["Report configured in ",e.jsx("strong",{className:"text-foreground",children:"seconds"})]})]})]}),e.jsxs("div",{className:"mt-2 rounded-lg border border-border/30 bg-secondary/20 px-2.5 py-1.5 flex items-center gap-2",children:[e.jsx(re,{className:"h-3 w-3 text-muted-foreground"}),e.jsx("span",{className:"text-[8px] flex-1",children:b?e.jsxs("span",{className:"text-foreground",children:[S,e.jsx("span",{className:"inline-block w-0.5 h-3 bg-primary ml-0.5 animate-pulse"})]}):e.jsx("span",{className:"text-muted-foreground",children:"Describe the report you want to build..."})}),e.jsx("div",{className:a("h-5 w-5 rounded flex items-center justify-center transition-colors",b?"bg-primary":"bg-transparent"),children:e.jsx(O,{className:a("h-3 w-3",b?"text-primary-foreground":"text-primary")})})]})]})})}function ee(){return e.jsx("div",{className:"flex justify-start animate-fade-in",children:e.jsx("div",{className:"rounded-xl rounded-tl-sm bg-secondary/40 border border-border/30 px-3 py-2",children:e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"h-1 w-1 rounded-full bg-primary animate-[pulse_0.6s_ease-in-out_infinite]"}),e.jsx("span",{className:"h-1 w-1 rounded-full bg-primary animate-[pulse_0.6s_0.2s_ease-in-out_infinite]"}),e.jsx("span",{className:"h-1 w-1 rounded-full bg-primary animate-[pulse_0.6s_0.4s_ease-in-out_infinite]"})]})})})}const as={budgets:Oe,reporting:ze,"balance-sheet-reconciliation":ke,"suite-extension":Be,"report-builder
1-copilot":rs,forecasts:Ke,cashflow:Ge,scenarios:We,drivers:Ve,workforce:Ye,consolidation:He,"multi-currency":Ue,"customer-revenue":qe,"ai-insights":Je,"scheduled-delivery":Qe,disclosures:Xe,"report-packs":le,"excel-addin":()=>e.jsx("div",{className:"flex items-center justify-center h-full overflow-hidden",children:e.jsx("div",{className:"w-full max-w-[520px]",children:e.jsx(Ae,{})})})};function ns({activeId:n}){return e.jsx("div",{className:"z-40 bg-background/70 backdrop-blur-2xl border-b border-border/40",children:e.jsx("div",{className:"mx-auto max-w-7xl px-6",children:e.jsx("nav",{className:"flex flex-wrap items-center justify-center gap-1.5 py-3",children:F.map(s=>{const t=n===s.id;return e.jsxs("a",{href:`#${s.id}`,onClick:r=>{var o;r.preventDefault(),(o=document.getElementById(s.id))==null||o.scrollIntoView({behavior:"smooth",block:"start"})},className:a("relative flex items-center gap-1.5 px-3 py-1.5 rounded-full text-[11px] font-semibold transition-all duration-300 whitespace-nowrap",t?"bg-gradient-to-r from-primary to-primary/80 text-primary-foreground shadow-md shadow-primary/20":"text-muted-foreground hover:text-foreground hover:bg-secondary/60"),children:[e.jsx(s.icon,{className:a("h-3 w-3 transition-transform duration-300",t&&"scale-110")}),e.jsx("span",{children:s.title})]},s.id)})})})})}function Ds(){xe("SuiteReport Features | NetSuite FP&A & Reporting Tools","Explore every feature SuiteReport offers â automated financial reports, AI-powered budgeting, scenario planning, workforce models, and board-ready report packs for NetSuite teams.");const n=F.map(l=>l.id),s=Le(n),[t,r]=c.useState(!1),[o,i]=c.useState(!1);return c.useEffect(()=>{const l=window.location.hash.slice(1);l?setTimeout(()=>{var m;(m=document.getElementById(l))==null||m.scrollIntoView({behavior:"smooth",block:"start"})},100):window.scrollTo(0,0)},[]),e.jsxs("div",{className:"min-h-screen bg-background text-foreground",children:[e.jsx(me,{}),e.jsxs("section",{className:"relative overflow-hidden pt-28 pb-16 lg:pt-40 lg:pb-20 gradient-hero",children:[e.jsxs("div",{className:"pointer-events-none absolute inset-0",children:[e.jsx("div",{className:"absolute left-1/4 top-16 h-[500px] w-[500px] rounded-full bg-primary/6 blur-[120px]"}),e.jsx("div",{className:"absolute right-1/4 top-32 h-[400px] w-[400px] rounded-full bg-accent/5 blur-[140px]"})]}),e.jsx("div",{className:"relative mx-auto max-w-4xl px-6 text-center",children:e.jsxs(h,{children:[e.jsx("p",{className:"text-sm font-semibold text-primary uppercase tracking-widest mb-4",children:"Platform Features"}),e.jsxs("h1",{className:"font-display text-4xl sm:text-5xl lg:text-7xl font-black tracking-tight text-foreground leading-[1.05]",children:["Everything Your Finance Team Needs â"," ",e.jsx("span",{className:"bg-gradient-to-r from-primary via-accent to-primary bg-clip-text text-transparent bg-[size:200%_auto] animate-[shimmer_3s_linear_infinite]",children:"In One Platform"})]}),e.jsx("p",{className:"mx-auto mt-6 max-w-2xl text-base lg:text-xl text-muted-foreground leading-relaxed",children:"From budgeting to workforce planning, SuiteReport replaces the spreadsheets your finance team has outgrown â with live NetSuite data at the core."}),e.jsx("div",{className:"mt-8",children:e.jsxs(T,{size:"lg",className:"gradient-primary text-primary-foreground shadow-glow hover:shadow-lg text-base px-8 h-12 rounded-xl transition-all duration-300 hover:-translate-y-0.5",onClick:()=>z("page_cta"),children:["Book a Demo ",e.jsx($,{className:"ml-2 h-4 w-4"})]})})]})})]}),e.jsx(ns,{activeId:s}),e.jsx("main",{children:F.map((l,m)=>{const b=m%3,E=Math.floor(m/3)%2!==0,B=as[l.id],y=m%2===0?"bg-background":"bg-[var(--gradient-section-alt)]",N=x=>e.jsxs("div",{className:x?"text-center":"",children:[e.jsxs("div",{className:a("flex items-center gap-3 mb-4",x&&"justify-center"),children:[e.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-xl bg-primary/10",children:e.jsx(l.icon,{className:"h-5 w-5 text-primary"})}),e.jsx("p",{className:"text-sm font-semibold text-primary uppercase tracking-widest",children:l.title})]}),e.jsx("h2",{className:a("font-display text-3xl sm:text-4xl lg:text-5xl font-extrabold text-foreground leading-tight",x&&"mx-auto max-w-3xl"),children:l.subt
1itle}),e.jsx("p",{className:a("mt-5 text-muted-foreground text-base lg:text-lg leading-relaxed",x&&"mx-auto max-w-2xl"),children:l.description})]}),g=l.detailLink&&e.jsx("div",{className:"mt-6",children:e.jsx(T,{variant:"outline",className:"rounded-xl border-border/60",asChild:!0,children:e.jsxs(H,{to:l.detailLink,children:["Learn more about ",l.title," ",e.jsx($,{className:"ml-2 h-4 w-4"})]})})}),M=e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute -inset-4 bg-gradient-to-br from-primary/4 to-accent/3 rounded-3xl blur-xl"}),e.jsx("div",{className:"relative",children:l.id==="report-packs"?e.jsx(le,{onViewReport:()=>r(!0)}):l.id==="budgets"?e.jsx(Ze,{onViewReport:()=>i(!0)}):B&&e.jsx(B,{})})]});return l.id==="report-packs"&&t?e.jsx("section",{id:l.id,className:a("py-20 lg:py-28 scroll-mt-32",y),children:e.jsx("div",{className:"mx-auto max-w-7xl px-6",children:e.jsx(ye,{onClose:()=>r(!1)})})},l.id):l.id==="budgets"&&o?e.jsx("section",{id:l.id,className:a("py-20 lg:py-28 scroll-mt-32",y),children:e.jsx("div",{className:"mx-auto max-w-7xl px-6",children:e.jsx(_e,{onClose:()=>i(!1)})})},l.id):b===0?e.jsx("section",{id:l.id,className:a("py-20 lg:py-28 scroll-mt-32",y),children:e.jsx("div",{className:"mx-auto max-w-7xl px-6",children:e.jsxs("div",{className:a("grid gap-12 lg:gap-16 lg:grid-cols-2 items-center",E&&"lg:[direction:rtl] lg:[&>*]:[direction:ltr]"),children:[e.jsx(h,{delay:0,children:e.jsxs("div",{children:[N(),e.jsx("ul",{className:"mt-8 space-y-3.5",children:l.capabilities.map(x=>e.jsxs("li",{className:"flex items-start gap-3 text-sm",children:[e.jsx("div",{className:"mt-0.5 flex h-5 w-5 items-center justify-center rounded-full bg-success/10 flex-shrink-0",children:e.jsx(w,{className:"h-3 w-3 text-success"})}),e.jsx("span",{className:"text-foreground leading-relaxed",children:x})]},x))}),g]})}),e.jsx(h,{className:"overflow-x-set-on-mobile",delay:200,children:M})]})})},l.id):b===1?e.jsx("section",{id:l.id,className:a("py-20 lg:py-28 scroll-mt-32",y),children:e.jsxs("div",{className:"mx-auto max-w-7xl px-6",children:[e.jsx(h,{delay:0,children:N(!0)}),e.jsx(h,{delay:100,children:e.jsx("div",{className:"mt-10 flex flex-wrap justify-center gap-3 max-w-4xl mx-auto",children:l.capabilities.map(x=>e.jsxs("div",{className:"flex items-start gap-2.5 rounded-xl border border-border/50 bg-card/60 px-4 py-3.5 text-sm w-[c
1alc(50%-0.375rem)] md:w-[calc(33.333%-0.5rem)]",children:[e.jsx("div",{className:"mt-0.5 flex h-5 w-5 items-center justify-center rounded-full bg-success/10 flex-shrink-0",children:e.jsx(w,{className:"h-3 w-3 text-success"})}),e.jsx("span",{className:"text-foreground leading-relaxed",children:x})]},x))})}),g&&e.jsx("div",{className:"mt-6 text-center",children:g}),e.jsx(h,{className:"overflow-x-set-on-mobile",delay:200,children:e.jsx("div",{className:"mt-12 max-w-5xl mx-auto",children:M})})]})},l.id):e.jsx("section",{id:l.id,className:a("py-20 lg:py-28 scroll-mt-32",y),children:e.jsx("div",{className:"mx-auto max-w-7xl px-6",children:e.jsxs("div",{className:"grid gap-12 lg:gap-16 lg:grid-cols-[3fr_2fr] items-center",children:[e.jsx(h,{className:"overflow-x-set-on-mobile w-full",delay:0,children:e.jsx("div",{className:"w-full",children:M})}),e.jsx(h,{delay:200,children:e.jsxs("div",{className:"rounded-2xl border border-border/50 bg-card/80 backdrop-blur-sm p-6 lg:p-8",children:[N(),e.jsx("ul",{className:"mt-8 space-y-3",children:l.capabilities.map(x=>e.jsxs("li",{className:"flex items-start gap-2.5 text-sm",children:[e.jsx("span",{className:"mt-1.5 h-1.5 w-1.5 rounded-full bg-primary flex-shrink-0"}),e.jsx("span",{className:"text-foreground leading-relaxed",children:x})]},x))}),g]})})]})})},l.id)})}),e.jsxs("section",{className:"py-28 relative overflow-hidden",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0",children:e.jsx("div",{className:"absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 h-[500px] w-[700px] rounded-full bg-primary/6 blur-[120px]"})}),e.jsxs(h,{className:"relative mx-auto max-w-3xl px-6 text-center",children:[e.jsx("h2",{className:"font-display text-4xl sm:text-5xl lg:text-6xl font-extrabold text-foreground leading-tight",children:"Ready to See It in Action?"}),e.jsx("p",{className:"mt-5 text-muted-foreground max-w-lg mx-auto text-lg leading-relaxed",children:"Book a personalized demo and see how SuiteReport transforms your FP&A workflow."}),e.jsxs("div",{className:"mt-10 flex flex-col sm:flex-row items-center justify-center gap-4",children:[e.jsxs(T,{size:"lg",className:"gradient-primary text-primary-foreground shadow-glow hover:shadow-lg text-base px-8 h-12 rounded-xl transition-all duration-300 hover:-translate-y-0.5",onClick:()=>z("page_cta"),children:["Book a Demo ",e.jsx($,{className:"ml-2 h-4 w-4"})]}),e.jsx(T,{size:"lg",variant:"outline",className:"text-base px-8 h-12 rounded-xl border-border/60",asChild:!0,children:e.jsx(H,{to:"/contact-us",children:"Talk to Sales"})})]})]})]}),e.jsx(ue,{})]})}export{Ds as default};
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.