309 lines
20 KiB
HTML
309 lines
20 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" data-theme="forest">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>CLQMS - Dashboard</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/daisyui@5" rel="stylesheet" type="text/css" />
|
|
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
|
|
<link rel="stylesheet" href="shared.css">
|
|
<style>
|
|
/* Mobile: drawer overlay behavior */
|
|
@media (max-width: 1023px) {
|
|
.sidebar-container {
|
|
position: fixed;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100vh;
|
|
z-index: 40;
|
|
transform: translateX(-100%);
|
|
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
#sidebar-toggle:checked ~ .sidebar-container {
|
|
transform: translateX(0);
|
|
}
|
|
|
|
#sidebar-toggle:checked ~ .main-content {
|
|
margin-left: 0;
|
|
}
|
|
|
|
.overlay {
|
|
display: block;
|
|
position: fixed;
|
|
inset: 0;
|
|
background-color: rgba(0, 0, 0, 0.5);
|
|
z-index: 30;
|
|
opacity: 0;
|
|
visibility: hidden;
|
|
transition: opacity 0.3s, visibility 0.3s;
|
|
}
|
|
|
|
#sidebar-toggle:checked ~ .overlay {
|
|
opacity: 1;
|
|
visibility: visible;
|
|
}
|
|
}
|
|
|
|
/* Desktop: slide and push behavior */
|
|
@media (min-width: 1024px) {
|
|
.page-wrapper {
|
|
display: flex;
|
|
}
|
|
|
|
.sidebar-container {
|
|
position: relative;
|
|
width: 0;
|
|
flex-shrink: 0;
|
|
overflow: hidden;
|
|
transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
#sidebar-toggle:checked ~ .page-wrapper .sidebar-container {
|
|
width: 320px;
|
|
}
|
|
|
|
.main-content {
|
|
flex: 1;
|
|
transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.overlay {
|
|
display: none;
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body class="bg-gradient-to-br from-base-200 via-base-100 to-emerald-50/20">
|
|
<input id="sidebar-toggle" type="checkbox" class="hidden" />
|
|
<label for="sidebar-toggle" class="overlay"></label>
|
|
|
|
<div class="page-wrapper min-h-screen">
|
|
<!-- Sidebar -->
|
|
<div class="sidebar-container">
|
|
<div class="h-full w-80 bg-base-200 shadow-xl border-r border-base-300">
|
|
<div class="p-4">
|
|
<div class="flex items-center gap-3 px-2 mb-6">
|
|
<div class="w-10 h-10 rounded-lg bg-emerald-100 flex items-center justify-center">
|
|
<svg class="w-6 h-6 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"/></svg>
|
|
</div>
|
|
<span class="text-xl font-bold text-gray-800">CLQMS</span>
|
|
</div>
|
|
|
|
<ul class="menu w-full">
|
|
<li class="menu-title uppercase font-bold text-xs text-emerald-600/70 mt-2">Main</li>
|
|
<li><a href="dashboard.html" class="text-gray-700 hover:bg-emerald-50 hover:text-emerald-700 active:bg-emerald-100">
|
|
<svg class="w-5 h-5 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"/></svg>
|
|
Dashboard
|
|
</a></li>
|
|
<li><a href="master-data.html" class="text-gray-700 hover:bg-emerald-50 hover:text-emerald-700">
|
|
<svg class="w-5 h-5 text-emerald-600" 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 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"/></svg>
|
|
Master Data
|
|
</a></li>
|
|
<li><a href="result-entry.html" class="text-gray-700 hover:bg-emerald-50 hover:text-emerald-700">
|
|
<svg class="w-5 h-5 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 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>
|
|
Result Entry
|
|
</a></li>
|
|
<li><a href="report-print.html" class="text-gray-700 hover:bg-emerald-50 hover:text-emerald-700">
|
|
<svg class="w-5 h-5 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2h2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z"/></svg>
|
|
Reports
|
|
</a></li>
|
|
|
|
<li class="menu-title uppercase font-bold text-xs text-emerald-600/70 mt-4">Laboratory</li>
|
|
<li><a class="text-gray-700 hover:bg-emerald-50 hover:text-emerald-700">
|
|
<svg class="w-5 h-5 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"/></svg>
|
|
Patients
|
|
</a></li>
|
|
<li><a class="text-gray-700 hover:bg-emerald-50 hover:text-emerald-700">
|
|
<svg class="w-5 h-5 text-emerald-600" 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 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"/></svg>
|
|
Orders
|
|
</a></li>
|
|
<li><a class="text-gray-700 hover:bg-emerald-50 hover:text-emerald-700">
|
|
<svg class="w-5 h-5 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"/></svg>
|
|
Specimens
|
|
</a></li>
|
|
<li><a class="text-gray-700 hover:bg-emerald-50 hover:text-emerald-700">
|
|
<svg class="w-5 h-5 text-emerald-600" 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>
|
|
Results
|
|
</a></li>
|
|
|
|
<li class="menu-title uppercase font-bold text-xs text-emerald-600/70 mt-4">Administration</li>
|
|
<li><a class="text-gray-700 hover:bg-emerald-50 hover:text-emerald-700">
|
|
<svg class="w-5 h-5 text-emerald-600" 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>
|
|
Organization
|
|
</a></li>
|
|
<li><a class="text-gray-700 hover:bg-emerald-50 hover:text-emerald-700">
|
|
<svg class="w-5 h-5 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"/></svg>
|
|
Users
|
|
</a></li>
|
|
<li class="mt-4 pt-4 border-t border-gray-200"><a href="login.html" class="text-red-500 hover:bg-red-50">
|
|
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"/></svg>
|
|
Logout
|
|
</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Main Content -->
|
|
<div class="main-content flex flex-col">
|
|
<!-- Header -->
|
|
<div class="navbar bg-base-100 shadow-sm border-b border-base-300">
|
|
<div class="flex-none">
|
|
<label for="sidebar-toggle" class="btn btn-square btn-ghost text-gray-600 hover:bg-emerald-50 hover:text-emerald-600 cursor-pointer">
|
|
<svg class="w-6 h-6" fill="none" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" /></svg>
|
|
</label>
|
|
</div>
|
|
<div class="flex-1">
|
|
<a class="btn btn-ghost text-xl font-bold text-gray-800 hover:bg-gray-100">
|
|
<svg class="w-6 h-6 mr-2 text-emerald-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>
|
|
CLQMS Dashboard
|
|
</a>
|
|
</div>
|
|
<div class="flex-none gap-2">
|
|
<div class="dropdown dropdown-end">
|
|
<div tabindex="0" role="button" class="btn btn-ghost btn-circle avatar placeholder hover:bg-emerald-50">
|
|
<div class="bg-emerald-100 text-emerald-700 rounded-full w-10 border-2 border-emerald-200 flex items-center justify-center">
|
|
<span class="font-semibold">DL</span>
|
|
</div>
|
|
</div>
|
|
<ul tabindex="0" class="dropdown-content z-[1] menu p-2 shadow-xl bg-base-100 rounded-box w-52 border border-emerald-200">
|
|
<li><a class="hover:bg-emerald-50"><svg class="w-4 h-4 mr-2 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"/></svg>Profile</a></li>
|
|
<li><a class="hover:bg-emerald-50"><svg class="w-4 h-4 mr-2 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 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" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"/></svg>Settings</a></li>
|
|
<div class="divider my-0"></div>
|
|
<li><a href="login.html" class="text-error hover:bg-red-50"><svg class="w-4 h-4 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"/></svg>Logout</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Dashboard Content -->
|
|
<main class="flex-1 overflow-auto p-6">
|
|
<!-- Summary Stats -->
|
|
<div class="stats stats-vertical lg:stats-horizontal shadow-xl w-full mb-6 bg-base-100/80 backdrop-blur">
|
|
<div class="stat border-l-4 border-emerald-500 hover:bg-emerald-50/50 transition-colors">
|
|
<div class="stat-figure text-emerald-500">
|
|
<svg class="w-8 h-8" 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="stat-title text-emerald-700">Pending Orders</div>
|
|
<div class="stat-value text-emerald-600">24</div>
|
|
<div class="stat-desc text-emerald-600/70">Jan 1 - Feb 8</div>
|
|
</div>
|
|
<div class="stat border-l-4 border-green-500 hover:bg-green-50/50 transition-colors">
|
|
<div class="stat-figure text-green-500">
|
|
<svg class="w-8 h-8" 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="stat-title text-green-700">Today's Results</div>
|
|
<div class="stat-value text-green-600">156</div>
|
|
<div class="stat-desc text-green-600/70">↗︎ 14% more than yesterday</div>
|
|
</div>
|
|
<div class="stat border-l-4 border-red-500 hover:bg-red-50/50 transition-colors">
|
|
<div class="stat-figure text-red-500">
|
|
<svg class="w-8 h-8" 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-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/></svg>
|
|
</div>
|
|
<div class="stat-title text-red-700">Critical Results</div>
|
|
<div class="stat-value text-red-600">3</div>
|
|
<div class="stat-desc text-red-600/70">Requires attention</div>
|
|
</div>
|
|
<div class="stat border-l-4 border-teal-500 hover:bg-teal-50/50 transition-colors">
|
|
<div class="stat-figure text-teal-500">
|
|
<svg class="w-8 h-8" 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 class="stat-title text-teal-700">Active Patients</div>
|
|
<div class="stat-value text-teal-600">89</div>
|
|
<div class="stat-desc text-teal-600/70">Currently in system</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Charts Section -->
|
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6">
|
|
<div class="card bg-base-100 shadow-xl border-t-4 border-emerald-500 hover:shadow-2xl transition-shadow">
|
|
<div class="card-body">
|
|
<h2 class="card-title text-emerald-700">
|
|
<svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"/></svg>
|
|
Orders Trend
|
|
</h2>
|
|
<div class="h-64 flex items-center justify-center bg-gradient-to-br from-emerald-50 to-teal-50 rounded-lg border border-emerald-100">
|
|
<p class="text-emerald-600/60">[Chart: Orders over time]</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card bg-base-100 shadow-xl border-t-4 border-teal-500 hover:shadow-2xl transition-shadow">
|
|
<div class="card-body">
|
|
<h2 class="card-title text-teal-700">
|
|
<svg class="w-5 h-5 mr-2" 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"/><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z"/></svg>
|
|
Results Volume
|
|
</h2>
|
|
<div class="h-64 flex items-center justify-center bg-gradient-to-br from-teal-50 to-cyan-50 rounded-lg border border-teal-100">
|
|
<p class="text-teal-600/60">[Chart: Results by department]</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Recent Activity -->
|
|
<div class="card bg-base-100 shadow-xl border-t-4 border-green-500 hover:shadow-2xl transition-shadow">
|
|
<div class="card-body">
|
|
<h2 class="card-title mb-4 text-green-700">
|
|
<svg class="w-5 h-5 mr-2" 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>
|
|
Recent Activity
|
|
</h2>
|
|
<ul class="timeline timeline-vertical">
|
|
<li>
|
|
<div class="timeline-middle">
|
|
<div class="w-8 h-8 rounded-full bg-emerald-100 flex items-center justify-center">
|
|
<svg class="w-4 h-4 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6"/></svg>
|
|
</div>
|
|
</div>
|
|
<div class="timeline-start timeline-box bg-gradient-to-r from-emerald-50 to-white border-l-4 border-emerald-500">
|
|
<time class="text-sm font-mono text-emerald-600">09:30 AM</time>
|
|
<div class="text-lg font-black text-emerald-800">Order #12345 created</div>
|
|
<div class="text-sm text-emerald-600/80">Patient: John Doe (P-1001)</div>
|
|
</div>
|
|
<hr class="bg-emerald-300"/>
|
|
</li>
|
|
<li>
|
|
<div class="timeline-middle">
|
|
<div class="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center">
|
|
<svg class="w-4 h-4 text-green-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
|
|
</div>
|
|
</div>
|
|
<div class="timeline-start timeline-box bg-gradient-to-r from-green-50 to-white border-l-4 border-green-500">
|
|
<time class="text-sm font-mono text-green-600">09:15 AM</time>
|
|
<div class="text-lg font-black text-green-800">Result received</div>
|
|
<div class="text-sm text-green-600/80">Sample: ABC123 - Instrument: CBC-M01</div>
|
|
</div>
|
|
<hr class="bg-green-300"/>
|
|
</li>
|
|
<li>
|
|
<div class="timeline-middle">
|
|
<div class="w-8 h-8 rounded-full bg-teal-100 flex items-center justify-center">
|
|
<svg class="w-4 h-4 text-teal-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"/></svg>
|
|
</div>
|
|
</div>
|
|
<div class="timeline-start timeline-box bg-gradient-to-r from-teal-50 to-white border-l-4 border-teal-500">
|
|
<time class="text-sm font-mono text-teal-600">09:00 AM</time>
|
|
<div class="text-lg font-black text-teal-800">Patient registered</div>
|
|
<div class="text-sm text-teal-600/80">Patient ID: P-1001 - Jane Smith</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<!-- Footer -->
|
|
<footer class="footer footer-center p-4 bg-base-200 text-base-content border-t border-base-300">
|
|
<div class="flex items-center justify-center gap-2 text-sm">
|
|
<span class="font-semibold text-emerald-600">CLQMS</span>
|
|
<span class="text-gray-500">|</span>
|
|
<span class="text-gray-600">Clinical Laboratory Quality Management System</span>
|
|
<span class="text-gray-500">|</span>
|
|
<span class="text-gray-500">© 2026</span>
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|