Files
2026-05-09 16:44:23 +00:00

454 lines
35 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>HRPanel v3 — Dashboard</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet" />
<style>
body { font-family: 'Inter', sans-serif; }
.sidebar-item { @apply flex items-center gap-3 px-3 py-2.5 rounded-lg text-sm font-medium text-slate-600 hover:bg-slate-50 hover:text-slate-900 transition-colors cursor-pointer; }
.sidebar-item.active { background-color: #EFF6FF; color: #2563EB; }
.bar { display: inline-block; width: 28px; border-radius: 4px 4px 0 0; background: #2563EB; }
.bar-light { background: #BFDBFE; }
</style>
</head>
<body class="bg-slate-50 min-h-screen">
<div class="flex h-screen overflow-hidden">
<!-- Sidebar -->
<aside class="w-64 flex-shrink-0 bg-white border-r border-slate-200 flex flex-col h-screen overflow-y-auto">
<!-- Logo -->
<div class="h-16 flex items-center px-5 border-b border-slate-100">
<div class="flex items-center gap-2.5">
<div class="w-8 h-8 bg-blue-600 rounded-lg flex items-center justify-center">
<svg class="w-5 h-5 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
<path stroke-linecap="round" stroke-linejoin="round" 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 0z" />
</svg>
</div>
<span class="font-bold text-slate-900 text-base">HRPanel</span>
<span class="text-xs bg-blue-100 text-blue-600 font-semibold px-1.5 py-0.5 rounded">v3</span>
</div>
</div>
<!-- Nav -->
<nav class="flex-1 px-3 py-4 space-y-0.5">
<a href="02-dashboard.html" class="sidebar-item active">
<svg class="w-4.5 h-4.5 w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1" /><rect x="14" y="3" width="7" height="7" rx="1" /><rect x="3" y="14" width="7" height="7" rx="1" /><rect x="14" y="14" width="7" height="7" rx="1" /></svg>
Dashboard
</a>
<a href="03-employees.html" class="sidebar-item">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" 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 0z" /></svg>
Employees
</a>
<a href="#" class="sidebar-item">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" 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>
Departments
</a>
<a href="05-leave-management.html" class="sidebar-item">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" 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>
Leave
</a>
<a href="06-attendance.html" class="sidebar-item">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
Attendance
</a>
<a href="07-payroll.html" class="sidebar-item">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><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>
Payroll
</a>
<a href="08-recruitment.html" class="sidebar-item">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" 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>
Recruitment
</a>
<a href="10-performance.html" class="sidebar-item">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" 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>
Performance
</a>
<a href="11-reports.html" class="sidebar-item">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" /></svg>
Reports
</a>
<div class="pt-2 pb-1"><div class="h-px bg-slate-100"></div></div>
<a href="12-settings.html" class="sidebar-item">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z" /><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" /></svg>
Settings
</a>
</nav>
<!-- User card -->
<div class="px-3 py-4 border-t border-slate-100">
<div class="flex items-center gap-3 px-2 py-2 rounded-lg hover:bg-slate-50 cursor-pointer">
<img src="https://ui-avatars.com/api/?name=Sarah+Chen&background=2563EB&color=fff&size=128" class="w-8 h-8 rounded-full" />
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-slate-900 truncate">Sarah Chen</p>
<p class="text-xs text-slate-500 truncate">HR Administrator</p>
</div>
<svg class="w-4 h-4 text-slate-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M8 9l4-4 4 4m0 6l-4 4-4-4" /></svg>
</div>
</div>
</aside>
<!-- Main content -->
<div class="flex-1 flex flex-col overflow-hidden">
<!-- Top navbar -->
<header class="h-16 bg-white border-b border-slate-200 flex items-center justify-between px-6 flex-shrink-0">
<div class="flex items-center gap-3">
<div class="relative">
<svg class="w-4 h-4 text-slate-400 absolute left-3 top-1/2 -translate-y-1/2" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" /></svg>
<input type="text" placeholder="Search employees, docs..." class="pl-9 pr-4 py-2 bg-slate-50 border border-slate-200 rounded-lg text-sm text-slate-700 focus:outline-none focus:ring-2 focus:ring-blue-500 w-72 placeholder-slate-400" />
</div>
</div>
<div class="flex items-center gap-3">
<button class="relative w-9 h-9 flex items-center justify-center rounded-lg hover:bg-slate-50 text-slate-600">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" /></svg>
<span class="absolute top-1.5 right-1.5 w-4 h-4 bg-red-500 text-white text-xs font-bold rounded-full flex items-center justify-center leading-none" style="font-size:10px;">3</span>
</button>
<button class="relative w-9 h-9 flex items-center justify-center rounded-lg hover:bg-slate-50 text-slate-600">
<svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M8 10h.01M12 10h.01M16 10h.01M9 16H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-5l-5 5v-5z" /></svg>
</button>
<div class="w-px h-6 bg-slate-200"></div>
<div class="flex items-center gap-2.5 cursor-pointer hover:bg-slate-50 rounded-lg px-2 py-1.5">
<img src="https://ui-avatars.com/api/?name=Sarah+Chen&background=2563EB&color=fff&size=128" class="w-8 h-8 rounded-full" />
<div>
<p class="text-sm font-medium text-slate-900">Sarah Chen</p>
<p class="text-xs text-slate-500">Admin</p>
</div>
<svg class="w-4 h-4 text-slate-400" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" /></svg>
</div>
</div>
</header>
<!-- Scrollable content -->
<main class="flex-1 overflow-y-auto p-6 space-y-6">
<!-- Greeting -->
<div class="flex items-center justify-between">
<div>
<h1 class="text-2xl font-bold text-slate-900">Good morning, Sarah! 👋</h1>
<p class="text-slate-500 text-sm mt-0.5">Friday, 9 May 2026 — Here's what's happening today.</p>
</div>
<button class="flex items-center gap-2 bg-blue-600 hover:bg-blue-700 text-white text-sm font-semibold px-4 py-2 rounded-lg transition-colors">
<svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4v16m8-8H4" /></svg>
Add Employee
</button>
</div>
<!-- KPI row -->
<div class="grid grid-cols-4 gap-4">
<div class="bg-white rounded-xl border border-slate-200 p-5 hover:shadow-md transition-shadow">
<div class="flex items-start justify-between mb-3">
<div class="w-10 h-10 bg-blue-50 rounded-lg flex items-center justify-center">
<svg class="w-5 h-5 text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" 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 0z" /></svg>
</div>
<span class="text-xs font-medium text-emerald-600 bg-emerald-50 px-2 py-0.5 rounded-full">+4 this month</span>
</div>
<p class="text-3xl font-bold text-slate-900">142</p>
<p class="text-sm text-slate-500 mt-0.5">Total Employees</p>
</div>
<div class="bg-white rounded-xl border border-slate-200 p-5 hover:shadow-md transition-shadow">
<div class="flex items-start justify-between mb-3">
<div class="w-10 h-10 bg-amber-50 rounded-lg flex items-center justify-center">
<svg class="w-5 h-5 text-amber-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" 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>
<span class="text-xs font-medium text-amber-600 bg-amber-50 px-2 py-0.5 rounded-full">2 returning</span>
</div>
<p class="text-3xl font-bold text-slate-900">8</p>
<p class="text-sm text-slate-500 mt-0.5">On Leave Today</p>
</div>
<div class="bg-white rounded-xl border border-slate-200 p-5 hover:shadow-md transition-shadow">
<div class="flex items-start justify-between mb-3">
<div class="w-10 h-10 bg-rose-50 rounded-lg flex items-center justify-center">
<svg class="w-5 h-5 text-rose-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
</div>
<span class="text-xs font-medium text-rose-600 bg-rose-50 px-2 py-0.5 rounded-full">Needs action</span>
</div>
<p class="text-3xl font-bold text-slate-900">5</p>
<p class="text-sm text-slate-500 mt-0.5">Pending Approvals</p>
</div>
<div class="bg-white rounded-xl border border-slate-200 p-5 hover:shadow-md transition-shadow">
<div class="flex items-start justify-between mb-3">
<div class="w-10 h-10 bg-emerald-50 rounded-lg flex items-center justify-center">
<svg class="w-5 h-5 text-emerald-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><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>
<span class="text-xs font-medium text-emerald-600 bg-emerald-50 px-2 py-0.5 rounded-full">+2.1%</span>
</div>
<p class="text-3xl font-bold text-slate-900">$284.5K</p>
<p class="text-sm text-slate-500 mt-0.5">Monthly Payroll</p>
</div>
</div>
<!-- Row 2: Chart + Leave Requests -->
<div class="grid grid-cols-5 gap-4">
<!-- Attendance Overview Chart -->
<div class="col-span-3 bg-white rounded-xl border border-slate-200 p-5 hover:shadow-md transition-shadow">
<div class="flex items-center justify-between mb-5">
<div>
<h3 class="font-semibold text-slate-900 text-base">Attendance Overview</h3>
<p class="text-xs text-slate-500 mt-0.5">Last 7 days</p>
</div>
<div class="flex items-center gap-4 text-xs">
<span class="flex items-center gap-1.5"><span class="w-3 h-3 rounded-sm inline-block" style="background:#2563EB"></span>Present</span>
<span class="flex items-center gap-1.5"><span class="w-3 h-3 rounded-sm inline-block" style="background:#BFDBFE"></span>Leave</span>
<span class="flex items-center gap-1.5"><span class="w-3 h-3 rounded-sm inline-block" style="background:#FEE2E2"></span>Absent</span>
</div>
</div>
<!-- Bar chart -->
<div class="flex items-end justify-between gap-2 h-40">
<!-- Mon -->
<div class="flex-1 flex flex-col items-center gap-1">
<div class="w-full flex flex-col items-center gap-0.5">
<div class="w-full rounded-t" style="height:110px;background:#2563EB;border-radius:4px 4px 0 0;"></div>
<div class="w-full" style="height:12px;background:#BFDBFE;"></div>
<div class="w-full rounded-b" style="height:4px;background:#FEE2E2;border-radius:0 0 4px 4px;"></div>
</div>
<span class="text-xs text-slate-400">Mon</span>
</div>
<div class="flex-1 flex flex-col items-center gap-1">
<div class="w-full flex flex-col items-center gap-0.5">
<div class="w-full rounded-t" style="height:105px;background:#2563EB;border-radius:4px 4px 0 0;"></div>
<div class="w-full" style="height:16px;background:#BFDBFE;"></div>
<div class="w-full rounded-b" style="height:5px;background:#FEE2E2;border-radius:0 0 4px 4px;"></div>
</div>
<span class="text-xs text-slate-400">Tue</span>
</div>
<div class="flex-1 flex flex-col items-center gap-1">
<div class="w-full flex flex-col items-center gap-0.5">
<div class="w-full rounded-t" style="height:118px;background:#2563EB;border-radius:4px 4px 0 0;"></div>
<div class="w-full" style="height:10px;background:#BFDBFE;"></div>
<div class="w-full rounded-b" style="height:3px;background:#FEE2E2;border-radius:0 0 4px 4px;"></div>
</div>
<span class="text-xs text-slate-400">Wed</span>
</div>
<div class="flex-1 flex flex-col items-center gap-1">
<div class="w-full flex flex-col items-center gap-0.5">
<div class="w-full rounded-t" style="height:100px;background:#2563EB;border-radius:4px 4px 0 0;"></div>
<div class="w-full" style="height:18px;background:#BFDBFE;"></div>
<div class="w-full rounded-b" style="height:8px;background:#FEE2E2;border-radius:0 0 4px 4px;"></div>
</div>
<span class="text-xs text-slate-400">Thu</span>
</div>
<div class="flex-1 flex flex-col items-center gap-1">
<div class="w-full flex flex-col items-center gap-0.5">
<div class="w-full rounded-t" style="height:115px;background:#2563EB;border-radius:4px 4px 0 0;"></div>
<div class="w-full" style="height:12px;background:#BFDBFE;"></div>
<div class="w-full rounded-b" style="height:4px;background:#FEE2E2;border-radius:0 0 4px 4px;"></div>
</div>
<span class="text-xs text-slate-400">Fri</span>
</div>
<div class="flex-1 flex flex-col items-center gap-1">
<div class="w-full flex flex-col items-center gap-0.5">
<div class="w-full rounded-t" style="height:30px;background:#E2E8F0;border-radius:4px 4px 0 0;"></div>
<div class="w-full" style="height:6px;background:#E2E8F0;"></div>
<div class="w-full rounded-b" style="height:2px;background:#E2E8F0;border-radius:0 0 4px 4px;"></div>
</div>
<span class="text-xs text-slate-400">Sat</span>
</div>
<div class="flex-1 flex flex-col items-center gap-1">
<div class="w-full flex flex-col items-center gap-0.5">
<div class="w-full rounded-t" style="height:24px;background:#E2E8F0;border-radius:4px 4px 0 0;"></div>
<div class="w-full" style="height:4px;background:#E2E8F0;"></div>
<div class="w-full rounded-b" style="height:2px;background:#E2E8F0;border-radius:0 0 4px 4px;"></div>
</div>
<span class="text-xs text-slate-400">Sun</span>
</div>
</div>
</div>
<!-- Leave Requests -->
<div class="col-span-2 bg-white rounded-xl border border-slate-200 p-5 hover:shadow-md transition-shadow">
<div class="flex items-center justify-between mb-4">
<h3 class="font-semibold text-slate-900 text-base">Leave Requests</h3>
<span class="text-xs bg-amber-100 text-amber-700 font-semibold px-2 py-0.5 rounded-full">5 pending</span>
</div>
<div class="space-y-3">
<div class="flex items-center gap-3 p-2.5 rounded-lg bg-slate-50">
<img src="https://ui-avatars.com/api/?name=James+Liu&background=7C3AED&color=fff&size=64" class="w-8 h-8 rounded-full flex-shrink-0" />
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-slate-900 truncate">James Liu</p>
<p class="text-xs text-slate-500">May 1214 · Annual Leave</p>
</div>
<div class="flex gap-1">
<button class="w-6 h-6 rounded flex items-center justify-center bg-emerald-50 text-emerald-600 hover:bg-emerald-100">
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /></svg>
</button>
<button class="w-6 h-6 rounded flex items-center justify-center bg-red-50 text-red-500 hover:bg-red-100">
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>
</button>
</div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg bg-slate-50">
<img src="https://ui-avatars.com/api/?name=Priya+Sharma&background=059669&color=fff&size=64" class="w-8 h-8 rounded-full flex-shrink-0" />
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-slate-900 truncate">Priya Sharma</p>
<p class="text-xs text-slate-500">May 15 · Sick Leave</p>
</div>
<div class="flex gap-1">
<button class="w-6 h-6 rounded flex items-center justify-center bg-emerald-50 text-emerald-600 hover:bg-emerald-100">
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /></svg>
</button>
<button class="w-6 h-6 rounded flex items-center justify-center bg-red-50 text-red-500 hover:bg-red-100">
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>
</button>
</div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg bg-slate-50">
<img src="https://ui-avatars.com/api/?name=Michael+Torres&background=D97706&color=fff&size=64" class="w-8 h-8 rounded-full flex-shrink-0" />
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-slate-900 truncate">Michael Torres</p>
<p class="text-xs text-slate-500">May 1822 · Annual Leave</p>
</div>
<div class="flex gap-1">
<button class="w-6 h-6 rounded flex items-center justify-center bg-emerald-50 text-emerald-600 hover:bg-emerald-100">
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /></svg>
</button>
<button class="w-6 h-6 rounded flex items-center justify-center bg-red-50 text-red-500 hover:bg-red-100">
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>
</button>
</div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg bg-slate-50">
<img src="https://ui-avatars.com/api/?name=Elena+Vasquez&background=BE185D&color=fff&size=64" class="w-8 h-8 rounded-full flex-shrink-0" />
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-slate-900 truncate">Elena Vasquez</p>
<p class="text-xs text-slate-500">May 20 · Personal Leave</p>
</div>
<div class="flex gap-1">
<button class="w-6 h-6 rounded flex items-center justify-center bg-emerald-50 text-emerald-600 hover:bg-emerald-100">
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /></svg>
</button>
<button class="w-6 h-6 rounded flex items-center justify-center bg-red-50 text-red-500 hover:bg-red-100">
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>
</button>
</div>
</div>
<div class="flex items-center gap-3 p-2.5 rounded-lg bg-slate-50">
<img src="https://ui-avatars.com/api/?name=David+Kim&background=0891B2&color=fff&size=64" class="w-8 h-8 rounded-full flex-shrink-0" />
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-slate-900 truncate">David Kim</p>
<p class="text-xs text-slate-500">May 2325 · Annual Leave</p>
</div>
<div class="flex gap-1">
<button class="w-6 h-6 rounded flex items-center justify-center bg-emerald-50 text-emerald-600 hover:bg-emerald-100">
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7" /></svg>
</button>
<button class="w-6 h-6 rounded flex items-center justify-center bg-red-50 text-red-500 hover:bg-red-100">
<svg class="w-3.5 h-3.5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="3"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>
</button>
</div>
</div>
</div>
</div>
</div>
<!-- Row 3: Recent Hires + Quick Actions -->
<div class="grid grid-cols-5 gap-4">
<!-- Recent Hires -->
<div class="col-span-3 bg-white rounded-xl border border-slate-200 p-5 hover:shadow-md transition-shadow">
<div class="flex items-center justify-between mb-4">
<h3 class="font-semibold text-slate-900 text-base">Recent Hires</h3>
<a href="03-employees.html" class="text-xs text-blue-600 font-medium hover:text-blue-700">View all →</a>
</div>
<div class="grid grid-cols-3 gap-3">
<div class="p-4 border border-slate-100 rounded-xl text-center hover:border-blue-200 hover:bg-blue-50/30 transition-colors cursor-pointer">
<img src="https://ui-avatars.com/api/?name=Alex+Morgan&background=2563EB&color=fff&size=128" class="w-12 h-12 rounded-full mx-auto mb-2" />
<p class="text-sm font-semibold text-slate-900">Alex Morgan</p>
<p class="text-xs text-slate-500">Frontend Engineer</p>
<span class="inline-block mt-1.5 text-xs bg-blue-50 text-blue-700 px-2 py-0.5 rounded-full font-medium">Engineering</span>
<p class="text-xs text-slate-400 mt-1.5">Joined May 1, 2026</p>
</div>
<div class="p-4 border border-slate-100 rounded-xl text-center hover:border-blue-200 hover:bg-blue-50/30 transition-colors cursor-pointer">
<img src="https://ui-avatars.com/api/?name=Rachel+Park&background=7C3AED&color=fff&size=128" class="w-12 h-12 rounded-full mx-auto mb-2" />
<p class="text-sm font-semibold text-slate-900">Rachel Park</p>
<p class="text-xs text-slate-500">Product Designer</p>
<span class="inline-block mt-1.5 text-xs bg-purple-50 text-purple-700 px-2 py-0.5 rounded-full font-medium">Design</span>
<p class="text-xs text-slate-400 mt-1.5">Joined May 5, 2026</p>
</div>
<div class="p-4 border border-slate-100 rounded-xl text-center hover:border-blue-200 hover:bg-blue-50/30 transition-colors cursor-pointer">
<img src="https://ui-avatars.com/api/?name=Nathan+Hughes&background=059669&color=fff&size=128" class="w-12 h-12 rounded-full mx-auto mb-2" />
<p class="text-sm font-semibold text-slate-900">Nathan Hughes</p>
<p class="text-xs text-slate-500">Sales Executive</p>
<span class="inline-block mt-1.5 text-xs bg-emerald-50 text-emerald-700 px-2 py-0.5 rounded-full font-medium">Sales</span>
<p class="text-xs text-slate-400 mt-1.5">Joined May 8, 2026</p>
</div>
</div>
</div>
<!-- Quick Actions -->
<div class="col-span-2 bg-white rounded-xl border border-slate-200 p-5 hover:shadow-md transition-shadow">
<h3 class="font-semibold text-slate-900 text-base mb-4">Quick Actions</h3>
<div class="grid grid-cols-2 gap-3">
<button class="flex flex-col items-center gap-2 p-4 border border-slate-200 rounded-xl hover:border-blue-300 hover:bg-blue-50/40 transition-colors group">
<div class="w-10 h-10 bg-blue-100 group-hover:bg-blue-200 rounded-lg flex items-center justify-center transition-colors">
<svg class="w-5 h-5 text-blue-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M18 9v3m0 0v3m0-3h3m-3 0h-3m-2-5a4 4 0 11-8 0 4 4 0 018 0zM3 20a6 6 0 0112 0v1H3v-1z" /></svg>
</div>
<span class="text-xs font-medium text-slate-700">Add Employee</span>
</button>
<button class="flex flex-col items-center gap-2 p-4 border border-slate-200 rounded-xl hover:border-emerald-300 hover:bg-emerald-50/40 transition-colors group">
<div class="w-10 h-10 bg-emerald-100 group-hover:bg-emerald-200 rounded-lg flex items-center justify-center transition-colors">
<svg class="w-5 h-5 text-emerald-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><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>
<span class="text-xs font-medium text-slate-700">Run Payroll</span>
</button>
<button class="flex flex-col items-center gap-2 p-4 border border-slate-200 rounded-xl hover:border-violet-300 hover:bg-violet-50/40 transition-colors group">
<div class="w-10 h-10 bg-violet-100 group-hover:bg-violet-200 rounded-lg flex items-center justify-center transition-colors">
<svg class="w-5 h-5 text-violet-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" 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>
<span class="text-xs font-medium text-slate-700">Post Job</span>
</button>
<button class="flex flex-col items-center gap-2 p-4 border border-slate-200 rounded-xl hover:border-amber-300 hover:bg-amber-50/40 transition-colors group">
<div class="w-10 h-10 bg-amber-100 group-hover:bg-amber-200 rounded-lg flex items-center justify-center transition-colors">
<svg class="w-5 h-5 text-amber-600" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" /></svg>
</div>
<span class="text-xs font-medium text-slate-700">View Reports</span>
</button>
</div>
</div>
</div>
<!-- Birthdays & Anniversaries -->
<div class="bg-white rounded-xl border border-slate-200 p-5 hover:shadow-md transition-shadow">
<div class="flex items-center justify-between mb-4">
<h3 class="font-semibold text-slate-900 text-base flex items-center gap-2">
<span class="text-lg">🎂</span> Upcoming Birthdays &amp; Work Anniversaries
</h3>
<span class="text-xs text-slate-500">Next 7 days</span>
</div>
<div class="flex items-center gap-4 overflow-x-auto pb-1">
<div class="flex items-center gap-3 px-4 py-3 bg-blue-50 rounded-xl min-w-fit border border-blue-100">
<img src="https://ui-avatars.com/api/?name=Lisa+Park&background=DB2777&color=fff&size=64" class="w-9 h-9 rounded-full" />
<div>
<p class="text-sm font-medium text-slate-900">Lisa Park</p>
<p class="text-xs text-slate-500">Birthday — May 11</p>
</div>
<span class="text-xs bg-pink-100 text-pink-600 px-2 py-0.5 rounded-full font-medium ml-1">Tomorrow</span>
</div>
<div class="flex items-center gap-3 px-4 py-3 bg-amber-50 rounded-xl min-w-fit border border-amber-100">
<img src="https://ui-avatars.com/api/?name=Tom+Bradley&background=D97706&color=fff&size=64" class="w-9 h-9 rounded-full" />
<div>
<p class="text-sm font-medium text-slate-900">Tom Bradley</p>
<p class="text-xs text-slate-500">5-Year Anniversary — May 13</p>
</div>
<span class="text-xs bg-amber-100 text-amber-700 px-2 py-0.5 rounded-full font-medium ml-1">3 days</span>
</div>
<div class="flex items-center gap-3 px-4 py-3 bg-emerald-50 rounded-xl min-w-fit border border-emerald-100">
<img src="https://ui-avatars.com/api/?name=Aisha+Patel&background=059669&color=fff&size=64" class="w-9 h-9 rounded-full" />
<div>
<p class="text-sm font-medium text-slate-900">Aisha Patel</p>
<p class="text-xs text-slate-500">Birthday — May 15</p>
</div>
<span class="text-xs bg-emerald-100 text-emerald-700 px-2 py-0.5 rounded-full font-medium ml-1">6 days</span>
</div>
<div class="flex items-center gap-3 px-4 py-3 bg-violet-50 rounded-xl min-w-fit border border-violet-100">
<img src="https://ui-avatars.com/api/?name=Chris+Walton&background=7C3AED&color=fff&size=64" class="w-9 h-9 rounded-full" />
<div>
<p class="text-sm font-medium text-slate-900">Chris Walton</p>
<p class="text-xs text-slate-500">2-Year Anniversary — May 16</p>
</div>
<span class="text-xs bg-violet-100 text-violet-700 px-2 py-0.5 rounded-full font-medium ml-1">7 days</span>
</div>
</div>
</div>
</main>
</div>
</div>
</body>
</html>