diff --git a/server.js b/server.js index eb98466..7abfd0f 100644 --- a/server.js +++ b/server.js @@ -960,30 +960,9 @@ function loginPage({ error = "" } = {}) {
-
DocLink rebuild ยท responsive shell
-

Clinical workflow that stays fast on desktop and mobile.

-

The rebuilt shell keeps the old app's workflows intact, but removes the cramped mobile-only feel.

-
- Built for doctors who move between screens - Orders, results, FPP, and account actions stay one click away. -
-
-
Responsive shell
Persistent sidebar on desktop, bottom nav on mobile.
-
HTMX fragments
Detail panels update without leaving the page.
-
API adapter
Login, orders, results, and save flows proxy upstream.
-
-
-
5 routesPublic + shell
-
3 flowsMost used actions
-
1 sessionCookie-backed auth
-
+

DocLink Pramita

-
-
Sign in
-

Login to DocLink

-

Use the upstream API or switch to demo mode if the backend is unavailable.

-
${error ? `
${escapeHtml(error)}
` : ""}
@@ -991,11 +970,6 @@ function loginPage({ error = "" } = {}) {
-
- Open splash - Problem login - Demo fallback ready -
@@ -1011,22 +985,12 @@ function splashPage() {
-
Starting DocLink
-

Loading workspace...

-

Checking session state, then routing into the right clinical entry point.

-
- Fast redirect - Users land on dashboard, login, or the error screen without extra clicks. -
+

DocLink Pramita

Redirecting

We will move you to the correct route in a moment.

-
- Session check - Route resolve -
@@ -1043,13 +1007,7 @@ function problemLoginPage() {
-
Login problem
-

Access needs attention.

-

Use this page when auth state is broken, expired, or the upstream login rejects credentials.

-
- What to do - Re-enter credentials or wait for the upstream service to recover. -
+

DocLink Pramita

@@ -1057,10 +1015,6 @@ function problemLoginPage() {

The session was cleared. Go back to login and sign in again.

Back to login -
- Auth reset - Retry login -
diff --git a/styles.css b/styles.css index 669d24f..47ad87d 100644 --- a/styles.css +++ b/styles.css @@ -8,11 +8,11 @@ --text: #122033; --muted: #5b6677; --muted-2: #7c8797; - --brand: #0f766e; - --brand-strong: #115e59; + --brand: #b91c1c; + --brand-strong: #7f1d1d; --accent: #d97706; --accent-soft: #fff4e6; - --success: #15803d; + --success: #dc2626; --warning: #b45309; --danger: #b91c1c; --shadow-lg: 0 24px 60px rgba(15, 23, 42, 0.14); @@ -41,7 +41,7 @@ body { font-family: var(--font); color: var(--text); background: - radial-gradient(circle at top left, rgba(15, 118, 110, 0.08), transparent 28%), + radial-gradient(circle at top left, rgba(185, 28, 28, 0.1), transparent 28%), radial-gradient(circle at bottom right, rgba(217, 119, 6, 0.07), transparent 28%), linear-gradient(180deg, #f8fafc 0%, var(--bg) 100%); } @@ -81,7 +81,7 @@ button { .orb-one { top: -9rem; left: -8rem; - background: rgba(15, 118, 110, 0.18); + background: rgba(185, 28, 28, 0.18); } .orb-two { @@ -197,14 +197,14 @@ button { .nav-link:hover { transform: translateX(2px); - background: rgba(15, 118, 110, 0.08); + background: rgba(185, 28, 28, 0.08); color: var(--text); } .nav-link.active { color: white; - background: linear-gradient(135deg, var(--brand), #0f9488); - box-shadow: 0 12px 24px rgba(15, 118, 110, 0.24); + background: linear-gradient(135deg, var(--brand), #dc2626); + box-shadow: 0 12px 24px rgba(185, 28, 28, 0.24); transform: translateX(2px); position: relative; } @@ -357,8 +357,8 @@ button { .btn-primary { color: white; - background: linear-gradient(135deg, var(--brand), #0f9488); - box-shadow: 0 14px 26px rgba(15, 118, 110, 0.22); + background: linear-gradient(135deg, var(--brand), #dc2626); + box-shadow: 0 14px 26px rgba(185, 28, 28, 0.22); } .btn-secondary { @@ -698,7 +698,7 @@ tr:last-child td { color: white; background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.16), transparent 30%), - linear-gradient(135deg, #0f766e, #0f9488 52%, #115e59); + linear-gradient(135deg, #b91c1c, #dc2626 52%, #7f1d1d); } .auth-visual .badge { @@ -753,7 +753,7 @@ tr:last-child td { margin-top: 18px; padding: 16px 18px; border-radius: 18px; - color: #effaf8; + color: #fff1f2; background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.14); }