diff --git a/crop.html b/crop.html index a12dd0e4..3c4815f8 100644 --- a/crop.html +++ b/crop.html @@ -66,7 +66,20 @@ } [data-theme="light"] body { - background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 50%, #f0f9ff 100%); + background: rgba(255, 255, 255, 0.9) !important; + } + + [data-theme="light"] .top-nav { + background: rgba(255, 255, 255, 0.9) !important; + /* No longer black! */ + border-color: rgba(0, 0, 0, 0.1) !important; + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05) !important; + } + + [data-theme="light"] .nav-back, + [data-theme="light"] .nav-left span { + color: #1e293b !important; + /* High-contrast charcoal text */ } .container { @@ -505,12 +518,13 @@ max-height: 300px; overflow-y: auto; } + /* Light Mode Styling for Alerts Panel (Issue #1530 Fix) */ -[data-theme="light"] .alerts-panel { - background: #ffffff; - border: 1px solid #e2e8f0; - box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08); -} + [data-theme="light"] .alerts-panel { + background: #ffffff; + border: 1px solid #e2e8f0; + box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08); + } .alert-item { @@ -539,33 +553,36 @@ } /* Light mode alert card refinement */ -[data-theme="light"] .alert-item { - background: #f8fafc; - border-radius: 12px; - border-left-width: 5px; - transition: all 0.25s ease; -} - -[data-theme="light"] .alert-item.warning { - background: #fffbeb; /* warm soft amber */ - border-left-color: var(--accent-warning); -} - -[data-theme="light"] .alert-item.danger { - background: #fef2f2; /* soft red tint */ - border-left-color: var(--accent-danger); -} - -[data-theme="light"] .alert-item.success { - background: #f0fdf4; /* soft green tint */ - border-left-color: var(--accent-success); -} - -/* Subtle hover polish for alerts (both themes) */ -.alert-item:hover { - transform: translateY(-3px); - box-shadow: 0 6px 18px var(--shadow-light); -} + [data-theme="light"] .alert-item { + background: #f8fafc; + border-radius: 12px; + border-left-width: 5px; + transition: all 0.25s ease; + } + + [data-theme="light"] .alert-item.warning { + background: #fffbeb; + /* warm soft amber */ + border-left-color: var(--accent-warning); + } + + [data-theme="light"] .alert-item.danger { + background: #fef2f2; + /* soft red tint */ + border-left-color: var(--accent-danger); + } + + [data-theme="light"] .alert-item.success { + background: #f0fdf4; + /* soft green tint */ + border-left-color: var(--accent-success); + } + + /* Subtle hover polish for alerts (both themes) */ + .alert-item:hover { + transform: translateY(-3px); + box-shadow: 0 6px 18px var(--shadow-light); + } .alert-icon { @@ -574,23 +591,23 @@ /* --- FIXED: CONTRAST AND VISIBILITY FOR ALERTS --- */ /* --- THEME-AWARE ALERT TEXT (Fix for Issue #1530) --- */ -.alert-content h4 { - color: var(--text-primary); - margin-bottom: 5px; - font-weight: 700; -} + .alert-content h4 { + color: var(--text-primary); + margin-bottom: 5px; + font-weight: 700; + } -.alert-content p { - color: var(--text-secondary); - font-size: 0.9rem; - opacity: 1; -} + .alert-content p { + color: var(--text-secondary); + font-size: 0.9rem; + opacity: 1; + } -.alert-time { - font-size: 0.8rem; - color: var(--text-muted); - margin-left: auto; -} + .alert-time { + font-size: 0.8rem; + color: var(--text-muted); + margin-left: auto; + } .sensor-status { @@ -601,26 +618,26 @@ } /* Enhanced Sensor Card Animation (Subtle & Lightweight) */ -.sensor-item { - background: var(--bg-primary); - border: 1px solid var(--border-color); - border-radius: 10px; - padding: 20px; - border-left: 4px solid var(--accent-success); - position: relative; - overflow: hidden; + .sensor-item { + background: var(--bg-primary); + border: 1px solid var(--border-color); + border-radius: 10px; + padding: 20px; + border-left: 4px solid var(--accent-success); + position: relative; + overflow: hidden; - /* NEW: smooth entrance + hover feel */ - opacity: 0; - transform: translateY(15px) scale(0.98); - animation: sensorFadeIn 0.6s ease forwards; + /* NEW: smooth entrance + hover feel */ + opacity: 0; + transform: translateY(15px) scale(0.98); + animation: sensorFadeIn 0.6s ease forwards; - transition: transform 0.32s cubic-bezier(0.2, 1.6, 0.3, 1), - box-shadow 0.3s ease, - border-color 0.3s ease; + transition: transform 0.32s cubic-bezier(0.2, 1.6, 0.3, 1), + box-shadow 0.3s ease, + border-color 0.3s ease; -} + } .sensor-item::before { @@ -650,28 +667,31 @@ } /* Subtle fade-in animation for sensor cards */ -@keyframes sensorFadeIn { - to { - opacity: 1; - transform: translateY(0) scale(1); - } -} - -/* Spring jump effect for hover (visible but still professional) */ -@keyframes sensorJump { - 0% { - transform: translateY(0) scale(1); - } - 40% { - transform: translateY(-14px) scale(1.04); - } - 70% { - transform: translateY(-8px) scale(1.02); - } - 100% { - transform: translateY(-10px) scale(1.03); - } -} + @keyframes sensorFadeIn { + to { + opacity: 1; + transform: translateY(0) scale(1); + } + } + + /* Spring jump effect for hover (visible but still professional) */ + @keyframes sensorJump { + 0% { + transform: translateY(0) scale(1); + } + + 40% { + transform: translateY(-14px) scale(1.04); + } + + 70% { + transform: translateY(-8px) scale(1.02); + } + + 100% { + transform: translateY(-10px) scale(1.03); + } + } @@ -692,30 +712,30 @@ } /* Subtle hover lift (as requested in issue #1529) */ -/* Enhanced soft bounce hover (more noticeable) */ -.sensor-item:hover { - transform: translateY(-12px) scale(1.025); - box-shadow: 0 18px 35px var(--shadow-medium); + /* Enhanced soft bounce hover (more noticeable) */ + .sensor-item:hover { + transform: translateY(-12px) scale(1.025); + box-shadow: 0 18px 35px var(--shadow-medium); - transition: transform 0.25s cubic-bezier(0.34, 1.4, 0.64, 1), + transition: transform 0.25s cubic-bezier(0.34, 1.4, 0.64, 1), box-shadow 0.25s ease; -} + } -/* Status-colored border on hover (matches left accent color) */ -.sensor-item:hover { - border-color: var(--accent-success); -} + /* Status-colored border on hover (matches left accent color) */ + .sensor-item:hover { + border-color: var(--accent-success); + } -/* Warning card → orange border on hover */ -.sensor-item.warning:hover { - border-color: var(--accent-warning); -} + /* Warning card → orange border on hover */ + .sensor-item.warning:hover { + border-color: var(--accent-warning); + } -/* Critical card → red border on hover */ -.sensor-item.critical:hover { - border-color: var(--accent-danger); -} + /* Critical card → red border on hover */ + .sensor-item.critical:hover { + border-color: var(--accent-danger); + } .sensor-header { display: flex; @@ -762,21 +782,21 @@ } /* Gentle status glow based on sensor state */ -.sensor-item:not(.warning):not(.critical) { - box-shadow: 0 0 0 rgba(34, 197, 94, 0); -} + .sensor-item:not(.warning):not(.critical) { + box-shadow: 0 0 0 rgba(34, 197, 94, 0); + } -.sensor-item:not(.warning):not(.critical):hover { - box-shadow: 0 10px 25px rgba(34, 197, 94, 0.15); -} + .sensor-item:not(.warning):not(.critical):hover { + box-shadow: 0 10px 25px rgba(34, 197, 94, 0.15); + } -.sensor-item.warning:hover { - box-shadow: 0 10px 25px rgba(245, 158, 11, 0.2); -} + .sensor-item.warning:hover { + box-shadow: 0 10px 25px rgba(245, 158, 11, 0.2); + } -.sensor-item.critical:hover { - box-shadow: 0 10px 25px rgba(239, 68, 68, 0.2); -} + .sensor-item.critical:hover { + box-shadow: 0 10px 25px rgba(239, 68, 68, 0.2); + } .settings-panel { @@ -1146,30 +1166,30 @@ } .notification-content { - display: flex; - align-items: center; - gap: 10px; -} - -.notification-text { - flex: 1; -} - -.notification-close { - background: transparent; - border: none; - color: white; - font-size: 18px; - cursor: pointer; - margin-left: 10px; - line-height: 1; - opacity: 0.9; -} - -.notification-close:hover { - opacity: 1; - transform: scale(1.1); -} + display: flex; + align-items: center; + gap: 10px; + } + + .notification-text { + flex: 1; + } + + .notification-close { + background: transparent; + border: none; + color: white; + font-size: 18px; + cursor: pointer; + margin-left: 10px; + line-height: 1; + opacity: 0.9; + } + + .notification-close:hover { + opacity: 1; + transform: scale(1.1); + } .notification.show { @@ -1368,50 +1388,51 @@ } /* --- END OF CTA INTERACTIVE ENHANCEMENTS --- */ - /* --- Cursor Trail Container --- */ -.circle-container { - position: fixed; - inset: 0; - pointer-events: none; - z-index: 999999; -} - -/* --- Individual Trail Circles --- */ -.cursor-circle { - position: absolute; - width: 10px; - height: 10px; - border-radius: 50%; - background-color: #ff8c00; - box-shadow: 0 0 15px rgba(255, 140, 0, 0.7); - transform: translate(-50%, -50%); - will-change: transform; - mix-blend-mode: screen; - transition: transform 0.1s ease-out; -} - -/* --- The Leading "Head" Circle --- */ -.cursor-circle:first-child { - width: 14px; - height: 14px; - background-color: #ffcc00; - box-shadow: - 0 0 20px #ff8c00, - 0 0 40px rgba(255, 140, 0, 0.5); -} - -/* --- Interaction States --- */ -.cursor-clicking { - transform: translate(-50%, -50%) scale(2.5) !important; - background-color: #ffffff !important; - box-shadow: 0 0 30px #ffffff !important; -} - -.cursor-hovering { - transform: translate(-50%, -50%) scale(1.8); - background-color: #22c55e; /* AgriTech green */ - box-shadow: 0 0 20px #22c55e; -} + /* --- Cursor Trail Container --- */ + .circle-container { + position: fixed; + inset: 0; + pointer-events: none; + z-index: 999999; + } + + /* --- Individual Trail Circles --- */ + .cursor-circle { + position: absolute; + width: 10px; + height: 10px; + border-radius: 50%; + background-color: #ff8c00; + box-shadow: 0 0 15px rgba(255, 140, 0, 0.7); + transform: translate(-50%, -50%); + will-change: transform; + mix-blend-mode: screen; + transition: transform 0.1s ease-out; + } + + /* --- The Leading "Head" Circle --- */ + .cursor-circle:first-child { + width: 14px; + height: 14px; + background-color: #ffcc00; + box-shadow: + 0 0 20px #ff8c00, + 0 0 40px rgba(255, 140, 0, 0.5); + } + + /* --- Interaction States --- */ + .cursor-clicking { + transform: translate(-50%, -50%) scale(2.5) !important; + background-color: #ffffff !important; + box-shadow: 0 0 30px #ffffff !important; + } + + .cursor-hovering { + transform: translate(-50%, -50%) scale(1.8); + background-color: #22c55e; + /* AgriTech green */ + box-shadow: 0 0 20px #22c55e; + } @@ -1861,8 +1882,8 @@

Thresholds

- -
+ +
diff --git a/supply-chain.html b/supply-chain.html index 9b500f1e..89f474b5 100644 --- a/supply-chain.html +++ b/supply-chain.html @@ -40,6 +40,7 @@ --shadow: rgba(0, 0, 0, 0.4); --accent-blue: #818cf8; } + /* ================= THEME VARIABLES ================= */ :root { /* existing light mode colors (unchanged) */ @@ -50,34 +51,34 @@ --heading: #2c3e50; } - /* ================= THEME VARIABLES ================= */ - :root { - /* existing light mode colors (unchanged) */ - --bg-gradient: linear-gradient(135deg, #4877b8 0%, #0e745e 100%); - --card-bg: rgba(210, 204, 212, 0.95); - --header-bg: rgba(190, 208, 212, 0.95); - --text-main: #333; - --heading: #2c3e50; - } + /* ================= THEME VARIABLES ================= */ + :root { + /* existing light mode colors (unchanged) */ + --bg-gradient: linear-gradient(135deg, #4877b8 0%, #0e745e 100%); + --card-bg: rgba(210, 204, 212, 0.95); + --header-bg: rgba(190, 208, 212, 0.95); + --text-main: #333; + --heading: #2c3e50; + } - /* Enhanced dark mode – only affects when data-theme="dark" */ - [data-theme="dark"] { - --bg-gradient: linear-gradient(135deg, #020617 0%, #0b1120 40%, #022c22 100%); - --card-bg: rgba(15, 23, 42, 0.92); - --header-bg: rgba(15, 23, 42, 0.98); - --text-main: #e5e7eb; - --heading: #f9fafb; - } + /* Enhanced dark mode – only affects when data-theme="dark" */ + [data-theme="dark"] { + --bg-gradient: linear-gradient(135deg, #020617 0%, #0b1120 40%, #022c22 100%); + --card-bg: rgba(15, 23, 42, 0.92); + --header-bg: rgba(15, 23, 42, 0.98); + --text-main: #e5e7eb; + --heading: #f9fafb; + } + + body { + font-family: 'Open Sans', sans-serif; + line-height: 1.6; + min-height: 100vh; + background: var(--bg-gradient); + color: var(--text-main); + transition: background 0.4s ease, color 0.3s ease; + } - body { - font-family: 'Open Sans', sans-serif; - line-height: 1.6; - min-height: 100vh; - background: var(--bg-gradient); - color: var(--text-main); - transition: background 0.4s ease, color 0.3s ease; - } - .header, .supply-chain-flow, @@ -149,54 +150,45 @@ box-shadow: 0 10px 30px rgba(15, 23, 42, 0.8); } - /* Theme toggle button – fixed to support icon + text */ -.theme-toggle { - position: fixed; - top: 20px; - right: 20px; - - min-width: 56px; - height: 56px; - padding: 0 14px; - - border-radius: 50px; - border: none; - cursor: pointer; - - display: flex; - align-items: center; - gap: 6px; - font-size: initial !important; - font-weight: 600; - - z-index: 1200; - background: #111827; - color: #f9fafb; - - box-shadow: 0 10px 25px rgba(15, 23, 42, 0.8); - transition: transform 0.2s ease, box-shadow 0.3s ease, background 0.3s ease; -} -.theme-toggle i { - font-size: 2.2rem !important; /* increase icon size */ - line-height: 1; -} -.theme-toggle { - width: 56px !important; - height: 56px !important; - padding: 0 !important; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; -} -.theme-toggle span { - display: none; -} + + .theme-toggle i { + color: #fbbf24 !important; + /* Vibrant Sun Yellow */ + font-weight: 700; + font-size: 0.95rem; + text-transform: capitalize; + } + + .theme-toggle { + display: inline-flex; + align-items: center; + gap: 12px; + padding: 10px 22px; + background: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%) !important; + /* Premium Indigo */ + border: 1px solid rgba(255, 255, 255, 0.15) !important; + border-radius: 999px !important; + /* Standardized Pill Shape */ + cursor: pointer; + box-shadow: 0 0 20px rgba(59, 130, 246, 0.3); + /* Atmospheric Blue Glow */ + transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); + z-index: 1100; + } + + .theme-toggle span { + color: #fbbf24 !important; + /* Vibrant Sun Yellow */ + font-weight: 700; + font-size: 0.95rem; + text-transform: capitalize; + } .theme-toggle:hover { - transform: scale(1.08); - box-shadow: 0 14px 35px rgba(15, 23, 42, 0.9); + transform: scale(1.08) translateY(-2px); + box-shadow: 0 10px 25px rgba(59, 130, 246, 0.5); + background: linear-gradient(135deg, #312e81 0%, #3730a3 100%) !important; } [data-theme="dark"] .theme-toggle { @@ -488,14 +480,16 @@ } .progress-bar { - width: 100%; - height: 18px; /* increased height for text visibility */ - background: #e9ecef; - border-radius: 8px; - margin: 15px 0; - overflow: hidden; - position: relative; /* IMPORTANT */ -} + width: 100%; + height: 18px; + /* increased height for text visibility */ + background: #e9ecef; + border-radius: 8px; + margin: 15px 0; + overflow: hidden; + position: relative; + /* IMPORTANT */ + } .progress-fill { height: 100%; @@ -503,20 +497,22 @@ border-radius: 3px; transition: width 0.3s ease; } + .progress-fill { - position: relative; /* ADD THIS LINE */ -} - -.progress-text { - position: absolute; - right: 8px; - top: 50%; - transform: translateY(-50%); - font-size: 11px; - font-weight: 700; - color: white; - pointer-events: none; -} + position: relative; + /* ADD THIS LINE */ + } + + .progress-text { + position: absolute; + right: 8px; + top: 50%; + transform: translateY(-50%); + font-size: 11px; + font-weight: 700; + color: white; + pointer-events: none; + } .metrics-row { display: grid; @@ -602,51 +598,52 @@ grid-template-columns: 1fr; } } + /* --- Cursor Trail Container --- */ -.circle-container { - position: fixed; - inset: 0; - pointer-events: none; - z-index: 999999; -} - -/* --- Individual Trail Circles --- */ -.cursor-circle { - position: absolute; - width: 10px; - height: 10px; - border-radius: 50%; - background-color: #ff8c00; - box-shadow: 0 0 15px rgba(255, 140, 0, 0.7); - transform: translate(-50%, -50%); - will-change: transform; - mix-blend-mode: screen; - transition: transform 0.1s ease-out; -} - -/* --- The Leading "Head" Circle --- */ -.cursor-circle:first-child { - width: 14px; - height: 14px; - background-color: #ffcc00; - box-shadow: - 0 0 20px #ff8c00, - 0 0 40px rgba(255, 140, 0, 0.5); -} - -/* --- Interaction States --- */ -.cursor-clicking { - transform: translate(-50%, -50%) scale(2.5) !important; - background-color: #ffffff !important; - box-shadow: 0 0 30px #ffffff !important; -} - -.cursor-hovering { - transform: translate(-50%, -50%) scale(1.8); - background-color: #22c55e; /* AgriTech green */ - box-shadow: 0 0 20px #22c55e; -} + .circle-container { + position: fixed; + inset: 0; + pointer-events: none; + z-index: 999999; + } + /* --- Individual Trail Circles --- */ + .cursor-circle { + position: absolute; + width: 10px; + height: 10px; + border-radius: 50%; + background-color: #ff8c00; + box-shadow: 0 0 15px rgba(255, 140, 0, 0.7); + transform: translate(-50%, -50%); + will-change: transform; + mix-blend-mode: screen; + transition: transform 0.1s ease-out; + } + + /* --- The Leading "Head" Circle --- */ + .cursor-circle:first-child { + width: 14px; + height: 14px; + background-color: #ffcc00; + box-shadow: + 0 0 20px #ff8c00, + 0 0 40px rgba(255, 140, 0, 0.5); + } + + /* --- Interaction States --- */ + .cursor-clicking { + transform: translate(-50%, -50%) scale(2.5) !important; + background-color: #ffffff !important; + box-shadow: 0 0 30px #ffffff !important; + } + + .cursor-hovering { + transform: translate(-50%, -50%) scale(1.8); + background-color: #22c55e; + /* AgriTech green */ + box-shadow: 0 0 20px #22c55e; + } @@ -656,9 +653,9 @@ Back to Home - @@ -770,10 +767,10 @@

Live Shipment Tracking

To: Delhi Market

Product: Fresh Vegetables

-
- 65% -
-
+
+ 65% +
+

ETA: Tomorrow 10:00 AM

@@ -786,10 +783,10 @@

Live Shipment Tracking

To: Mumbai Market

Product: Fruits & Grains

-
- 100% -
-
+
+ 100% +
+

Delivered: Today 08:30 AM

@@ -801,11 +798,11 @@

Live Shipment Tracking

From: Rajasthan Farms

To: Jaipur Market

Product: Pulses & Grains

-
-
- 25% -
-
+
+
+ 25% +
+

Scheduled: Tomorrow 06:00 AM

@@ -818,10 +815,10 @@

Live Shipment Tracking

To: Bangalore Market

Product: Rice & Spices

-
- 80% -
-
+
+ 80% +
+

ETA: Tonight 11:00 PM

@@ -835,8 +832,8 @@

Optimize Your Supply Chain Today

Contact Support - -
+ +
+ + + + + + - - - - - - - +