Files
admintemplate-mvc/Views/Dashboard/DashboardEam3.cshtml
T
2026-07-21 09:47:16 +07:00

412 lines
59 KiB
Plaintext

@{
ViewData["Title"] = "DashboardEam3";
ViewData["SidebarVariant"] = "3";
}
@section Styles {
<link rel="stylesheet" href="/css/style3.css" asp-append-version="true" />
}
<div class="p-4 md:p-6 space-y-6">
<div class="flex flex-col sm:flex-row sm:items-center justify-between gap-3">
<div><h1 class="text-2xl md:text-3xl font-bold text-gray-900">EAM Dashboard</h1><p class="text-gray-500 mt-1 text-sm">Enterprise Asset Management — Period: Q2 2026</p></div>
<div class="flex items-center gap-2">
<select class="text-sm border border-gray-100 rounded-lg px-3 py-2 bg-white text-gray-600 focus:outline-none focus:ring-2 focus:ring-indigo-400"><option>Q2 2026</option><option selected>Q2 2026</option><option>FY 2026</option><option>FY 2025</option></select>
<button class="px-4 py-2 text-sm font-semibold rounded-lg text-white transition flex items-center gap-1.5" style="background: linear-gradient(135deg, #6366f1, #4f46e5);"><svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v2a2 2 0 002 2h12a2 2 0 002-2v-2M7 10l5 5 5-5M12 15V3"/></svg> Export</button>
</div>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
<div class="bg-white rounded-xl border border-gray-100 p-6 anim-fade anim-delay-1 flex flex-col justify-between">
<div>
<div class="flex items-center justify-between mb-4">
<div><p class="text-[10px] text-gray-500 font-semibold uppercase tracking-wide">Asset Overview</p><h3 class="text-lg font-bold text-gray-900 mt-0.5">Key Metrics</h3></div>
<div class="w-10 h-10 rounded-xl flex items-center justify-center shrink-0" style="background:#eef2ff;"><svg class="w-5 h-5 text-indigo-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"/></svg></div>
</div>
<div class="grid grid-cols-2 gap-3 mt-2">
<div class="p-3 rounded-lg" style="background:#f8fafc;"><p class="text-[10px] text-gray-500">Total Assets</p><p class="text-lg font-bold text-gray-900">527</p><span class="text-[10px] text-green-600 font-semibold">▲ +3.4%</span></div>
<div class="p-3 rounded-lg" style="background:#f8fafc;"><p class="text-[10px] text-gray-500">Work Orders</p><p class="text-lg font-bold text-gray-900">1,284</p><span class="text-[10px] text-green-600 font-semibold">▲ +12.7%</span></div>
<div class="p-3 rounded-lg" style="background:#f8fafc;"><p class="text-[10px] text-gray-500">Equipment</p><p class="text-lg font-bold text-gray-900">3,241</p><span class="text-[10px] text-gray-500 font-semibold">▲ +2.1%</span></div>
<div class="p-3 rounded-lg" style="background:#f8fafc;"><p class="text-[10px] text-gray-500">Uptime</p><p class="text-lg font-bold text-gray-900">96.8%</p><span class="text-[10px] text-green-600 font-semibold">▲ +1.4pp</span></div>
</div>
</div>
<div class="mt-4 pt-4 border-t border-gray-100 flex items-center justify-between text-xs text-gray-400"><span>OEE: <b class="text-gray-700">84.6%</b></span><span class="kpi-badge" style="background:#eef2ff;color:#4f46e5;">Q2 2026</span></div>
</div>
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-1">
<div class="flex items-center justify-between mb-4"><div><h3 class="font-bold text-gray-900">Card Matrix</h3><p class="text-xs text-gray-400 mt-0.5">Key performance indicators</p></div><span class="text-xs text-blue-600 font-semibold cursor-pointer hover:underline">View All →</span></div>
<div class="grid grid-cols-2 lg:grid-cols-4 gap-3">
<div class="kpi-card-sm kpi-b1"><div class="flex items-start justify-between"><div><p class="kpi-label">Total Assets</p><p class="kpi-value">527</p><span class="kpi-delta">▲ +3.4%</span></div><div class="kpi-icon"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg></div></div></div>
<div class="kpi-card-sm kpi-b2"><div class="flex items-start justify-between"><div><p class="kpi-label">Work Orders</p><p class="kpi-value">1,284</p><span class="kpi-delta">▲ +12.7%</span></div><div class="kpi-icon"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"/></svg></div></div></div>
<div class="kpi-card-sm kpi-b3"><div class="flex items-start justify-between"><div><p class="kpi-label">Equipment</p><p class="kpi-value">3,241</p><span class="kpi-delta">▲ +2.1%</span></div><div class="kpi-icon"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z"/></svg></div></div></div>
<div class="kpi-card-sm kpi-b4"><div class="flex items-start justify-between"><div><p class="kpi-label">Uptime</p><p class="kpi-value">96.8%</p><span class="kpi-delta">▲ +1.4pp</span></div><div class="kpi-icon"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z"/></svg></div></div></div>
<div class="kpi-card-sm kpi-b5"><div class="flex items-start justify-between"><div><p class="kpi-label">MTBF</p><p class="kpi-value">486hrs</p><span class="kpi-delta">▲ +5.8%</span></div><div class="kpi-icon"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg></div></div></div>
<div class="kpi-card-sm kpi-b6"><div class="flex items-start justify-between"><div><p class="kpi-label">MTTR</p><p class="kpi-value">3.2hrs</p><span class="kpi-delta">▼ -0.4hrs</span></div><div class="kpi-icon"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"/></svg></div></div></div>
<div class="kpi-card-sm kpi-b7"><div class="flex items-start justify-between"><div><p class="kpi-label">Downtime</p><p class="kpi-value">124hrs</p><span class="kpi-delta">▼ -8.3%</span></div><div class="kpi-icon"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"/></svg></div></div></div>
<div class="kpi-card-sm kpi-b8"><div class="flex items-start justify-between"><div><p class="kpi-label">OEE Score</p><p class="kpi-value">84.6%</p><span class="kpi-delta">▲ +2.1pp</span></div><div class="kpi-icon"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/></svg></div></div></div>
</div>
</div>
</div>
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-1">
<div class="flex items-center justify-between mb-4"><div><h3 class="font-bold text-gray-900">Asset Metrics Matrix</h3><p class="text-xs text-gray-400 mt-0.5">Key indicators across all categories</p></div><span class="text-xs text-blue-600 font-semibold cursor-pointer hover:underline">View All →</span></div>
<div class="grid grid-cols-2 md:grid-cols-5 gap-2">
<div class="mm-cell"><div class="mm-icon mm-c1"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg></div><div><p class="mm-title">Total Assets</p><p class="mm-sub">527 ▲ 3.4%</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c2"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"/></svg></div><div><p class="mm-title">Work Orders</p><p class="mm-sub">1,284 ▲ 12.7%</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c3"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z"/></svg></div><div><p class="mm-title">Equipment</p><p class="mm-sub">3,241 ▲ 2.1%</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c4"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z"/></svg></div><div><p class="mm-title">Uptime</p><p class="mm-sub">96.8% ▲ 1.4pp</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c5"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg></div><div><p class="mm-title">MTBF</p><p class="mm-sub">486hrs ▲ 5.8%</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c6"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"/></svg></div><div><p class="mm-title">MTTR</p><p class="mm-sub">3.2hrs ▼ 0.4hrs</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c7"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"/></svg></div><div><p class="mm-title">Downtime</p><p class="mm-sub">124hrs ▼ 8.3%</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c8"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/></svg></div><div><p class="mm-title">OEE Score</p><p class="mm-sub">84.6% ▲ 2.1pp</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c9"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"/></svg></div><div><p class="mm-title">Spare Parts</p><p class="mm-sub">8,450 ▲ 11%</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c10"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg></div><div><p class="mm-title">Vendors</p><p class="mm-sub">142 ▲ 6%</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c11"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4"/></svg></div><div><p class="mm-title">Utilization</p><p class="mm-sub">78.4% ▲ 3.2%</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c12"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/></svg></div><div><p class="mm-title">Compliance</p><p class="mm-sub">94.2% ▲ 1.8pts</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c13"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"/></svg></div><div><p class="mm-title">Technicians</p><p class="mm-sub">87 ▲ 5</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c14"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z"/></svg></div><div><p class="mm-title">Facilities</p><p class="mm-sub">12 ▲ 1</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c15"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 21v-4m0 0V5a2 2 0 012-2h6.5l1 1H21l-3 6 3 6h-8.5l-1-1H5a2 2 0 00-2 2zm9-13.5V9h3.5"/></svg></div><div><p class="mm-title">PM Rate</p><p class="mm-sub">91.5% ▲ 4.1%</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c16"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/></svg></div><div><p class="mm-title">Response Time</p><p class="mm-sub">1.8hrs ▼ 0.3</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c17"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"/></svg></div><div><p class="mm-title">First Fix</p><p class="mm-sub">86.3% ▲ 2.4%</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c18"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z"/></svg></div><div><p class="mm-title">Cost/Work Order</p><p class="mm-sub">$420 ▼ $38</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c19"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/></svg></div><div><p class="mm-title">Parts Usage</p><p class="mm-sub">12,450 ▲ 845</p></div></div>
<div class="mm-cell"><div class="mm-icon mm-c20"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg></div><div><p class="mm-title">Asset Age</p><p class="mm-sub">6.8 years</p></div></div>
</div>
</div>
<div class="grid grid-cols-1 lg:grid-cols-3 gap-4">
<div class="lg:col-span-2 bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-2">
<div class="flex items-center justify-between mb-4">
<div><h3 class="font-bold text-gray-900">Asset Health</h3><p class="text-xs text-gray-400 mt-0.5">Asset condition vs maintenance</p></div>
<div class="flex items-center gap-3 text-xs">
<span class="flex items-center gap-1"><span class="w-3 h-3 rounded-sm" style="background:#2563eb;"></span> Revenue</span>
<span class="flex items-center gap-1"><span class="w-3 h-3 rounded-sm" style="background:#f97316;"></span> Maintenance</span>
</div>
</div>
<div class="chart-container" style="height:260px;"><canvas id="plChart"></canvas></div>
</div>
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-3">
<h3 class="font-bold text-gray-900 mb-1">Asset Category</h3>
<p class="text-xs text-gray-400 mb-3">By category this period</p>
<div class="flex justify-center"><div class="chart-container" style="height:170px;width:170px;"><canvas id="expenseChart"></canvas></div></div>
<div class="grid grid-cols-2 gap-1 mt-3 text-[10px]">
<div class="flex items-center gap-1"><span class="w-2 h-2 rounded-full" style="background:#2563eb"></span> Production <span class="font-semibold ml-auto">42%</span></div>
<div class="flex items-center gap-1"><span class="w-2 h-2 rounded-full" style="background:#f97316"></span> Utilities <span class="font-semibold ml-auto">22%</span></div>
<div class="flex items-center gap-1"><span class="w-2 h-2 rounded-full" style="background:#ec4899"></span> Infrastructure <span class="font-semibold ml-auto">15%</span></div>
<div class="flex items-center gap-1"><span class="w-2 h-2 rounded-full" style="background:#8b5cf6"></span> Transport <span class="font-semibold ml-auto">12%</span></div>
<div class="flex items-center gap-1"><span class="w-2 h-2 rounded-full" style="background:#06b6d4"></span> Facilities <span class="font-semibold ml-auto">9%</span></div>
</div>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-3">
<h3 class="font-bold text-gray-900 mb-1">Asset Summary</h3>
<p class="text-xs text-gray-400 mb-3">As of June 30, 2026</p>
<div class="space-y-2.5">
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc1"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Total Value</p><p class="text-sm font-bold text-gray-900">$24.8M</p></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc10"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 14l-7 7m0 0l-7-7m7 7V3"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Depreciation</p><p class="text-sm font-bold text-gray-900">$6.2M</p></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc2"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Net Book Value</p><p class="text-sm font-bold text-indigo-700">$18.6M</p></div>
</div>
<div class="flex items-center justify-between text-xs pt-2 border-t border-gray-100"><span>Avg Age</span><span class="font-semibold text-gray-900">6.8yrs</span><span>Health</span><span class="font-semibold text-gray-900">87.3%</span></div>
</div>
</div>
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-4">
<h3 class="font-bold text-gray-900 mb-1">Work Order Status</h3>
<p class="text-xs text-gray-400 mb-3">Work orders by priority</p>
<div class="space-y-2.5">
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc4"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Critical</p><p class="text-sm font-bold text-red-600">312</p></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc5"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">High</p><p class="text-sm font-bold text-amber-600">486</p></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc10"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.34 16.5c-.77.833.192 2.5 1.732 2.5z"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Medium</p><p class="text-sm font-bold text-gray-900">342</p></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc9"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Low</p><p class="text-sm font-bold text-indigo-700">144</p></div>
</div>
</div>
<div class="mt-2 flex justify-between text-xs"><span>OTIF: <b>87.4%</b></span><span>CBR: <b>94.2%</b></span></div>
</div>
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-5">
<h3 class="font-bold text-gray-900 mb-1">Maintenance Activity</h3>
<p class="text-xs text-gray-400 mb-3">Monthly movement</p>
<div class="chart-container" style="height:170px;"><canvas id="cashflowChart"></canvas></div>
<div class="grid grid-cols-3 gap-1 mt-3 text-[10px] text-center">
<div><span class="font-bold text-green-600">+142</span><p class="text-gray-400">PM</p></div>
<div><span class="font-bold text-green-600">+86</span><p class="text-gray-400">CM</p></div>
<div><span class="font-bold text-green-600">+312</span><p class="text-gray-400">Inspection</p></div>
</div>
</div>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-4">
<div class="flex items-center justify-between mb-4">
<div><h3 class="font-bold text-gray-900">Recent Work Orders</h3><p class="text-xs text-gray-400 mt-0.5">Latest maintenance tasks</p></div>
<span class="text-xs text-indigo-600 font-semibold cursor-pointer hover:underline">New Work Order →</span>
</div>
<div class="grid-wrap">
<table class="grid-table">
<thead><tr><th>Date</th><th>WO#</th><th>Description</th><th>Priority</th><th>Status</th></tr></thead>
<tbody>
<tr><td class="text-xs">Jun 30</td><td class="font-mono text-xs">WO-2026-0421</td><td>Monthly revenue recognition</td><td class="chip chip-blue">High</td><td><span class="chip chip-indigo">Completed</span></td></tr>
<tr><td class="text-xs">Jun 29</td><td class="font-mono text-xs">WO-2026-0420</td><td>Depreciation - June</td><td class="chip chip-blue">Medium</td><td><span class="chip chip-indigo">Completed</span></td></tr>
<tr><td class="text-xs">Jun 28</td><td class="font-mono text-xs">WO-2026-0419</td><td>Payroll accrual</td><td class="chip chip-blue">Low</td><td><span class="chip chip-indigo">Completed</span></td></tr>
<tr><td class="text-xs">Jun 27</td><td class="font-mono text-xs">WO-2026-0418</td><td>Tax provision - PPh 21</td><td class="chip chip-amber">Critical</td><td><span class="chip chip-amber">In Progress</span></td></tr>
</tbody>
</table>
</div>
<div class="mt-3 flex justify-between text-xs"><span>Open: <b class="text-amber-600">4 orders</b></span><span>Total orders: <b>1,284</b></span></div>
</div>
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-5">
<div class="flex items-center justify-between mb-4">
<div><h3 class="font-bold text-gray-900">Asset Activity</h3><p class="text-xs text-gray-400 mt-0.5">Real-time asset updates</p></div>
<span class="flex items-center gap-1.5 text-xs"><span class="w-2 h-2 rounded-full bg-indigo-400 animate-pulse"></span> <span class="text-indigo-600 font-medium">Live</span></span>
</div>
<div class="activity-feed divide-y divide-gray-100 pr-1">
<div class="flex gap-3 p-2 rounded-lg hover:bg-gray-50 transition">
<div class="w-8 h-8 rounded-full flex items-center justify-center text-white text-xs font-bold shrink-0" style="background:#10b981">AP</div>
<div class="min-w-0 flex-1"><p class="text-sm text-gray-700"><b>Invoice Paid</b> — INV-2026-0882</p><p class="text-xs text-gray-400 mt-0.5">📋 $24,500 Vendor: TechDistrib Net 30</p><p class="text-xs text-gray-400">12 min ago</p></div>
<span class="chip chip-green self-start">Paid</span>
</div>
<div class="flex gap-3 p-2 rounded-lg hover:bg-gray-50 transition">
<div class="w-8 h-8 rounded-full flex items-center justify-center text-white text-xs font-bold shrink-0" style="background:#2563eb">AR</div>
<div class="min-w-0 flex-1"><p class="text-sm text-gray-700"><b>Payment Received</b> — Customer: MegaCorp</p><p class="text-xs text-gray-400 mt-0.5">🧾 $86,200 Invoice INV-2026-0741</p><p class="text-xs text-gray-400">35 min ago</p></div>
<span class="chip chip-green self-start">Received</span>
</div>
<div class="flex gap-3 p-2 rounded-lg hover:bg-gray-50 transition">
<div class="w-8 h-8 rounded-full flex items-center justify-center text-white text-xs font-bold shrink-0" style="background:#6366f1">GL</div>
<div class="min-w-0 flex-1"><p class="text-sm text-gray-700"><b>Journal Posted</b> — Depreciation June</p><p class="text-xs text-gray-400 mt-0.5">🔧 $42,800 Fixed Assets depreciation</p><p class="text-xs text-gray-400">1 hour ago</p></div>
<span class="chip chip-indigo self-start">Posted</span>
</div>
<div class="flex gap-3 p-2 rounded-lg hover:bg-gray-50 transition">
<div class="w-8 h-8 rounded-full flex items-center justify-center text-white text-xs font-bold shrink-0" style="background:#f97316">TX</div>
<div class="min-w-0 flex-1"><p class="text-sm text-gray-700"><b>Tax Filing</b> — PPh 21 June</p><p class="text-xs text-gray-400 mt-0.5">· $38,400 Filing prepared for submission</p><p class="text-xs text-gray-400">2 hours ago</p></div>
<span class="chip chip-amber self-start">Pending</span>
</div>
</div>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-4">
<h3 class="font-bold text-gray-900 mb-1">PM Compliance</h3>
<p class="text-xs text-gray-400 mb-3">Q2 2026 performance</p>
<div class="space-y-2.5">
<div class="p-3 rounded-lg" style="background:#f8fafc;">
<div class="flex items-center gap-3">
<div class="gi gc1"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg></div>
<div class="flex-1 min-w-0">
<div class="flex justify-between items-center">
<p class="text-xs text-gray-500 font-semibold">Schedule</p>
<span class="text-[11px] font-semibold text-green-600">89% / 85%</span>
</div>
<div class="mt-2 progress-bar"><div class="fill" style="width:103%;background:#2563eb;"></div></div>
</div>
</div>
</div>
<div class="p-3 rounded-lg" style="background:#f8fafc;">
<div class="flex items-center gap-3">
<div class="gi gc5"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z"/></svg></div>
<div class="flex-1 min-w-0">
<div class="flex justify-between items-center">
<p class="text-xs text-gray-500 font-semibold">Priority</p>
<span class="text-[11px] font-semibold">92% / 90%</span>
</div>
<div class="mt-2 progress-bar"><div class="fill" style="width:102%;background:#f97316;"></div></div>
</div>
</div>
</div>
<div class="p-3 rounded-lg" style="background:#f8fafc;">
<div class="flex items-center gap-3">
<div class="gi gc3"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"/></svg></div>
<div class="flex-1 min-w-0">
<div class="flex justify-between items-center">
<p class="text-xs text-gray-500 font-semibold">Routine</p>
<span class="text-[11px] font-semibold text-green-600">95% / 90%</span>
</div>
<div class="mt-2 progress-bar"><div class="fill" style="width:94%;background:#ec4899;"></div></div>
</div>
</div>
</div>
<div class="p-3 rounded-lg" style="background:#f8fafc;">
<div class="flex items-center gap-3">
<div class="gi gc2"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"/></svg></div>
<div class="flex-1 min-w-0">
<div class="flex justify-between items-center">
<p class="text-xs text-gray-500 font-semibold">Emergency</p>
<span class="text-[11px] font-semibold text-green-600">78% / 75%</span>
</div>
<div class="mt-2 progress-bar"><div class="fill" style="width:112%;background:#10b981;"></div></div>
</div>
</div>
</div>
</div>
<div class="mt-3 pt-3 border-t border-gray-100 flex justify-between text-xs"><span>Target PM: <b class="text-green-600">92%</b></span><span class="text-indigo-600">On Track</span></div>
</div>
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-5">
<h3 class="font-bold text-gray-900 mb-1">Top Technicians</h3>
<p class="text-xs text-gray-400 mb-3">This quarter ranking</p>
<div class="space-y-2.5">
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc7"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Sarah M.</p><p class="text-sm font-bold text-gray-900">96.2%</p><span class="text-[10px] text-gray-400">124 orders</span></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc10"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 14l-7 7m0 0l-7-7m7 7V3"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">James C.</p><p class="text-sm font-bold text-amber-600">94.8%</p><span class="text-[10px] text-gray-400">112 orders</span></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc9"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Alex L.</p><p class="text-sm font-bold text-indigo-700">92.1%</p><span class="text-[10px] text-gray-400">98 orders</span></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc3"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Emma P.</p><p class="text-sm font-bold text-gray-900">89.7%</p><span class="text-[10px] text-gray-400">87 orders</span></div>
</div>
</div>
<div class="mt-2 flex justify-between text-xs"><span>Top Orders: <b>28</b></span><span>Avg Time: <b>4.2hrs</b></span></div>
</div>
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-6">
<h3 class="font-bold text-gray-900 mb-1">Maintenance Schedule</h3>
<p class="text-xs text-gray-400 mb-3">Upcoming PM tasks</p>
<div class="space-y-2.5">
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc4"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Weekly PM</p><p class="text-[10px] text-gray-400">Inspection route A</p></div>
<div class="text-right"><span class="chip chip-blue">Jul 10</span></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc8"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Biweekly PM</p><p class="text-[10px] text-gray-400">Equipment calibration</p></div>
<div class="text-right"><span class="chip chip-purple">Jul 15</span></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc11"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Monthly PM</p><p class="text-[10px] text-gray-400">HVAC service</p></div>
<div class="text-right"><span class="chip chip-orange">Jul 20</span></div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg" style="background:#f8fafc;">
<div class="gi gc10"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/></svg></div>
<div class="flex-1"><p class="text-xs text-gray-500">Quarterly</p><p class="text-[10px] text-gray-400">Generator test</p></div>
<div class="text-right"><span class="chip chip-red">Jul 30</span></div>
</div>
</div>
</div>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-5">
<div class="flex items-center justify-between mb-4">
<div><h3 class="font-bold text-gray-900">Asset Inventory</h3><p class="text-xs text-gray-400 mt-0.5">Top locations</p></div>
<span class="text-xs text-indigo-600 font-semibold cursor-pointer hover:underline">View Full →</span>
</div>
<div class="p-3 rounded-lg" style="background:#f8fafc;">
<div class="grid-wrap">
<table class="grid-table" style="background:transparent;">
<thead><tr><th>Asset ID</th><th>Asset Name</th><th>Value</th><th>Condition</th></tr></thead>
<tbody>
<tr><td class="font-mono text-xs">A-1000</td><td>CNC Machine #1</td><td class="font-mono text-xs text-green-600">$1,200,000</td><td><span class="chip chip-green">Good</span></td></tr>
<tr><td class="font-mono text-xs">A-2000</td><td>Conveyor Line #3</td><td class="font-mono text-xs text-green-600">$860,000</td><td><span class="chip chip-green">Good</span></td></tr>
<tr><td class="font-mono text-xs">A-3000</td><td>HVAC System</td><td class="font-mono text-xs text-green-600">$720,000</td><td><span class="chip chip-amber">Fair</span></td></tr>
<tr><td class="font-mono text-xs">A-4000</td><td>Boiler #2</td><td class="font-mono text-xs text-green-600">$580,000</td><td><span class="chip chip-amber">Fair</span></td></tr>
<tr><td class="font-mono text-xs">A-5000</td><td>Compressor #7</td><td class="font-mono text-xs text-green-600">$420,000</td><td><span class="chip chip-green">Good</span></td></tr>
<tr><td class="font-mono text-xs">A-6000</td><td>Chiller #1</td><td class="font-mono text-xs text-green-600">$650,000</td><td><span class="chip chip-red">Critical</span></td></tr>
<tr><td class="font-mono text-xs">A-7000</td><td>Pump Station #B</td><td class="font-mono text-xs text-green-600">$340,000</td><td><span class="chip chip-amber">Fair</span></td></tr>
<tr><td class="font-mono text-xs">A-8000</td><td>Transformer #1</td><td class="font-mono text-xs text-green-600">$510,000</td><td><span class="chip chip-green">Good</span></td></tr>
<tr><td class="font-mono text-xs">A-9000</td><td>Elevator #3</td><td class="font-mono text-xs text-green-600">$280,000</td><td><span class="chip chip-amber">Fair</span></td></tr>
<tr><td class="font-mono text-xs">A-9100</td><td>Robot Arm #2</td><td class="font-mono text-xs text-green-600">$950,000</td><td><span class="chip chip-green">Good</span></td></tr>
<tr><td class="font-mono text-xs">A-9200</td><td>Generator #1</td><td class="font-mono text-xs text-green-600">$390,000</td><td><span class="chip chip-amber">Fair</span></td></tr>
<tr><td class="font-mono text-xs">A-9300</td><td>Cooling Tower</td><td class="font-mono text-xs text-green-600">$460,000</td><td><span class="chip chip-green">Good</span></td></tr>
</tbody>
</table>
</div>
</div>
<div class="mt-3 pt-3 border-t border-gray-100 flex justify-between text-xs font-semibold"><span>Total Assets: <span class="text-green-600">527</span></span><span>Avg Health: <span class="text-red-600">87.3%</span></span></div>
</div>
<div class="bg-white rounded-xl border border-gray-100 p-5 anim-fade anim-delay-6">
<div class="flex items-center justify-between mb-4">
<div><h3 class="font-bold text-gray-900">Upcoming Inspections</h3><p class="text-xs text-gray-400 mt-0.5">Inspections due next 14 days</p></div>
<span class="text-xs text-indigo-600 font-semibold cursor-pointer hover:underline">Manage Inspections →</span>
</div>
<div class="p-3 rounded-lg" style="background:#f8fafc;">
<div class="grid-wrap">
<table class="grid-table" style="background:transparent;">
<thead><tr><th>Asset</th><th>Location</th><th>Amount</th><th>Due Date</th><th>Status</th></tr></thead>
<tbody>
<tr><td class="font-mono text-xs">AS-0882</td><td>Production Line A</td><td class="font-mono text-xs">$24,500</td><td class="text-xs">Jul 05</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0885</td><td>Warehouse B</td><td class="font-mono text-xs">$12,800</td><td class="text-xs">Jul 08</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0888</td><td>Office Building</td><td class="font-mono text-xs">$6,200</td><td class="text-xs">Jul 10</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0890</td><td>Fleet Garage</td><td class="font-mono text-xs">$18,000</td><td class="text-xs">Jul 12</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0875</td><td>Cooling Tower</td><td class="font-mono text-xs">$32,000</td><td class="text-xs">Jul 03</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0901</td><td>Boiler Room</td><td class="font-mono text-xs">$45,200</td><td class="text-xs">Jul 02</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0902</td><td>HVAC System</td><td class="font-mono text-xs">$15,600</td><td class="text-xs">Jul 04</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0903</td><td>Generator Room</td><td class="font-mono text-xs">$28,900</td><td class="text-xs">Jul 05</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0904</td><td>Pump Station</td><td class="font-mono text-xs">$8,750</td><td class="text-xs">Jul 07</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0905</td><td>Compressor</td><td class="font-mono text-xs">$19,300</td><td class="text-xs">Jul 09</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0906</td><td>Conveyor Belt</td><td class="font-mono text-xs">$11,400</td><td class="text-xs">Jul 11</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0907</td><td>Security System</td><td class="font-mono text-xs">$36,800</td><td class="text-xs">Jul 13</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0908</td><td>Fire Alarm</td><td class="font-mono text-xs">$9,200</td><td class="text-xs">Jul 14</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0909</td><td>Elevator</td><td class="font-mono text-xs">$22,600</td><td class="text-xs">Jul 15</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0910</td><td>Server Room</td><td class="font-mono text-xs">$14,100</td><td class="text-xs">Jul 16</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0911</td><td>Solar Panels</td><td class="font-mono text-xs">$41,500</td><td class="text-xs">Jun 28</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0912</td><td>Water Treatment</td><td class="font-mono text-xs">$7,800</td><td class="text-xs">Jun 30</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0913</td><td>Lab Equipment</td><td class="font-mono text-xs">$5,400</td><td class="text-xs">Jul 01</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0914</td><td>Packaging Line</td><td class="font-mono text-xs">$16,200</td><td class="text-xs">Jul 02</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0915</td><td>Cooling System</td><td class="font-mono text-xs">$33,000</td><td class="text-xs">Jul 04</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0916</td><td>Ventilation</td><td class="font-mono text-xs">$10,500</td><td class="text-xs">Jul 06</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0917</td><td>Lighting System</td><td class="font-mono text-xs">$27,300</td><td class="text-xs">Jul 08</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0918</td><td>Drainage System</td><td class="font-mono text-xs">$6,800</td><td class="text-xs">Jul 10</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0919</td><td>CCTV Network</td><td class="font-mono text-xs">$38,100</td><td class="text-xs">Jul 12</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0920</td><td>Access Control</td><td class="font-mono text-xs">$13,400</td><td class="text-xs">Jul 14</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0921</td><td>Chiller Plant</td><td class="font-mono text-xs">$21,000</td><td class="text-xs">Jul 16</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0922</td><td>Air Handling</td><td class="font-mono text-xs">$9,600</td><td class="text-xs">Jul 17</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0923</td><td>Heat Exchanger</td><td class="font-mono text-xs">$17,800</td><td class="text-xs">Jun 29</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0924</td><td>Motor Control</td><td class="font-mono text-xs">$4,200</td><td class="text-xs">Jun 30</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0925</td><td>Transformer</td><td class="font-mono text-xs">$29,500</td><td class="text-xs">Jul 01</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0926</td><td>Switchgear</td><td class="font-mono text-xs">$11,200</td><td class="text-xs">Jul 03</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0927</td><td>UPS System</td><td class="font-mono text-xs">$25,400</td><td class="text-xs">Jul 06</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0928</td><td>Battery Bank</td><td class="font-mono text-xs">$7,100</td><td class="text-xs">Jul 09</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0929</td><td>Sprinkler System</td><td class="font-mono text-xs">$34,600</td><td class="text-xs">Jul 11</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0930</td><td>Smoke Detector</td><td class="font-mono text-xs">$18,900</td><td class="text-xs">Jul 13</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0931</td><td>Escalator</td><td class="font-mono text-xs">$8,300</td><td class="text-xs">Jul 15</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0932</td><td>Dock Leveler</td><td class="font-mono text-xs">$42,000</td><td class="text-xs">Jul 17</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0933</td><td>Scaffolding</td><td class="font-mono text-xs">$5,800</td><td class="text-xs">Jul 18</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0934</td><td>Crane System</td><td class="font-mono text-xs">$15,500</td><td class="text-xs">Jun 27</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0935</td><td>Forklift Fleet</td><td class="font-mono text-xs">$23,100</td><td class="text-xs">Jun 29</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0936</td><td>Concrete Mixer</td><td class="font-mono text-xs">$9,900</td><td class="text-xs">Jul 02</td><td><span class="chip chip-red">Overdue</span></td></tr>
<tr><td class="font-mono text-xs">AS-0937</td><td>Welding Station</td><td class="font-mono text-xs">$31,200</td><td class="text-xs">Jul 05</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0938</td><td>Lathe Machine</td><td class="font-mono text-xs">$6,400</td><td class="text-xs">Jul 07</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0939</td><td>CNC Machine</td><td class="font-mono text-xs">$19,700</td><td class="text-xs">Jul 09</td><td><span class="chip chip-amber">Due Soon</span></td></tr>
<tr><td class="font-mono text-xs">AS-0940</td><td>Press Machine</td><td class="font-mono text-xs">$12,300</td><td class="text-xs">Jul 11</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0941</td><td>Assembly Line</td><td class="font-mono text-xs">$28,400</td><td class="text-xs">Jul 14</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0942</td><td>Packaging Robot</td><td class="font-mono text-xs">$7,500</td><td class="text-xs">Jul 16</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0943</td><td>Quality Scanner</td><td class="font-mono text-xs">$35,200</td><td class="text-xs">Jul 18</td><td><span class="chip chip-indigo">Future</span></td></tr>
<tr><td class="font-mono text-xs">AS-0944</td><td>Label Printer</td><td class="font-mono text-xs">$10,800</td><td class="text-xs">Jul 19</td><td><span class="chip chip-indigo">Future</span></td></tr>
</tbody>
</table>
</div>
</div>
<div class="mt-3 pt-3 border-t border-gray-100 flex justify-between text-xs"><span>Total Due: <b class="text-gray-900">18</b></span><span>Overdue: <b class="text-red-500">6</b></span></div>
</div>
</div>
</div>
@section Scripts {
<script src="/js/dashboard-eam.js" asp-append-version="true"></script>
}