diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..12a82ec --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,254 @@ +/* +------------------------------------- +| Modern App UI - Visual Overhaul +------------------------------------- +*/ + +/* --- Fonts & Imports --- */ +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); + +/* --- CSS Variables (New Design System) --- */ +:root { + --primary-hue: 210; + --primary-saturation: 79%; + --primary-lightness: 45%; + + --primary: hsl(var(--primary-hue), var(--primary-saturation), var(--primary-lightness)); /* #2c5282 */ + --primary-light: hsl(var(--primary-hue), var(--primary-saturation), 65%); + --primary-dark: hsl(var(--primary-hue), var(--primary-saturation), 30%); + --primary-bg: hsl(var(--primary-hue), 80%, 97%); + + --secondary-hue: 152; + --secondary-saturation: 51%; + --secondary-lightness: 35%; + --secondary: hsl(var(--secondary-hue), var(--secondary-saturation), var(--secondary-lightness)); /* #2f855a */ + + --bg-color: #f7fafc; + --sidebar-bg: #ffffff; + --card-bg: #ffffff; + --text-primary: #1a202c; + --text-secondary: #718096; + --border-color: #e2e8f0; + + --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.05), 0 1px 2px 0 rgba(0, 0, 0, 0.03); + --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -1px rgba(0, 0, 0, 0.04); + --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -2px rgba(0, 0, 0, 0.03); + + --border-radius-md: 0.5rem; + --border-radius-lg: 0.75rem; + + --transition-speed: 0.2s; +} + +/* --- Base & Typography --- */ +body { + background-color: var(--bg-color); + font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + color: var(--text-primary); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +h1, h2, h3, h4, h5, h6 { + font-weight: 600; + color: var(--text-primary); +} + +p { + color: var(--text-secondary); + line-height: 1.6; +} + +/* --- Layout --- */ +#wrapper { + display: flex; + width: 100%; +} + +#sidebar-wrapper { + width: 260px; + background-color: var(--sidebar-bg); + border-right: 1px solid var(--border-color); + transition: margin var(--transition-speed) ease-in-out; + z-index: 1000; + box-shadow: var(--shadow-sm); +} + +#page-content-wrapper { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; +} + +main { + flex-grow: 1; + padding: 2rem; +} + + +/* --- Sidebar --- */ +.sidebar-heading { + padding: 1.5rem 1.5rem; + font-size: 1.2rem; + font-weight: 700; + color: var(--primary); + border-bottom: 1px solid var(--border-color); + text-align: left; +} + +.sidebar-heading .logo-icon { + margin-right: 0.75rem; + font-size: 1.5rem; + vertical-align: middle; +} + +.list-group-item { + background: transparent; + border: 0; + padding: 1rem 1.5rem; + font-size: 0.95rem; + font-weight: 500; + color: var(--text-secondary); + transition: all var(--transition-speed) ease; + border-left: 3px solid transparent; +} + +.list-group-item .bi { + margin-right: 1rem; + font-size: 1.1rem; + vertical-align: text-bottom; +} + +.list-group-item:hover { + color: var(--primary); + background-color: var(--primary-bg); +} + +.list-group-item.active { + background-color: var(--primary-bg); + color: var(--primary); + border-left-color: var(--primary); + font-weight: 600; +} + +/* --- Top Bar --- */ +#topbar { + background-color: var(--sidebar-bg); + border-bottom: 1px solid var(--border-color); + box-shadow: var(--shadow-sm); + padding: 0.75rem 2rem; +} +#topbar .navbar-toggler { + border: none; +} +#topbar .nav-link { + color: var(--text-secondary); +} +#topbar .dropdown-toggle::after { + display: none; +} +#topbar .profile-pic { + width: 40px; + height: 40px; + object-fit: cover; +} + + +/* --- Dashboard & Cards --- */ +.card.dashboard-card { + border: none; + background-color: var(--card-bg); + border-radius: var(--border-radius-lg); + box-shadow: var(--shadow-md); + transition: all var(--transition-speed) ease-in-out; + overflow: hidden; +} + +.card.dashboard-card:hover { + transform: translateY(-4px); + box-shadow: var(--shadow-lg); +} + +.card-body { + padding: 2rem; +} + +.card-title-wrapper { + display: flex; + align-items: flex-start; + margin-bottom: 1.25rem; +} + +.card-icon { + width: 48px; + height: 48px; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: var(--border-radius-md); + font-size: 1.5rem; + margin-right: 1.5rem; + flex-shrink: 0; +} + +.card-icon.icon-customs { + background-color: hsl(var(--primary-hue), 80%, 97%); + color: var(--primary); +} +.card-icon.icon-insurance { + background-color: hsl(var(--secondary-hue), 80%, 96%); + color: var(--secondary); +} +.card-icon.icon-transport { + background-color: hsl(195, 70%, 96%); + color: hsl(195, 60%, 45%); +} + +.card-title { + font-size: 1.25rem; + font-weight: 600; + margin-bottom: 0.25rem; +} + +.card-text { + font-size: 0.95rem; + margin-bottom: 1.5rem; +} + +.btn-primary { + background-color: var(--primary); + border-color: var(--primary); + font-weight: 500; + transition: all var(--transition-speed) ease; +} +.btn-primary:hover { + background-color: var(--primary-dark); + border-color: var(--primary-dark); +} + +/* --- Responsive --- */ +@media (max-width: 767.98px) { + #sidebar-wrapper { + margin-left: -260px; + } + + #wrapper.toggled #sidebar-wrapper { + margin-left: 0; + } + + #page-content-wrapper { + min-width: 100vw; + } + + main { + padding: 1rem; + } + #topbar{ + padding: 0.75rem 1rem; + } +} + +#wrapper.toggled #sidebar-wrapper { + margin-left: -260px; +} diff --git a/assets/js/main.js b/assets/js/main.js new file mode 100644 index 0000000..4062c40 --- /dev/null +++ b/assets/js/main.js @@ -0,0 +1,34 @@ +/*! +* Start Bootstrap - Simple Sidebar v6.0.5 (https://startbootstrap.com/template/simple-sidebar) +* Copyright 2013-2022 Start Bootstrap +* Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-simple-sidebar/blob/master/LICENSE) +*/ +// +// Scripts +// + +window.addEventListener('DOMContentLoaded', event => { + + // Toggle the side navigation + const sidebarToggle = document.body.querySelector('#menu-toggle'); + if (sidebarToggle) { + // Un-comment below if you have another event listener attached to the window + // which might be closing your sidebar on click (e.g. if you are using a cross-sidebar layout) + // event.preventDefault(); + sidebarToggle.addEventListener('click', event => { + event.preventDefault(); + document.body.classList.toggle('sb-sidenav-toggled'); + localStorage.setItem('sb|sidebar-toggle', document.body.classList.contains('sb-sidenav-toggled')); + }); + } + + // Added for this project to handle the main wrapper toggle + const menuToggle = document.getElementById("menu-toggle"); + const wrapper = document.getElementById("wrapper"); + + if (menuToggle && wrapper) { + menuToggle.addEventListener("click", function() { + wrapper.classList.toggle("toggled"); + }); + } +}); \ No newline at end of file diff --git a/assets/pasted-20251215-000226-be39ce79.png b/assets/pasted-20251215-000226-be39ce79.png new file mode 100644 index 0000000..90213ba Binary files /dev/null and b/assets/pasted-20251215-000226-be39ce79.png differ diff --git a/assets/pasted-20251215-001013-c30a9dd7.png b/assets/pasted-20251215-001013-c30a9dd7.png new file mode 100644 index 0000000..d9a899c Binary files /dev/null and b/assets/pasted-20251215-001013-c30a9dd7.png differ diff --git a/customs.php b/customs.php new file mode 100644 index 0000000..372948d --- /dev/null +++ b/customs.php @@ -0,0 +1,22 @@ + + +
+

Customs Broker

+

This is the page for managing the Customs Broker company.

+

Here you will be able to upload Excel files to track sales, worker performance, and client performance.

+ +
+
+ Upload Sales Data +
+
+
+
+ + +
+ +
+
+
+
diff --git a/dashboard.php b/dashboard.php new file mode 100644 index 0000000..83feed1 --- /dev/null +++ b/dashboard.php @@ -0,0 +1,62 @@ + + +
+

Dashboard

+

An overview of your business operations.

+ +
+ +
+
+
+
+
+ +
+
+
Customs Broker
+
+
+

Track sales, worker and client performance.

+ View Details +
+
+
+ + +
+
+
+
+
+ +
+
+
Insurance
+
+
+

Reconcile policy lists and find missing entries.

+ View Details +
+
+
+ + +
+
+
+
+
+ +
+
+
Transportation
+
+
+

Compare partner statements with your own records.

+ View Details +
+
+
+
+
diff --git a/index.php b/index.php index 7205f3d..212d88d 100644 --- a/index.php +++ b/index.php @@ -1,150 +1,43 @@ +include 'partials/header.php'; + ?> - - - - - - New Style - - - - - - - - - - - - - - - - - - - - - -
-
-

Analyzing your requirements and generating your website…

-
- Loading… -
-

AI is collecting your requirements and applying the first changes.

-

This page will update automatically as the plan is implemented.

-

Runtime: PHP — UTC

+ + + + + +
+ +
+

Page Not Found

The requested page could not be found.

'; + } + ?> +
- - - - + + \ No newline at end of file diff --git a/insurance.php b/insurance.php new file mode 100644 index 0000000..b2afbb1 --- /dev/null +++ b/insurance.php @@ -0,0 +1,32 @@ + + +
+

Insurance

+

This is the page for managing the Insurance company.

+

Here you will upload two Excel files to compare policy lists and identify missing policies.

+ +
+
+ Upload Policy Lists for Comparison +
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+
diff --git a/partials/footer.php b/partials/footer.php new file mode 100644 index 0000000..f5d7af6 --- /dev/null +++ b/partials/footer.php @@ -0,0 +1,5 @@ + + + + + diff --git a/partials/header.php b/partials/header.php new file mode 100644 index 0000000..6da064a --- /dev/null +++ b/partials/header.php @@ -0,0 +1,18 @@ + + + + + + + <?php echo $page_title; ?> + + + + + + + + +
diff --git a/partials/sidebar.php b/partials/sidebar.php new file mode 100644 index 0000000..694456c --- /dev/null +++ b/partials/sidebar.php @@ -0,0 +1,23 @@ + ['icon' => 'bi-house-door', 'label' => 'Dashboard'], + 'customs' => ['icon' => 'bi-globe', 'label' => 'Customs Broker'], + 'insurance' => ['icon' => 'bi-shield-check', 'label' => 'Insurance'], + 'transport' => ['icon' => 'bi-truck', 'label' => 'Transportation'], +]; +?> + diff --git a/partials/topbar.php b/partials/topbar.php new file mode 100644 index 0000000..459836e --- /dev/null +++ b/partials/topbar.php @@ -0,0 +1,24 @@ + diff --git a/transport.php b/transport.php new file mode 100644 index 0000000..366cfae --- /dev/null +++ b/transport.php @@ -0,0 +1,32 @@ + + +
+

Transportation

+

This is the page for managing the Transportation company.

+

Here you will compare statements from your partners with your own statements.

+ +
+
+ Upload Statements for Comparison +
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+