| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>XYZ Cosmetics – FTZ Analysis & Optimization Studio</title> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <script src="https://cdn.plot.ly/plotly-latest.min.js"></script> |
| <script src="https://unpkg.com/tabulator-tables@5.4.4/dist/js/tabulator.min.js"></script> |
| <link href="https://unpkg.com/tabulator-tables@5.4.4/dist/css/tabulator.min.css" rel="stylesheet"> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| <style> |
| :root { |
| --primary: #4f46e5; |
| --primary-dark: #4338ca; |
| --secondary: #10b981; |
| --accent: #f59e0b; |
| --dark: #1e293b; |
| --light: #f8fafc; |
| --danger: #ef4444; |
| --gray: #94a3b8; |
| } |
| |
| body { |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; |
| background-color: #f1f5f9; |
| color: #1e293b; |
| } |
| |
| .sidebar { |
| background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); |
| transition: all 0.3s ease; |
| } |
| |
| .tab-content { |
| display: none; |
| } |
| |
| .tab-content.active { |
| display: block; |
| } |
| |
| .chart-container { |
| background: white; |
| border-radius: 0.5rem; |
| box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); |
| padding: 1.5rem; |
| margin-bottom: 1.5rem; |
| } |
| |
| .kpi-tile { |
| background: white; |
| border-radius: 0.5rem; |
| box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); |
| padding: 1.25rem; |
| transition: transform 0.2s ease; |
| } |
| |
| .kpi-tile:hover { |
| transform: translateY(-3px); |
| } |
| |
| .tab-button { |
| position: relative; |
| padding: 0.75rem 1rem; |
| font-weight: 500; |
| color: #64748b; |
| transition: all 0.3s ease; |
| } |
| |
| .tab-button.active { |
| color: var(--primary); |
| } |
| |
| .tab-button.active::after { |
| content: ''; |
| position: absolute; |
| bottom: 0; |
| left: 0; |
| right: 0; |
| height: 3px; |
| background-color: var(--primary); |
| border-radius: 3px 3px 0 0; |
| } |
| |
| .scenario-card { |
| border: 1px solid #e2e8f0; |
| border-radius: 0.5rem; |
| transition: all 0.3s ease; |
| } |
| |
| .scenario-card:hover { |
| border-color: var(--primary); |
| box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.1); |
| } |
| |
| .scenario-card.active { |
| border-color: var(--primary); |
| box-shadow: 0 10px 15px -3px rgba(79, 70, 229, 0.15), 0 4px 6px -2px rgba(79, 70, 229, 0.05); |
| } |
| |
| .table-container { |
| background: white; |
| border-radius: 0.5rem; |
| box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); |
| overflow: hidden; |
| } |
| |
| .tooltip { |
| position: relative; |
| } |
| |
| .tooltip:hover::after { |
| content: attr(data-tooltip); |
| position: absolute; |
| bottom: 100%; |
| left: 50%; |
| transform: translateX(-50%); |
| background: rgba(30, 41, 59, 0.9); |
| color: white; |
| padding: 0.5rem; |
| border-radius: 0.25rem; |
| font-size: 0.875rem; |
| white-space: nowrap; |
| z-index: 10; |
| } |
| |
| .sparkline { |
| height: 40px; |
| } |
| |
| .slider-container { |
| padding: 1rem; |
| background: white; |
| border-radius: 0.5rem; |
| box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); |
| } |
| |
| .footer { |
| background: #0f172a; |
| color: #94a3b8; |
| font-size: 0.875rem; |
| } |
| |
| @media (max-width: 768px) { |
| .sidebar { |
| position: fixed; |
| top: 0; |
| left: -100%; |
| height: 100%; |
| z-index: 100; |
| } |
| |
| .sidebar.active { |
| left: 0; |
| } |
| |
| .mobile-overlay { |
| display: none; |
| position: fixed; |
| top: 0; |
| left: 0; |
| right: 0; |
| bottom: 0; |
| background: rgba(0, 0, 0, 0.5); |
| z-index: 99; |
| } |
| |
| .mobile-overlay.active { |
| display: block; |
| } |
| } |
| </style> |
| </head> |
| <body class="min-h-screen"> |
| |
| <div class="mobile-overlay" id="mobileOverlay"></div> |
| |
| |
| <div class="flex flex-col md:flex-row"> |
| |
| <div class="sidebar md:static z-50 w-64 flex flex-col shadow-lg h-screen md:h-auto" id="sidebar"> |
| <div class="p-5"> |
| <h1 class="text-white text-xl font-bold">XYZ Cosmetics</h1> |
| <p class="text-gray-300 text-sm">FTZ Analysis Studio</p> |
| </div> |
| |
| <div class="px-4 py-3"> |
| <h2 class="text-gray-300 text-xs uppercase font-semibold tracking-wider mb-2">Global Filters</h2> |
| |
| <div class="mb-4"> |
| <label class="block text-gray-300 text-xs mb-1">Date Range</label> |
| <div class="grid grid-cols-2 gap-2"> |
| <select class="w-full bg-slate-800 text-white text-sm rounded p-2"> |
| <option>2023-01</option> |
| <option>2026-12</option> |
| </select> |
| <select class="w-full bg-slate-800 text-white text-sm rounded p-2"> |
| <option>2026-12</option> |
| <option>2023-01</option> |
| </select> |
| </div> |
| </div> |
| |
| <div class="mb-4"> |
| <label class="block text-gray-300 text-xs mb-1">Product Family</label> |
| <div class="grid grid-cols-2 gap-2"> |
| <label class="flex items-center text-white text-sm"> |
| <input type="checkbox" class="mr-2 rounded text-indigo-500"> |
| <span>Skincare</span> |
| </label> |
| <label class="flex items-center text-white text-sm"> |
| <input type="checkbox" class="mr-2 rounded text-indigo-500" checked> |
| <span>Makeup</span> |
| </label> |
| <label class="flex items-center text-white text-sm"> |
| <input type="checkbox" class="mr-2 rounded text-indigo-500" checked> |
| <span>Fragrance</span> |
| </label> |
| <label class="flex items-center text-white text-sm"> |
| <input type="checkbox" class="mr-2 rounded text-indigo-500"> |
| <span>Haircare</span> |
| </label> |
| </div> |
| </div> |
| |
| <div class="mb-4"> |
| <label class="block text-gray-300 text-xs mb-1">HS Codes</label> |
| <div class="space-y-1 max-h-40 overflow-y-auto"> |
| <label class="flex items-center text-white text-sm"> |
| <input type="checkbox" class="mr-2 rounded text-indigo-500" checked> |
| <span>3304 - Beauty/Makeup</span> |
| </label> |
| <label class="flex items-center text-white text-sm"> |
| <input type="checkbox" class="mr-2 rounded text-indigo-500"> |
| <span>3305 - Hair Products</span> |
| </label> |
| <label class="flex items-center text-white text-sm"> |
| <input type="checkbox" class="mr-2 rounded text-indigo-500" checked> |
| <span>3307 - Perfumes</span> |
| </label> |
| <label class="flex items-center text-white text-sm"> |
| <input type="checkbox" class="mr-2 rounded text-indigo-500"> |
| <span>4202 - Cosmetic Bags</span> |
| </label> |
| <label class="flex items-center text-white text-sm"> |
| <input type="checkbox" class="mr-2 rounded text-indigo-500"> |
| <span>3923 - Packaging</span> |
| </label> |
| </div> |
| </div> |
| |
| <div class="mb-4"> |
| <label class="block text-gray-300 text-xs mb-1">Supplier Country</label> |
| <select class="w-full bg-slate-800 text-white text-sm rounded p-2"> |
| <option>All Countries</option> |
| <option>France</option> |
| <option>Italy</option> |
| <option>Spain</option> |
| <option>China</option> |
| <option>South Korea</option> |
| </select> |
| </div> |
| </div> |
| |
| <div class="px-4 py-3 mt-auto"> |
| <button class="w-full bg-indigo-600 hover:bg-indigo-700 text-white py-2 rounded-md text-sm font-medium transition"> |
| Apply Filters |
| </button> |
| </div> |
| </div> |
| |
| |
| <div class="md:ml-64"> |
| |
| <nav class="bg-white shadow-sm p-4 flex justify-between items-center"> |
| <div class="flex items-center"> |
| <button id="sidebarToggle" class="md:hidden text-gray-500 mr-4"> |
| <i class="fas fa-bars"></i> |
| </button> |
| <h2 class="text-xl font-semibold">FTZ Analysis & Optimization</h2> |
| </div> |
| |
| <div class="flex items-center space-x-3"> |
| <select class="border border-gray-300 rounded-md text-sm p-2"> |
| <option>Standard Entry</option> |
| <option selected>FTZ - Baseline</option> |
| <option>FTZ - Privileged Foreign</option> |
| <option>FTZ - Inverted Tariff</option> |
| <option>Bonded Warehouse</option> |
| </select> |
| <button class="bg-indigo-600 hover:bg-indigo-700 text-white px-4 py-2 rounded-md text-sm font-medium"> |
| Run Scenario |
| </button> |
| <button class="border border-gray-300 hover:bg-gray-50 px-4 py-2 rounded-md text-sm font-medium"> |
| Reset |
| </button> |
| <button class="border border-gray-300 hover:bg-gray-50 px-4 py-2 rounded-md text-sm font-medium"> |
| Regenerate Data |
| </button> |
| <select class="border border-gray-300 rounded-md text-sm p-2"> |
| <option>USD</option> |
| <option>EUR</option> |
| <option>JPY</option> |
| <option>KRW</option> |
| </select> |
| </div> |
| </nav> |
| |
| |
| <div class="border-b border-gray-200 bg-white"> |
| <div class="flex overflow-x-auto px-4"> |
| <button class="tab-button active" data-tab="overview">Overview</button> |
| <button class="tab-button" data-tab="inventory">Inventory & Flows</button> |
| <button class="tab-button" data-tab="duty">Duty & Fees</button> |
| <button class="tab-button" data-tab="comparison">FTZ vs. Alternatives</button> |
| <button class="tab-button" data-tab="optimization">Optimization Lab</button> |
| <button class="tab-button" data-tab="compliance">Compliance & Risk</button> |
| <button class="tab-button" data-tab="about">About</button> |
| </div> |
| </div> |
| |
| |
| <div class="p-4 md:p-6"> |
| |
| <div id="tab-overview" class="tab-content active"> |
| <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 mb-6"> |
| <div class="kpi-tile"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <h3 class="text-gray-500 text-sm font-medium">Total Duty Paid YTD</h3> |
| <p class="text-2xl font-bold mt-1">$2.4M</p> |
| </div> |
| <div class="bg-green-100 p-2 rounded-full"> |
| <i class="fas fa-arrow-down text-green-600"></i> |
| </div> |
| </div> |
| <p class="text-green-600 text-sm mt-2"> |
| <i class="fas fa-arrow-down"></i> 12.3% vs Standard Entry |
| </p> |
| </div> |
| |
| <div class="kpi-tile"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <h3 class="text-gray-500 text-sm font-medium">MPF/HMF Fees YTD</h3> |
| <p class="text-2xl font-bold mt-1">$185K</p> |
| </div> |
| <div class="bg-green-100 p-2 rounded-full"> |
| <i class="fas fa-arrow-down text-green-600"></i> |
| </div> |
| </div> |
| <p class="text-green-600 text-sm mt-2"> |
| <i class="fas fa-arrow-down"></i> 28.7% vs Standard Entry |
| </p> |
| </div> |
| |
| <div class="kpi-tile"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <h3 class="text-gray-500 text-sm font-medium">Avg Landed Cost/Unit</h3> |
| <p class="text-2xl font-bold mt-1">$8.45</p> |
| </div> |
| <div class="bg-blue-100 p-2 rounded-full"> |
| <i class="fas fa-dollar-sign text-blue-600"></i> |
| </div> |
| </div> |
| <p class="text-blue-600 text-sm mt-2"> |
| <i class="fas fa-equals"></i> Standard Entry: $9.12 |
| </p> |
| </div> |
| |
| <div class="kpi-tile"> |
| <div class="flex justify-between items-start"> |
| <div> |
| <h3 class="text-gray-500 text-sm font-medium">Gross Margin %</h3> |
| <p class="text-2xl font-bold mt-1">64.2%</p> |
| </div> |
| <div class="bg-green-100 p-2 rounded-full"> |
| <i class="fas fa-chart-line text-green-600"></i> |
| </div> |
| </div> |
| <p class="text-green-600 text-sm mt-2"> |
| <i class="fas fa-arrow-up"></i> +3.2% vs Standard Entry |
| </p> |
| </div> |
| </div> |
| |
| <div class="grid grid-cols-1 lg:grid-cols-2 gap-6"> |
| <div class="chart-container"> |
| <h3 class="text-lg font-semibold mb-4">Duty and Fees by HS Code</h3> |
| <div id="duty-chart" class="h-80"></div> |
| </div> |
| |
| <div class="chart-container"> |
| <h3 class="text-lg font-semibold mb-4">Monthly Duty/Feet Trend</h3> |
| <div id="monthly-chart" class="h-80"></div> |
| </div> |
| </div> |
| |
| <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mt-6"> |
| <div class="chart-container"> |
| <h3 class="text-lg font-semibold mb-4">Cost Composition</h3> |
| <div id="cost-chart" class="h-80"></div> |
| </div> |
| |
| <div class="table-container"> |
| <h3 class="text-lg font-semibold p-4">Top Savings Opportunities</h3> |
| <div id="top-skus-table" class="p-4"></div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="tab-comparison" class="tab-content"> |
| <div class="mb-6"> |
| <h2 class="text-xl font-semibold mb-4">Scenario Comparison</h2> |
| <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-4"> |
| <div class="scenario-card p-4 cursor-pointer active"> |
| <div class="flex justify-between items-start"> |
| <h3 class="text-lg font-semibold">Standard Entry</h3> |
| <span class="text-gray-400">$0</span> |
| </div> |
| <p class="text-gray-500 text-sm mt-1">Base reference scenario</p> |
| <div class="mt-3"> |
| <div class="text-2xl font-bold">$12.8M</div> |
| <p class="text-gray-500 text-sm">Total Cost</p> |
| </div> |
| </div> |
| |
| <div class="scenario-card p-4 cursor-pointer"> |
| <div class="flex justify-between items-start"> |
| <h3 class="text-lg font-semibold">FTZ - Baseline</h3> |
| <span class="text-green-500">-$1.2M</span> |
| </div> |
| <p class="text-gray-500 text-sm mt-1">Deferred duty, weekly entry</p> |
| <div class="mt-3"> |
| <div class="text-2xl font-bold text-green-600">$11.6M</div> |
| <p class="text-gray-500 text-sm">Total Cost</p> |
| </div> |
| </div> |
| |
| <div class="scenario-card p-4 cursor-pointer"> |
| <div class="flex justify-between items-start"> |
| <h3 class="text-lg font-semibold">FTZ - Privileged Foreign</h3> |
| <span class="text-green-500">-$1.8M</span> |
| </div> |
| <p class="text-gray-500 text-sm mt-1">Locked duty rates</p> |
| <div class="mt-3"> |
| <div class="text-2xl font-bold text-green-600">$11.0M</div> |
| <p class="text-gray-500 text-sm">Total Cost</p> |
| </div> |
| </div> |
| |
| <div class="scenario-card p-4 cursor-pointer"> |
| <div class="flex justify-between items-start"> |
| <h3 class="text-lg font-semibold">FTZ - Inverted Tariff</h3> |
| <span class="text-green-500">-$2.1M</span> |
| </div> |
| <p class="text-gray-500 text-sm mt-1">Lower finished good rates</p> |
| <div class="mt-3"> |
| <div class="text-2xl font-bold text-green-600">$10.7M</div> |
| <p class="text-gray-500 text-sm">Total Cost</p> |
| </div> |
| </div> |
| |
| <div class="scenario-card p-4 cursor-pointer"> |
| <div class="flex justify-between items-start"> |
| <h3 class="text-lg font-semibold">Bonded Warehouse</h3> |
| <span class="text-green-500">-$950K</span> |
| </div> |
| <p class="text-gray-500 text-sm mt-1">Postponed payment</p> |
| <div class="mt-3"> |
| <div class="text-2xl font-bold text-green-600">$11.9M</div> |
| <p class="text-gray-500 text-sm">Total Cost</p> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class="chart-container"> |
| <h3 class="text-lg font-semibold mb-4">Cost Comparison (Millions $)</h3> |
| <div id="comparison-chart" class="h-96"></div> |
| </div> |
| |
| <div class="table-container mt-6"> |
| <h3 class="text-lg font-semibold p-4">Decision Matrix</h3> |
| <div class="p-4"> |
| <table class="min-w-full divide-y divide-gray-200"> |
| <thead class="bg-gray-50"> |
| <tr> |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Factor</th> |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Standard Entry</th> |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">FTZ</th> |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Bonded Warehouse</th> |
| </tr> |
| </thead> |
| <tbody class="bg-white divide-y divide-gray-200"> |
| <tr> |
| <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">Duty Timing</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">At entry</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">At U.S. commerce entry</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">At withdrawal</td> |
| </tr> |
| <tr> |
| <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">Rate Lock</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">No</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Yes (Privileged Foreign)</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">No</td> |
| </tr> |
| <tr> |
| <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">MPF Savings</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">None</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Weekly entry reduces counts</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">None</td> |
| </tr> |
| <tr> |
| <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">Storage Cost</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Customs exam areas</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Operator/monthly fees</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Warehouse/per pallet</td> |
| </tr> |
| <tr> |
| <td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">Best For</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Low volume</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">High volume, fluctuating rates</td> |
| <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">Declining rates, short term</td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="tab-optimization" class="tab-content"> |
| <div class="grid grid-cols-1 lg:grid-cols-3 gap-6"> |
| <div class="lg:col-span-2"> |
| <div class="chart-container"> |
| <h3 class="text-lg font-semibold mb-4">Sensitivity Analysis</h3> |
| <div id="sensitivity-chart" class="h-80"></div> |
| </div> |
| |
| <div class="chart-container mt-6"> |
| <h3 class="text-lg font-semibold mb-4">Network Optimization</h3> |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-4"> |
| <div class="border border-gray-200 rounded-lg p-4"> |
| <div class="flex justify-between items-center mb-2"> |
| <span class="text-gray-600">FTZ Allocation</span> |
| <span class="font-bold">65%</span> |
| </div> |
| <div class="w-full bg-gray-200 rounded-full h-2.5"> |
| <div class="bg-indigo-600 h-2.5 rounded-full" style="width: 65%"></div> |
| </div> |
| </div> |
| <div class="border border-gray-200 rounded-lg p-4"> |
| <div class="flex justify-between items-center mb-2"> |
| <span class="text-gray-600">Bonded Warehouse</span> |
| <span class="font-bold">25%</span> |
| </div> |
| <div class="w-full bg-gray-200 rounded-full h-2.5"> |
| <div class="bg-green-500 h-2.5 rounded-full" style="width: 25%"></div> |
| </div> |
| </div> |
| <div class="border border-gray-200 rounded-lg p-4"> |
| <div class="flex justify-between items-center mb-2"> |
| <span class="text-gray-600">Direct to DC</span> |
| <span class="font-bold">10%</span> |
| </div> |
| <div class="w-full bg-gray-200 rounded-full h-2.5"> |
| <div class="bg-blue-500 h-2.5 rounded-full" style="width: 10%"></div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div> |
| <div class="slider-container mb-6"> |
| <h3 class="text-lg font-semibold mb-4">Optimization Controls</h3> |
| |
| <div class="mb-4"> |
| <label class="block text-gray-700 text-sm mb-1">Tariff Increase Assumption</label> |
| <input type="range" min="0" max="10" value="3" class="w-full"> |
| <div class="flex justify-between text-xs text-gray-500 mt-1"> |
| <span>Falling</span> |
| <span>Neutral</span> |
| <span>Rising</span> |
| </div> |
| </div> |
| |
| <div class="mb-4"> |
| <label class="block text-gray-700 text-sm mb-1">Inventory Dwell Time</label> |
| <input type="range" min="15" max="90" value="45" class="w-full"> |
| <div class="flex justify-between text-xs text-gray-500 mt-1"> |
| <span>Short</span> |
| <span>Medium</span> |
| <span>Long</span> |
| </div> |
| </div> |
| |
| <div class="mb-4"> |
| <label class="block text-gray-700 text-sm mb-1">Component Complexity</label> |
| <input type="range" min="1" max="5" value="3" class="w-full"> |
| </div> |
| |
| <div class="flex items-center justify-between mb-2"> |
| <span class="text-gray-700">Weekly Entry</span> |
| <label class="switch"> |
| <input type="checkbox" checked> |
| <span class="slider"></span> |
| </label> |
| </div> |
| |
| <button class="w-full bg-indigo-600 hover:bg-indigo-700 text-white py-2 rounded-md text-sm font-medium mt-4"> |
| Optimize Network |
| </button> |
| </div> |
| |
| <div class="slider-container"> |
| <h3 class="text-lg font-semibold mb-4">Scenario Recommendation</h3> |
| <div class="p-4 bg-indigo-50 rounded-lg"> |
| <p class="text-indigo-800"> |
| <span class="font-bold">Recommended Mix:</span> FTZ 70%, Bonded 20%, Direct 10% |
| </p> |
| <p class="text-indigo-700 text-sm mt-2"> |
| This configuration optimizes for the current tariff increase projection while |
| balancing inventory holding costs and administrative overhead. |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div id="tab-about" class="tab-content"> |
| <div class="chart-container"> |
| <h2 class="text-xl font-semibold mb-4">About FTZ Analysis & Optimization Studio</h2> |
| <div class="prose max-w-none"> |
| <p> |
| The FTZ Analysis & Optimization Studio is a simulation environment that enables logistics, |
| finance, and compliance teams to evaluate the financial impact of using U.S. Foreign Trade Zones |
| versus Bonded Warehouses and standard entry procedures for imported beauty and cosmetic goods. |
| </p> |
| |
| <h3 class="text-lg font-semibold mt-6 mb-3">Key Concepts</h3> |
| <ul class="list-disc pl-5 space-y-2"> |
| <li><strong>Foreign Trade Zones (FTZs)</strong>: Areas considered outside the U.S. customs territory for tariff purposes. Duties are deferred until merchandise enters U.S. commerce. Benefits include weekly entry, direct delivery, inverted tariff opportunities, and scrap/waste relief.</li> |
| <li><strong>Bonded Warehouses</strong>: Secure storage facilities where imported goods can be stored without paying duties until they're withdrawn for domestic consumption. Duties are assessed at withdrawal time, allowing benefit from declining rates.</li> |
| <li><strong>Privileged Foreign Status</strong>: Within FTZs, goods can be admitted with privileged foreign status locking in duty rates at the time of admission, providing protection against rate increases.</li> |
| <li><strong>Inverted Tariff Opportunities</strong>: When components with higher duty rates are imported as privileged foreign status, and the finished products have lower duty rates, savings can be achieved.</li> |
| </ul> |
| |
| <h3 class="text-lg font-semibold mt-6 mb-3">Application Features</h3> |
| <ul class="list-disc pl-5 space-y-2"> |
| <li><strong>Multi-scenario Comparison</strong>: Evaluate Standard Entry, FTZ Baseline, FTZ with Privileged Foreign Status, FTZ with Inverted Tariff, and Bonded Warehouse scenarios.</li> |
| <li><strong>Dynamic Cost Modeling</strong>: Calculates customs duties, MPF/HMF fees, storage costs, and compliance overhead based on current and anticipated tariff rates.</li> |
| <li><strong>Optimization Recommendations</strong>: Provides allocation recommendations between FTZs, Bonded Warehouses, and direct distribution based on financial modeling.</li> |
| <li><strong>Risk Assessment</strong>: Incorporates potential disruptions, policy changes, and regulatory compliance into financial projections.</li> |
| </ul> |
| |
| <h3 class="text-lg font-semibold mt-6 mb-3">Disclaimer</h3> |
| <p> |
| This demonstration uses synthetic data generated client-side. All FTZ and customs treatment information |
| is summarized from public resources including strtrade.com, geodis.com, bergenlogistics.com, |
| chiefexecutive.net, and zhftaxlaw.com. Actual duty/tariff calculations should be verified with |
| customs brokers and legal advisors. |
| </p> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class="footer p-4 text-center text-sm"> |
| Demonstration only. FTZ/Bonded mechanics summarized from public resources: |
| strtrade.com, geodis.com, bergenlogistics.com, chiefexecutive.net, zhftaxlaw.com. |
| </div> |
| |
| <script> |
| |
| document.querySelectorAll('.tab-button').forEach(button => { |
| button.addEventListener('click', () => { |
| |
| document.querySelectorAll('.tab-button').forEach(btn => btn.classList.remove('active')); |
| document.querySelectorAll('.tab-content').forEach(tab => tab.classList.remove('active')); |
| |
| |
| button.classList.add('active'); |
| |
| |
| const tabId = button.getAttribute('data-tab'); |
| document.getElementById(`tab-${tabId}`).classList.add('active'); |
| }); |
| }); |
| |
| |
| document.getElementById('sidebarToggle').addEventListener('click', () => { |
| document.getElementById('sidebar').classList.toggle('active'); |
| document.getElementById('mobileOverlay').classList.toggle('active'); |
| }); |
| |
| document.getElementById('mobileOverlay').addEventListener('click', () => { |
| document.getElementById('sidebar').classList.remove('active'); |
| document.getElementById('mobileOverlay').classList.remove('active'); |
| }); |
| |
| |
| document.addEventListener('click', (e) => { |
| const sidebar = document.getElementById('sidebar'); |
| const toggle = document.getElementById('sidebarToggle'); |
| |
| if (window.innerWidth < 768 && |
| sidebar.classList.contains('active') && |
| !sidebar.contains(e.target) && |
| e.target !== toggle) { |
| sidebar.classList.remove('active'); |
| document.getElementById('mobileOverlay').classList.remove('active'); |
| } |
| }); |
| |
| |
| document.addEventListener('DOMContentLoaded', () => { |
| |
| const dutyChart = document.getElementById('duty-chart'); |
| const dutyData = [{ |
| type: 'bar', |
| x: ['3304', '3305', '3307', '4202', '3923', '7010'], |
| y: [1200000, 800000, 1500000, 450000, 600000, 900000], |
| marker: { color: '#4f46e5' } |
| }]; |
| |
| const dutyLayout = { |
| title: 'Duty by HS Code', |
| xaxis: { title: 'HS Code' }, |
| yaxis: { title: 'Duty Amount (USD)' }, |
| margin: { t: 40, l: 40, r: 20, b: 60 } |
| }; |
| |
| Plotly.newPlot(dutyChart, dutyData, dutyLayout, {displayModeBar: false}); |
| |
| |
| const monthlyChart = document.getElementById('monthly-chart'); |
| const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; |
| const monthlyData = [{ |
| type: 'scatter', |
| mode: 'lines+markers', |
| name: 'FTZ Scenario', |
| x: months, |
| y: [180000, 195000, 190000, 185000, 175000, 170000, 165000, 170000, 175000, 185000, 195000, 205000], |
| line: { color: '#10b981', width: 3 }, |
| marker: { size: 6 } |
| }, { |
| type: 'scatter', |
| mode: 'lines+markers', |
| name: 'Standard Entry', |
| x: months, |
| y: [220000, 235000, 230000, 225000, 215000, 210000, 205000, 210000, 215000, 225000, 235000, 245000], |
| line: { color: '#94a3b8', width: 2 }, |
| marker: { size: 4 } |
| }]; |
| |
| const monthlyLayout = { |
| title: 'Monthly Duty/Fees Comparison', |
| xaxis: { title: 'Month' }, |
| yaxis: { title: 'Amount (USD)' }, |
| margin: { t: 40, l: 60, r: 20, b: 60 } |
| }; |
| |
| Plotly.newPlot(monthlyChart, monthlyData, monthlyLayout, {displayModeBar: false}); |
| |
| |
| const costChart = document.getElementById('cost-chart'); |
| const costData = [{ |
| type: 'pie', |
| values: [35, 25, 15, 10, 10, 5], |
| labels: ['Duty', 'FTZ Operator Fees', 'Storage Costs', 'MPF/HMF Fees', 'Compliance Overhead', 'Demurrage'], |
| marker: { |
| colors: ['#4f46e5', '#818cf8', '#c7d2fe', '#10b981', '#34d399', '#a7f3d0'] |
| }, |
| textinfo: 'label+percent' |
| }]; |
| |
| const costLayout = { |
| title: 'Cost Composition Breakdown', |
| margin: { t: 40, l: 0, r: 0, b: 0 } |
| }; |
| |
| Plotly.newPlot(costChart, costData, costLayout, {displayModeBar: false}); |
| |
| |
| const topSKUsTable = new Tabulator("#top-skus-table", { |
| height: "300px", |
| data: [ |
| {sku: "FRG-001", hs: "3307", savings: 125000, dw: "Y", dwell: 45, cost: 8500}, |
| {sku: "SKC-003", hs: "3304", savings: 98000, dw: "Y", dwell: 38, cost: 6200}, |
| {sku: "MKP-012", hs: "3304", savings: 87000, dw: "N", dwell: 52, cost: 11000}, |
| {sku: "FRG-025", hs: "3307", savings: 78000, dw: "Y", dwell: 35, cost: 5500}, |
| {sku: "HRC-007", hs: "3305", savings: 65000, dw: "N", dwell: 48, cost: 9200}, |
| ], |
| layout: "fitColumns", |
| columns: [ |
| {title: "SKU", field: "sku", width: 100}, |
| {title: "HS Code", field: "hs", width: 100}, |
| {title: "Savings", field: "savings", formatter: "money", formatterParams: {symbol: "$"}, hozAlign: "right"}, |
| {title: "Priv. Foreign", field: "dw", width: 120, hozAlign: "center"}, |
| {title: "Dwell (Days)", field: "dwell", width: 120, hozAlign: "center"}, |
| {title: "Storage Cost", field: "cost", formatter: "money", formatterParams: {symbol: "$"}, hozAlign: "right"}, |
| ], |
| }); |
| |
| |
| const comparisonChart = document.getElementById('comparison-chart'); |
| const comparisonData = [{ |
| type: 'bar', |
| x: ['Standard Entry', 'FTZ - Baseline', 'FTZ - Privileged Foreign', 'FTZ - Inverted Tariff', 'Bonded Warehouse'], |
| y: [12800000, 11600000, 11000000, 10700000, 11900000], |
| marker: { |
| color: ['#94a3b8', '#4f46e5', '#818cf8', '#6366f1', '#a78bfa'] |
| } |
| }]; |
| |
| const comparisonLayout = { |
| title: 'Total Cost Comparison (Millions USD)', |
| xaxis: { title: 'Scenario' }, |
| yaxis: { title: 'Total Cost' }, |
| margin: { t: 40, l: 80, r: 20, b: 100 } |
| }; |
| |
| Plotly.newPlot(comparisonChart, comparisonData, comparisonLayout, {displayModeBar: false}); |
| |
| |
| const sensitivityChart = document.getElementById('sensitivity-chart'); |
| const sensitivityData = [ |
| { |
| type: 'bar', |
| orientation: 'h', |
| x: [0.15, 0.25, -0.1, 0.05, 0.3], |
| y: ['Tariff Rate Change', 'Dwell Time', 'Weekly Entry', 'Storage Costs', 'Inventory Turns'], |
| marker: { |
| color: ['#ef4444', '#ef4444', '#10b981', '#10b981', '#10b981'] |
| } |
| } |
| ]; |
| |
| const sensitivityLayout = { |
| title: 'Sensitivity Analysis: Net Savings Impact', |
| xaxis: { title: 'Impact on Savings (% of total cost)' }, |
| yaxis: { title: 'Factor' }, |
| margin: { t: 40, l: 120, r: 20, b: 60 } |
| }; |
| |
| Plotly.newPlot(sensitivityChart, sensitivityData, sensitivityLayout, {displayModeBar: false}); |
| }); |
| </script> |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=agenticlogistics/ftz-analysis-optimization" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> |
| </html> |