Spaces:
Sleeping
Sleeping
| body { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| .page { | |
| display: none; | |
| min-height: 100%; | |
| } | |
| .page.active { | |
| display: block; | |
| animation: slideIn 0.4s ease-out; | |
| } | |
| @keyframes slideIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .hero-pattern { | |
| background-image: | |
| radial-gradient(circle at 20% 50%, rgba(34, 197, 94, 0.15) 0%, transparent 50%), | |
| radial-gradient(circle at 80% 80%, rgba(249, 115, 22, 0.15) 0%, transparent 50%); | |
| } | |
| .card-hover { | |
| position: relative; | |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); | |
| will-change: transform, box-shadow; | |
| } | |
| .card-hover:hover { | |
| transform: translateY(-12px) scale(1.02); | |
| box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); | |
| z-index: 10; | |
| } | |
| /* Specific fix for dashboard analysis cards to prevent flickering */ | |
| #dashboard-page .space-y-6 { | |
| position: relative; | |
| /* Add extra spacing to account for hover transform */ | |
| padding-top: 0.5rem; | |
| } | |
| #dashboard-page .space-y-6 > .card-hover { | |
| position: relative; | |
| isolation: isolate; | |
| transform-origin: center center; | |
| /* Ensure each card maintains its space */ | |
| display: block; | |
| } | |
| #dashboard-page .space-y-6 > .card-hover:hover { | |
| z-index: 20; | |
| /* Reduce transform slightly for dashboard cards to prevent overlap */ | |
| transform: translateY(-8px) scale(1.01); | |
| } | |
| .nav-item { | |
| position: relative; | |
| transition: color 0.3s ease; | |
| } | |
| .nav-item::after { | |
| content: ''; | |
| position: absolute; | |
| bottom: -4px; | |
| left: 0; | |
| width: 0; | |
| height: 3px; | |
| background: linear-gradient(90deg, #22c55e, #f97316); | |
| transition: width 0.3s ease; | |
| } | |
| .nav-item:hover::after { | |
| width: 100%; | |
| } | |
| .upload-area { | |
| border: 3px dashed #d1d5db; | |
| transition: all 0.3s ease; | |
| background: linear-gradient(135deg, rgba(34, 197, 94, 0.03) 0%, rgba(249, 115, 22, 0.03) 100%); | |
| } | |
| .upload-area:hover { | |
| border-color: #22c55e; | |
| background: linear-gradient(135deg, rgba(34, 197, 94, 0.08) 0%, rgba(249, 115, 22, 0.08) 100%); | |
| transform: scale(1.01); | |
| } | |
| .upload-area.drag-active { | |
| border-color: #f97316; | |
| background: linear-gradient(135deg, rgba(34, 197, 94, 0.12) 0%, rgba(249, 115, 22, 0.12) 100%); | |
| transform: scale(1.02); | |
| } | |
| .gradient-text { | |
| background: linear-gradient(135deg, #22c55e 0%, #f97316 100%); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| .btn-gradient { | |
| background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%); | |
| transition: all 0.3s ease; | |
| } | |
| .btn-gradient:hover { | |
| background: linear-gradient(135deg, #16a34a 0%, #15803d 100%); | |
| transform: translateY(-2px); | |
| box-shadow: 0 10px 25px -5px rgba(34, 197, 94, 0.4); | |
| } | |
| .btn-gradient-orange { | |
| background: linear-gradient(135deg, #f97316 0%, #ea580c 100%); | |
| transition: all 0.3s ease; | |
| } | |
| .btn-gradient-orange:hover { | |
| background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%); | |
| transform: translateY(-2px); | |
| box-shadow: 0 10px 25px -5px rgba(249, 115, 22, 0.4); | |
| } | |
| .feature-icon { | |
| transition: transform 0.3s ease; | |
| } | |
| .card-hover:hover .feature-icon { | |
| transform: scale(1.2) rotate(5deg); | |
| } | |
| .gallery-item { | |
| position: relative; | |
| overflow: hidden; | |
| transition: all 0.3s ease; | |
| } | |
| .gallery-item::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: linear-gradient(135deg, rgba(34, 197, 94, 0.8) 0%, rgba(249, 115, 22, 0.8) 100%); | |
| opacity: 0; | |
| transition: opacity 0.3s ease; | |
| z-index: 1; | |
| } | |
| .gallery-item:hover::before { | |
| opacity: 1; | |
| } | |
| .gallery-item:hover { | |
| transform: scale(1.05); | |
| } | |
| .stat-number { | |
| font-size: 3rem; | |
| font-weight: 800; | |
| line-height: 1; | |
| } | |
| .sidebar-nav { | |
| position: fixed; | |
| left: 0; | |
| top: 50%; | |
| transform: translateY(-50%); | |
| z-index: 40; | |
| padding: 1rem; | |
| } | |
| .sidebar-dot { | |
| width: 12px; | |
| height: 12px; | |
| border-radius: 50%; | |
| background: #d1d5db; | |
| transition: all 0.3s ease; | |
| cursor: pointer; | |
| } | |
| .sidebar-dot:hover, | |
| .sidebar-dot.active { | |
| background: linear-gradient(135deg, #22c55e 0%, #f97316 100%); | |
| transform: scale(1.5); | |
| } | |
| /* Dark Mode Styles */ | |
| body.dark-mode { | |
| background-color: #0f172a; | |
| color: #e2e8f0; | |
| } | |
| body.dark-mode .bg-white { | |
| background-color: #1e293b ; | |
| } | |
| body.dark-mode .bg-gray-50 { | |
| background-color: #0f172a ; | |
| } | |
| body.dark-mode .text-gray-900, | |
| body.dark-mode .text-gray-800, | |
| body.dark-mode .text-gray-700 { | |
| color: #e2e8f0 ; | |
| } | |
| body.dark-mode .text-gray-600 { | |
| color: #94a3b8 ; | |
| } | |
| body.dark-mode .border-gray-100 { | |
| border-color: #334155 ; | |
| } | |
| body.dark-mode .border-gray-200 { | |
| border-color: #334155 ; | |
| } | |
| body.dark-mode .bg-gray-100 { | |
| background-color: #1e293b ; | |
| } | |
| body.dark-mode .bg-gray-200 { | |
| background-color: #334155 ; | |
| } | |
| body.dark-mode header { | |
| background-color: rgba(30, 41, 59, 0.95) ; | |
| } | |
| body.dark-mode .hero-pattern { | |
| background-image: | |
| radial-gradient(circle at 20% 50%, rgba(34, 197, 94, 0.1) 0%, transparent 50%), | |
| radial-gradient(circle at 80% 80%, rgba(249, 115, 22, 0.1) 0%, transparent 50%); | |
| } | |
| /* Dark mode for gradient backgrounds - Home page "Why Farmers Choose Us" tiles */ | |
| /* Target cards with gradient backgrounds and override with dark mode colors */ | |
| body.dark-mode .card-hover.bg-gradient-to-br { | |
| background-image: none ; | |
| } | |
| body.dark-mode .card-hover[class*="from-green-50"][class*="to-green-100"] { | |
| background: linear-gradient(to bottom right, rgba(6, 78, 59, 0.4), rgba(5, 150, 105, 0.3)) ; | |
| background-image: linear-gradient(to bottom right, rgba(6, 78, 59, 0.4), rgba(5, 150, 105, 0.3)) ; | |
| } | |
| body.dark-mode .card-hover[class*="from-orange-50"][class*="to-orange-100"] { | |
| background: linear-gradient(to bottom right, rgba(124, 45, 18, 0.4), rgba(154, 52, 18, 0.3)) ; | |
| background-image: linear-gradient(to bottom right, rgba(124, 45, 18, 0.4), rgba(154, 52, 18, 0.3)) ; | |
| } | |
| body.dark-mode .card-hover[class*="from-green-50"][class*="to-orange-100"] { | |
| background: linear-gradient(to bottom right, rgba(6, 78, 59, 0.4), rgba(154, 52, 18, 0.3)) ; | |
| background-image: linear-gradient(to bottom right, rgba(6, 78, 59, 0.4), rgba(154, 52, 18, 0.3)) ; | |
| } | |
| /* Dark mode for dashboard recent analysis cards */ | |
| body.dark-mode .card-hover[class*="from-red-50"][class*="to-orange-50"] { | |
| background: linear-gradient(to bottom right, rgba(127, 29, 29, 0.4), rgba(124, 45, 18, 0.3)) ; | |
| background-image: linear-gradient(to bottom right, rgba(127, 29, 29, 0.4), rgba(124, 45, 18, 0.3)) ; | |
| } | |
| /* Dark mode for Analyze page "Analysis Complete" container */ | |
| body.dark-mode #results-section > div[class*="bg-gradient-to-br"][class*="from-green-50"][class*="to-orange-50"] { | |
| background: linear-gradient(to bottom right, rgba(6, 78, 59, 0.6), rgba(154, 52, 18, 0.5)) ; | |
| background-image: linear-gradient(to bottom right, rgba(6, 78, 59, 0.6), rgba(154, 52, 18, 0.5)) ; | |
| border-color: rgba(34, 197, 94, 0.35) ; | |
| } | |
| /* Dark mode for card borders */ | |
| body.dark-mode .border-green-200 { | |
| border-color: rgba(34, 197, 94, 0.3) ; | |
| } | |
| body.dark-mode .border-orange-200 { | |
| border-color: rgba(249, 115, 22, 0.3) ; | |
| } | |
| body.dark-mode .border-red-200 { | |
| border-color: rgba(239, 68, 68, 0.3) ; | |
| } | |
| /* Dark mode for input fields and textareas */ | |
| body.dark-mode input[type="text"], | |
| body.dark-mode input[type="email"], | |
| body.dark-mode input[type="password"], | |
| body.dark-mode textarea { | |
| background-color: #1e293b ; | |
| color: #e2e8f0 ; | |
| border-color: #334155 ; | |
| } | |
| body.dark-mode input[type="text"]:focus, | |
| body.dark-mode input[type="email"]:focus, | |
| body.dark-mode input[type="password"]:focus, | |
| body.dark-mode textarea:focus { | |
| border-color: #22c55e ; | |
| background-color: #1e293b ; | |
| color: #e2e8f0 ; | |
| } | |
| body.dark-mode input[type="text"]::placeholder, | |
| body.dark-mode input[type="email"]::placeholder, | |
| body.dark-mode input[type="password"]::placeholder, | |
| body.dark-mode textarea::placeholder { | |
| color: #64748b ; | |
| } | |
| /* Dark mode for text colors in cards */ | |
| body.dark-mode .text-gray-500 { | |
| color: #94a3b8 ; | |
| } | |
| /* Dark mode for language switcher */ | |
| body.dark-mode #lang-menu { | |
| background-color: #1e293b ; | |
| border-color: #334155 ; | |
| } | |
| body.dark-mode #lang-menu button { | |
| color: #e2e8f0 ; | |
| } | |
| body.dark-mode #lang-menu button:hover { | |
| background-color: #334155 ; | |
| color: #e2e8f0 ; | |
| } | |
| /* Dark mode for account dropdown */ | |
| body.dark-mode #account-menu { | |
| background-color: #1e293b ; | |
| border-color: #334155 ; | |
| } | |
| body.dark-mode #account-menu button { | |
| color: #e2e8f0 ; | |
| } | |
| body.dark-mode #account-menu button:hover { | |
| background-color: #334155 ; | |
| } | |
| body.dark-mode #lang-switcher { | |
| background-color: #1e293b ; | |
| color: #e2e8f0 ; | |
| } | |
| body.dark-mode #lang-switcher:hover { | |
| background-color: #334155 ; | |
| } | |
| .dark-mode-toggle { | |
| position: fixed; | |
| top: 50%; | |
| right: 2rem; | |
| transform: translateY(-50%); | |
| z-index: 40; | |
| width: 60px; | |
| height: 60px; | |
| background: linear-gradient(135deg, #22c55e 0%, #f97316 100%); | |
| border-radius: 50%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| cursor: pointer; | |
| box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); | |
| transition: all 0.3s ease; | |
| } | |
| .dark-mode-toggle:hover { | |
| transform: translateY(-50%) scale(1.1); | |
| box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4); | |
| } | |
| .dark-mode-toggle span { | |
| font-size: 28px; | |
| transition: transform 0.3s ease; | |
| } | |
| .dark-mode-toggle:hover span { | |
| transform: rotate(20deg); | |
| } | |
| /* Mobile menu styles */ | |
| #mobile-menu-btn { | |
| position: relative; | |
| } | |
| #mobile-menu { | |
| max-height: calc(100vh - 80px); | |
| overflow-y: auto; | |
| } | |
| #mobile-menu a { | |
| transition: all 0.2s ease; | |
| } | |
| #mobile-menu a:active { | |
| background-color: #f3f4f6; | |
| } | |
| /* Dark mode for mobile menu */ | |
| body.dark-mode #mobile-menu { | |
| background-color: #1e293b ; | |
| border-color: #334155 ; | |
| } | |
| body.dark-mode #mobile-menu a { | |
| color: #e2e8f0 ; | |
| } | |
| body.dark-mode #mobile-menu a:hover { | |
| background-color: #334155 ; | |
| } | |
| body.dark-mode #mobile-menu a:active { | |
| background-color: #475569 ; | |
| } | |
| body.dark-mode #mobile-menu .border-gray-200 { | |
| border-color: #334155 ; | |
| } | |
| body.dark-mode #mobile-lang-switcher { | |
| background-color: #334155 ; | |
| color: #e2e8f0 ; | |
| } | |
| body.dark-mode #mobile-lang-switcher:hover { | |
| background-color: #475569 ; | |
| } | |
| body.dark-mode #mobile-lang-menu { | |
| background-color: #1e293b ; | |
| border-color: #334155 ; | |
| } | |
| body.dark-mode #mobile-lang-menu button { | |
| color: #e2e8f0 ; | |
| } | |
| body.dark-mode #mobile-lang-menu button:hover { | |
| background-color: #334155 ; | |
| } | |
| body.dark-mode #mobile-menu-btn { | |
| color: #e2e8f0 ; | |
| } | |
| body.dark-mode #mobile-menu-btn:hover { | |
| background-color: #334155 ; | |
| } | |
| /* Mobile responsive adjustments */ | |
| @media (max-width: 768px) { | |
| header nav { | |
| position: relative; | |
| } | |
| #mobile-menu { | |
| position: fixed; | |
| top: 73px; | |
| left: 0; | |
| right: 0; | |
| max-height: calc(100vh - 73px); | |
| z-index: 45; | |
| } | |
| /* Ensure mobile menu button is visible */ | |
| #mobile-menu-btn { | |
| z-index: 50; | |
| } | |
| } | |
| @view-transition { navigation: auto; } |