-
Loading…
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Trusted by contractors & project managers
+
+
+
+
+
+ Track daily logs, manage OSHA documentation, monitor equipment maintenance,
+ and keep subcontractors compliant — with a portal that looks premium and works in the field.
+
+
+
+
+
+ Daily activity logs
+ Document expiration alerts
+ Safety meetings
+ Audit-ready exports
+
+
+
+
“Expensive” look, operational outcomes
+
+ Field teams move faster. Managers see risk instantly. Owners stay audit-ready.
+
+
+
+
+
+
+
+
+
Portal Snapshot
+
Live-style UI
+
+
+
+
+
Ongoing Projects
+
+
+3.0% from last month
+
+
+
Alerts
+
+
2 expiring documents
+
+
+
+
+
Alert Overview
+
+
+
+
+
Safety incident report pending
+
Requires photos + supervisor review
+
+
+
+
+
+
COI expiring in 7 days
+
Subcontractor: R. Builders LLC
+
+
+
+
+
+
+
+
+
-
- Page updated: {{ current_time|date:"Y-m-d H:i:s" }} (UTC)
-
-{% endblock %}
\ No newline at end of file
+
+
+
+
+{% endblock %}
diff --git a/core/urls.py b/core/urls.py
index 6299e3d..8e0d0ae 100644
--- a/core/urls.py
+++ b/core/urls.py
@@ -1,7 +1,7 @@
from django.urls import path
-from .views import home
+from .views import index
urlpatterns = [
- path("", home, name="home"),
+ path("", index, name="index"),
]
diff --git a/core/views.py b/core/views.py
index c9aed12..e523447 100644
--- a/core/views.py
+++ b/core/views.py
@@ -1,25 +1,8 @@
-import os
-import platform
-
-from django import get_version as django_version
from django.shortcuts import render
-from django.utils import timezone
-def home(request):
- """Render the landing screen with loader and environment details."""
- host_name = request.get_host().lower()
- agent_brand = "AppWizzy" if host_name == "appwizzy.com" else "Flatlogic"
- now = timezone.now()
-
+def index(request):
context = {
- "project_name": "New Style",
- "agent_brand": agent_brand,
- "django_version": django_version(),
- "python_version": platform.python_version(),
- "current_time": now,
- "host_name": host_name,
- "project_description": os.getenv("PROJECT_DESCRIPTION", ""),
- "project_image_url": os.getenv("PROJECT_IMAGE_URL", ""),
+ "project_name": "ComplianceShield",
}
return render(request, "core/index.html", context)
diff --git a/static/css/custom.css b/static/css/custom.css
index 925f6ed..10f05e3 100644
--- a/static/css/custom.css
+++ b/static/css/custom.css
@@ -1,4 +1,54 @@
-/* Custom styles for the application */
-body {
- font-family: system-ui, -apple-system, sans-serif;
-}
+:root{
+ --ink:#0b0b0c;
+ --paper:#fbfaf7;
+ --line: rgba(11,11,12,.08);
+ --shadow: 0 18px 48px rgba(11,11,12,.10);
+ --shadow2: 0 10px 26px rgba(11,11,12,.10);
+ --radius: 22px;
+
+ /* premium blue theme (like the dashboard reference) */
+ --blue:#2563eb;
+ --blue2:#60a5fa;
+ --ice:#eaf2ff;
+ --ice2:#f6fbff;
+ }
+
+ html, body { height: 100%; }
+ body { font-family: 'Inter', sans-serif; color: var(--ink); }
+
+ .bg-premium{
+ background:
+ radial-gradient(1400px 560px at 18% 8%, rgba(96,165,250,.30), rgba(255,255,255,0) 60%),
+ radial-gradient(1200px 520px at 92% 12%, rgba(37,99,235,.22), rgba(255,255,255,0) 55%),
+ radial-gradient(1100px 620px at 55% 100%, rgba(234,242,255,.95), rgba(255,255,255,0) 60%),
+ linear-gradient(180deg, #f6fbff 0%, #ffffff 55%, #f7fbff 100%);
+ }
+
+ .shell {
+ border-radius: 26px;
+ background: rgba(255,255,255,.78);
+ border: 1px solid rgba(11,11,12,.08);
+ box-shadow: var(--shadow);
+ backdrop-filter: blur(10px);
+ }
+
+ .panel {
+ border-radius: var(--radius);
+ background: rgba(255,255,255,.92);
+ border: 1px solid rgba(11,11,12,.06);
+ box-shadow: var(--shadow2);
+ }
+
+ .chip {
+ border-radius: 999px;
+ background: rgba(255,255,255,.8);
+ border: 1px solid rgba(11,11,12,.08);
+ }
+
+ .btn {
+ border-radius: 16px;
+ transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
+ }
+ .btn:hover { transform: translateY(-1px); box-shadow: 0 18px 48px rgba(11,11,12,.10); }
+
+ .drawer.hidden { display:none; }
\ No newline at end of file
diff --git a/staticfiles/css/custom.css b/staticfiles/css/custom.css
index 108056f..10f05e3 100644
--- a/staticfiles/css/custom.css
+++ b/staticfiles/css/custom.css
@@ -1,21 +1,54 @@
+:root{
+ --ink:#0b0b0c;
+ --paper:#fbfaf7;
+ --line: rgba(11,11,12,.08);
+ --shadow: 0 18px 48px rgba(11,11,12,.10);
+ --shadow2: 0 10px 26px rgba(11,11,12,.10);
+ --radius: 22px;
-:root {
- --bg-color-start: #6a11cb;
- --bg-color-end: #2575fc;
- --text-color: #ffffff;
- --card-bg-color: rgba(255, 255, 255, 0.01);
- --card-border-color: rgba(255, 255, 255, 0.1);
-}
-body {
- margin: 0;
- font-family: 'Inter', sans-serif;
- background: linear-gradient(45deg, var(--bg-color-start), var(--bg-color-end));
- color: var(--text-color);
- display: flex;
- justify-content: center;
- align-items: center;
- min-height: 100vh;
- text-align: center;
- overflow: hidden;
- position: relative;
-}
+ /* premium blue theme (like the dashboard reference) */
+ --blue:#2563eb;
+ --blue2:#60a5fa;
+ --ice:#eaf2ff;
+ --ice2:#f6fbff;
+ }
+
+ html, body { height: 100%; }
+ body { font-family: 'Inter', sans-serif; color: var(--ink); }
+
+ .bg-premium{
+ background:
+ radial-gradient(1400px 560px at 18% 8%, rgba(96,165,250,.30), rgba(255,255,255,0) 60%),
+ radial-gradient(1200px 520px at 92% 12%, rgba(37,99,235,.22), rgba(255,255,255,0) 55%),
+ radial-gradient(1100px 620px at 55% 100%, rgba(234,242,255,.95), rgba(255,255,255,0) 60%),
+ linear-gradient(180deg, #f6fbff 0%, #ffffff 55%, #f7fbff 100%);
+ }
+
+ .shell {
+ border-radius: 26px;
+ background: rgba(255,255,255,.78);
+ border: 1px solid rgba(11,11,12,.08);
+ box-shadow: var(--shadow);
+ backdrop-filter: blur(10px);
+ }
+
+ .panel {
+ border-radius: var(--radius);
+ background: rgba(255,255,255,.92);
+ border: 1px solid rgba(11,11,12,.06);
+ box-shadow: var(--shadow2);
+ }
+
+ .chip {
+ border-radius: 999px;
+ background: rgba(255,255,255,.8);
+ border: 1px solid rgba(11,11,12,.08);
+ }
+
+ .btn {
+ border-radius: 16px;
+ transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
+ }
+ .btn:hover { transform: translateY(-1px); box-shadow: 0 18px 48px rgba(11,11,12,.10); }
+
+ .drawer.hidden { display:none; }
\ No newline at end of file