mirror of
https://github.com/thecyberlearn/victor-ai.git
synced 2026-08-18 08:53:04 +00:00
813 lines
19 KiB
CSS
813 lines
19 KiB
CSS
/* Common Styles for AI Services Hub */
|
|
|
|
/* Import fonts */
|
|
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');
|
|
|
|
/* Reset and base styles */
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
font-family: 'Plus Jakarta Sans', sans-serif;
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
min-height: 100vh;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
/* Layout utilities */
|
|
.container {
|
|
max-width: 7xl;
|
|
margin: 0 auto;
|
|
padding: 0 1rem;
|
|
}
|
|
|
|
@media (min-width: 640px) {
|
|
.container {
|
|
padding: 0 1.5rem;
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
.container {
|
|
padding: 0 2rem;
|
|
}
|
|
}
|
|
|
|
/* Component styles */
|
|
.glass-effect {
|
|
background: rgba(255, 255, 255, 0.1);
|
|
backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
.card-hover {
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.card-hover:hover {
|
|
transform: translateY(-4px);
|
|
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.service-card {
|
|
background: white;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
border: 1px solid #e5e7eb;
|
|
}
|
|
|
|
.service-card:hover {
|
|
transform: translateY(-8px);
|
|
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
/* Custom scrollbar */
|
|
.custom-scrollbar::-webkit-scrollbar {
|
|
width: 4px;
|
|
}
|
|
|
|
.custom-scrollbar::-webkit-scrollbar-track {
|
|
background: rgba(255, 255, 255, 0.1);
|
|
border-radius: 2px;
|
|
}
|
|
|
|
.custom-scrollbar::-webkit-scrollbar-thumb {
|
|
background: rgba(255, 255, 255, 0.3);
|
|
border-radius: 2px;
|
|
}
|
|
|
|
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
|
|
background: rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
/* Loading skeleton */
|
|
.loading-skeleton {
|
|
background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
|
|
background-size: 200% 100%;
|
|
animation: loading 1.5s infinite;
|
|
}
|
|
|
|
@keyframes loading {
|
|
0% { background-position: 200% 0; }
|
|
100% { background-position: -200% 0; }
|
|
}
|
|
|
|
/* Animations */
|
|
@keyframes fadeIn {
|
|
from { opacity: 0; transform: translateY(20px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
@keyframes slideUp {
|
|
from { opacity: 0; transform: translateY(20px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
|
|
@keyframes fadeLine {
|
|
from { opacity: 0; }
|
|
to { opacity: 1; }
|
|
}
|
|
|
|
@keyframes float {
|
|
0%, 100% { transform: translateY(0px); }
|
|
50% { transform: translateY(-10px); }
|
|
}
|
|
|
|
@keyframes pulse-glow {
|
|
0%, 100% { box-shadow: 0 0 20px rgba(102, 126, 234, 0.4); }
|
|
50% { box-shadow: 0 0 30px rgba(102, 126, 234, 0.8); }
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
|
|
70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(16, 185, 129, 0); }
|
|
100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
|
|
}
|
|
|
|
.animate-pulse-soft {
|
|
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
}
|
|
|
|
@keyframes pulse-soft {
|
|
0%, 100% { opacity: 1; }
|
|
50% { opacity: 0.7; }
|
|
}
|
|
|
|
.fade-in {
|
|
animation: fadeIn 0.4s ease-out;
|
|
}
|
|
|
|
.animate-slide-up {
|
|
animation: slideUp 0.4s ease-out;
|
|
}
|
|
|
|
.animate-fade {
|
|
animation: fadeLine 0.6s ease-in;
|
|
}
|
|
|
|
.float-animation {
|
|
animation: float 3s ease-in-out infinite;
|
|
}
|
|
|
|
.pulse-glow {
|
|
animation: pulse-glow 2s ease-in-out infinite;
|
|
}
|
|
|
|
/* Status indicator */
|
|
.status-indicator {
|
|
position: relative;
|
|
}
|
|
|
|
.status-indicator::before {
|
|
content: '';
|
|
position: absolute;
|
|
top: -2px;
|
|
right: -2px;
|
|
width: 12px;
|
|
height: 12px;
|
|
background: #10b981;
|
|
border-radius: 50%;
|
|
border: 2px solid white;
|
|
animation: pulse 2s infinite;
|
|
}
|
|
|
|
/* CONSOLIDATED MOBILE STYLES - REPLACE ALL EXISTING MOBILE CSS */
|
|
|
|
/* Mobile responsive utilities */
|
|
@media (max-width: 768px) {
|
|
.mobile-stack {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.mobile-full {
|
|
width: 100%;
|
|
}
|
|
|
|
.mobile-stats-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, 1fr);
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.service-grid {
|
|
grid-template-columns: 1fr;
|
|
gap: 1.5rem;
|
|
}
|
|
|
|
/* Header Section */
|
|
.text-center.mb-8 h1 {
|
|
font-size: 2rem !important;
|
|
line-height: 1.2;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
/* Enhanced Search Command Center */
|
|
.bg-white.rounded-2xl.p-6.mb-8 {
|
|
padding: 1rem !important;
|
|
margin-bottom: 1.5rem !important;
|
|
}
|
|
|
|
/* Trade AI Command Header */
|
|
.flex.items-center.gap-3.mb-4 h2 {
|
|
font-size: 1.125rem !important;
|
|
}
|
|
|
|
/* Search Input */
|
|
#query {
|
|
font-size: 16px !important;
|
|
padding: 0.875rem !important;
|
|
}
|
|
|
|
/* Search Button */
|
|
.bg-blue-600.hover\:bg-blue-700 {
|
|
padding: 0.875rem 1.5rem !important;
|
|
min-width: auto !important;
|
|
}
|
|
|
|
/* Search button inline with text input - only lens icon */
|
|
.flex.flex-col.sm\:flex-row.gap-3.mb-4 {
|
|
flex-direction: row !important;
|
|
gap: 0.75rem !important;
|
|
align-items: stretch !important;
|
|
}
|
|
|
|
.flex.flex-col.sm\:flex-row.gap-3.mb-4 .flex-1 {
|
|
flex: 1 !important;
|
|
}
|
|
|
|
.flex.flex-col.sm\:flex-row.gap-3.mb-4 button {
|
|
width: auto !important;
|
|
min-width: 50px !important;
|
|
padding: 0.875rem 1rem !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
/* Hide search button text on mobile, show only icon */
|
|
.flex.flex-col.sm\:flex-row.gap-3.mb-4 button span {
|
|
display: none !important;
|
|
}
|
|
|
|
.flex.flex-col.sm\:flex-row.gap-3.mb-4 button i {
|
|
margin-right: 0 !important;
|
|
font-size: 1rem !important;
|
|
}
|
|
|
|
/* Quick searches in single row with horizontal scroll */
|
|
.flex.flex-wrap.gap-2 {
|
|
flex-direction: row !important;
|
|
flex-wrap: nowrap !important;
|
|
overflow-x: auto !important;
|
|
overflow-y: hidden !important;
|
|
align-items: center !important;
|
|
padding: 0.5rem 0 !important;
|
|
margin-bottom: 0.75rem !important;
|
|
-webkit-overflow-scrolling: touch !important;
|
|
scrollbar-width: none !important;
|
|
-ms-overflow-style: none !important;
|
|
gap: 0.5rem !important;
|
|
position: relative !important;
|
|
}
|
|
|
|
/* Hide scrollbar on mobile */
|
|
.flex.flex-wrap.gap-2::-webkit-scrollbar {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Quick searches label */
|
|
.flex.flex-wrap.gap-2 span.text-sm.text-gray-500 {
|
|
flex-shrink: 0 !important;
|
|
white-space: nowrap !important;
|
|
margin-right: 0.5rem !important;
|
|
font-size: 0.875rem !important;
|
|
color: #6b7280 !important;
|
|
align-self: center !important;
|
|
}
|
|
|
|
/* Quick search buttons mobile */
|
|
.flex.flex-wrap.gap-2 button {
|
|
flex-shrink: 0 !important;
|
|
white-space: nowrap !important;
|
|
font-size: 0.75rem !important;
|
|
padding: 0.5rem 0.75rem !important;
|
|
min-width: fit-content !important;
|
|
width: auto !important;
|
|
}
|
|
|
|
/* Advanced Filters Section */
|
|
.border-t.border-gray-200.pt-4 {
|
|
padding-top: 1rem !important;
|
|
}
|
|
|
|
/* Advanced Filters Grid */
|
|
.grid.grid-cols-1.md\:grid-cols-3.gap-4 {
|
|
grid-template-columns: 1fr !important;
|
|
gap: 0.75rem !important;
|
|
}
|
|
|
|
/* Form Labels */
|
|
.block.text-sm.font-medium.text-gray-700.mb-2 {
|
|
margin-bottom: 0.5rem !important;
|
|
font-size: 0.875rem !important;
|
|
}
|
|
|
|
/* Form Inputs and Selects */
|
|
.w-full.px-3.py-2 {
|
|
padding: 0.75rem !important;
|
|
font-size: 16px !important;
|
|
}
|
|
|
|
/* Advanced Search Buttons - Mobile Override */
|
|
.flex.flex-wrap.gap-3 {
|
|
display: grid !important;
|
|
grid-template-columns: 1fr 1fr !important;
|
|
gap: 0.75rem !important;
|
|
}
|
|
|
|
/* Hide Reset button on mobile */
|
|
.flex.flex-wrap.gap-3 button:nth-child(3) {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Style remaining buttons */
|
|
.flex.flex-wrap.gap-3 button:nth-child(1),
|
|
.flex.flex-wrap.gap-3 button:nth-child(2) {
|
|
width: 100% !important;
|
|
justify-content: center !important;
|
|
padding: 0.75rem 0.5rem !important;
|
|
font-size: 0.875rem !important;
|
|
}
|
|
|
|
/* Main Content Grid - Stack on mobile */
|
|
.grid.grid-cols-1.lg\:grid-cols-3.gap-6 {
|
|
grid-template-columns: 1fr !important;
|
|
gap: 1rem !important;
|
|
}
|
|
|
|
/* Results Section */
|
|
.lg\:col-span-2 {
|
|
grid-column: span 1 !important;
|
|
}
|
|
|
|
/* Search Results Container */
|
|
#resultsSection .bg-white.rounded-2xl {
|
|
padding: 1rem !important;
|
|
margin-bottom: 1rem !important;
|
|
}
|
|
|
|
/* Search Results Header */
|
|
#resultsSection .flex.items-center.justify-between {
|
|
flex-direction: column !important;
|
|
align-items: flex-start !important;
|
|
gap: 1rem !important;
|
|
margin-bottom: 1rem !important;
|
|
}
|
|
|
|
#resultsSection .flex.items-center.justify-between h3 {
|
|
font-size: 1.25rem !important;
|
|
margin-bottom: 0 !important;
|
|
}
|
|
|
|
/* Results Count and Controls */
|
|
#resultsSection .flex.items-center.gap-2 {
|
|
width: 100% !important;
|
|
justify-content: space-between !important;
|
|
flex-wrap: wrap !important;
|
|
gap: 0.5rem !important;
|
|
}
|
|
|
|
#resultsCount {
|
|
font-size: 0.875rem !important;
|
|
color: #059669 !important;
|
|
background: #ecfdf5 !important;
|
|
padding: 0.25rem 0.5rem !important;
|
|
border-radius: 0.375rem !important;
|
|
border: 1px solid #a7f3d0 !important;
|
|
font-weight: 500 !important;
|
|
order: 1 !important;
|
|
width: 100% !important;
|
|
}
|
|
|
|
/* Sort Dropdown */
|
|
#sortBy {
|
|
font-size: 0.875rem !important;
|
|
padding: 0.5rem !important;
|
|
order: 2 !important;
|
|
flex: 1 !important;
|
|
min-width: 120px !important;
|
|
background: white !important;
|
|
border: 1px solid #d1d5db !important;
|
|
border-radius: 0.5rem !important;
|
|
font-weight: 500 !important;
|
|
}
|
|
|
|
#sortBy:focus {
|
|
border-color: #3b82f6 !important;
|
|
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
|
|
}
|
|
|
|
/* Export Button */
|
|
.bg-gray-100.hover\:bg-gray-200 {
|
|
font-size: 0.875rem !important;
|
|
padding: 0.5rem 0.75rem !important;
|
|
order: 3 !important;
|
|
flex-shrink: 0 !important;
|
|
background: #f3f4f6 !important;
|
|
border: 1px solid #d1d5db !important;
|
|
border-radius: 0.5rem !important;
|
|
font-weight: 500 !important;
|
|
transition: all 0.15s ease !important;
|
|
}
|
|
|
|
/* ===== SEARCH RESULTS MOBILE STYLING ===== */
|
|
|
|
/* Main search results container */
|
|
#results {
|
|
grid-template-columns: 1fr !important;
|
|
gap: 1rem !important;
|
|
}
|
|
|
|
/* Individual result cards - SIMPLE DESKTOP-LIKE LAYOUT */
|
|
#results > div {
|
|
border: 1px solid #e5e7eb !important;
|
|
border-radius: 0.5rem !important;
|
|
padding: 1rem !important;
|
|
margin-bottom: 0.75rem !important;
|
|
background: #ffffff !important;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06) !important;
|
|
transition: all 0.2s ease !important;
|
|
}
|
|
|
|
/* Company header with flag and name - KEEP DESKTOP LAYOUT */
|
|
#results .flex.items-center.gap-3 {
|
|
gap: 0.75rem !important;
|
|
margin-bottom: 0.75rem !important;
|
|
flex-direction: row !important;
|
|
align-items: center !important;
|
|
}
|
|
|
|
/* Flag element */
|
|
#results .w-8.h-6 {
|
|
flex-shrink: 0 !important;
|
|
width: 2rem !important;
|
|
height: 1.5rem !important;
|
|
}
|
|
|
|
/* Company name */
|
|
#results .text-base.font-bold,
|
|
#results .text-lg.font-bold {
|
|
flex: 1 !important;
|
|
font-size: 1rem !important;
|
|
line-height: 1.3 !important;
|
|
word-break: break-word !important;
|
|
color: #1f2937 !important;
|
|
font-weight: 600 !important;
|
|
}
|
|
|
|
/* Contact information section - KEEP DESKTOP STRUCTURE */
|
|
#results .space-y-2 {
|
|
margin-top: 0.75rem !important;
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.5rem !important;
|
|
}
|
|
|
|
/* Individual contact items - CLEAN ROWS LIKE DESKTOP */
|
|
#results .flex.items-center.gap-2,
|
|
#results .flex.items-start.gap-2 {
|
|
margin-bottom: 0 !important;
|
|
align-items: center !important;
|
|
padding: 0.25rem 0 !important;
|
|
background: transparent !important;
|
|
border: none !important;
|
|
border-radius: 0 !important;
|
|
box-shadow: none !important;
|
|
gap: 0.75rem !important;
|
|
}
|
|
|
|
/* Icons - ensure they display properly */
|
|
#results .fas,
|
|
#results .fa {
|
|
width: 1rem !important;
|
|
text-align: center !important;
|
|
flex-shrink: 0 !important;
|
|
margin-right: 0.5rem !important;
|
|
font-size: 0.875rem !important;
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
justify-content: center !important;
|
|
}
|
|
|
|
/* Icon colors - same as desktop */
|
|
#results .fa-phone { color: #059669 !important; }
|
|
#results .fa-envelope { color: #2563eb !important; }
|
|
#results .fa-globe { color: #7c3aed !important; }
|
|
#results .fa-map-marker-alt { color: #dc2626 !important; }
|
|
|
|
/* Contact text */
|
|
#results .flex.items-center.gap-2 span,
|
|
#results .flex.items-center.gap-2 a,
|
|
#results .flex.items-start.gap-2 span {
|
|
word-break: break-word !important;
|
|
line-height: 1.3 !important;
|
|
font-size: 0.875rem !important;
|
|
flex: 1 !important;
|
|
margin: 0 !important;
|
|
}
|
|
|
|
/* Text colors - same as desktop */
|
|
#results .text-green-600 { color: #059669 !important; }
|
|
#results .text-blue-600 { color: #2563eb !important; }
|
|
#results .text-purple-600 { color: #7c3aed !important; }
|
|
#results .text-gray-600 { color: #4b5563 !important; }
|
|
#results .text-blue-700 { color: #1d4ed8 !important; }
|
|
|
|
/* Product tags - same as desktop structure */
|
|
#results .flex.flex-wrap.gap-1 {
|
|
margin-top: 0.75rem !important;
|
|
gap: 0.375rem !important;
|
|
padding-top: 0.75rem !important;
|
|
border-top: 1px solid #f3f4f6 !important;
|
|
}
|
|
|
|
/* Product tag styling - same as desktop */
|
|
#results .bg-blue-50,
|
|
#results .bg-blue-100 {
|
|
font-size: 0.75rem !important;
|
|
padding: 0.25rem 0.5rem !important;
|
|
background: linear-gradient(135deg, #dbeafe, #bfdbfe) !important;
|
|
color: #1e40af !important;
|
|
border: 1px solid #93c5fd !important;
|
|
border-radius: 9999px !important;
|
|
display: inline-block !important;
|
|
margin: 0.25rem 0.25rem 0.25rem 0 !important;
|
|
font-weight: 500 !important;
|
|
}
|
|
|
|
/* Hover effects - same as desktop */
|
|
#results > div:hover {
|
|
transform: translateY(-2px) !important;
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
|
|
}
|
|
|
|
/* Remove hover effects on contact items */
|
|
#results .flex.items-center.gap-2:hover,
|
|
#results .flex.items-start.gap-2:hover {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
transform: none !important;
|
|
}
|
|
|
|
/* Links - ensure they're touch-friendly */
|
|
#results a {
|
|
min-height: 32px !important;
|
|
display: inline-flex !important;
|
|
align-items: center !important;
|
|
text-decoration: none !important;
|
|
}
|
|
|
|
#results a:hover {
|
|
opacity: 0.8 !important;
|
|
}
|
|
|
|
/* CRUD Wrench Button */
|
|
.fixed.bottom-6.right-6 {
|
|
bottom: 1rem !important;
|
|
right: 1rem !important;
|
|
}
|
|
|
|
.w-14.h-14 {
|
|
width: 3rem !important;
|
|
height: 3rem !important;
|
|
}
|
|
|
|
/* CRUD Modal Mobile Adjustments */
|
|
.max-w-4xl {
|
|
max-width: calc(100vw - 2rem) !important;
|
|
margin: 1rem !important;
|
|
}
|
|
|
|
.max-h-\[90vh\] {
|
|
max-height: calc(100vh - 2rem) !important;
|
|
}
|
|
|
|
/* CRUD Modal Content */
|
|
.p-6 {
|
|
padding: 1rem !important;
|
|
}
|
|
|
|
/* CRUD Form Grids */
|
|
.grid.grid-cols-1.md\:grid-cols-2.gap-4 {
|
|
grid-template-columns: 1fr !important;
|
|
gap: 0.75rem !important;
|
|
}
|
|
|
|
/* Toast Notifications */
|
|
.fixed.top-4.right-4 {
|
|
top: 1rem !important;
|
|
right: 1rem !important;
|
|
left: 1rem !important;
|
|
}
|
|
|
|
.max-w-sm {
|
|
max-width: none !important;
|
|
}
|
|
}
|
|
|
|
/* Very small screens */
|
|
@media (max-width: 480px) {
|
|
#results > div {
|
|
padding: 0.875rem !important;
|
|
}
|
|
|
|
#results .text-base.font-bold,
|
|
#results .text-lg.font-bold {
|
|
font-size: 0.9375rem !important;
|
|
}
|
|
|
|
#results .flex.items-center.gap-2 span,
|
|
#results .flex.items-center.gap-2 a {
|
|
font-size: 0.8125rem !important;
|
|
}
|
|
}
|
|
|
|
/* Tablet and larger screens */
|
|
@media (min-width: 769px) and (max-width: 1024px) {
|
|
.service-grid {
|
|
grid-template-columns: repeat(2, 1fr);
|
|
}
|
|
}
|
|
|
|
@media (min-width: 1025px) {
|
|
.service-grid {
|
|
grid-template-columns: repeat(2, 1fr);
|
|
}
|
|
}
|
|
|
|
/* IMMEDIATE MOBILE FIXES - Add to end of styles.css */
|
|
|
|
@media (max-width: 768px) {
|
|
/* Fix search button staying inline with input */
|
|
.flex.flex-col.sm\:flex-row.gap-3.mb-4 {
|
|
flex-direction: row !important;
|
|
align-items: stretch !important;
|
|
gap: 0.5rem !important;
|
|
}
|
|
|
|
.flex.flex-col.sm\:flex-row.gap-3.mb-4 .flex-1 {
|
|
flex: 1 !important;
|
|
}
|
|
|
|
.flex.flex-col.sm\:flex-row.gap-3.mb-4 button {
|
|
width: auto !important;
|
|
min-width: 50px !important;
|
|
flex-shrink: 0 !important;
|
|
padding: 0.875rem 1rem !important;
|
|
}
|
|
|
|
/* Hide button text on mobile, show only icon */
|
|
.flex.flex-col.sm\:flex-row.gap-3.mb-4 button span {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Fix advanced search buttons */
|
|
.flex.flex-wrap.gap-3 {
|
|
display: grid !important;
|
|
grid-template-columns: 1fr 1fr !important;
|
|
gap: 0.5rem !important;
|
|
}
|
|
|
|
/* Hide reset button on mobile for cleaner look */
|
|
.flex.flex-wrap.gap-3 button:nth-child(3) {
|
|
grid-column: span 2 !important;
|
|
font-size: 0.8rem !important;
|
|
}
|
|
|
|
/* Fix modal sizing */
|
|
.max-w-4xl, .max-w-2xl {
|
|
max-width: calc(100vw - 1rem) !important;
|
|
margin: 0.5rem !important;
|
|
}
|
|
|
|
/* Improve touch targets */
|
|
button, .cursor-pointer {
|
|
min-height: 44px !important;
|
|
}
|
|
}
|
|
|
|
/* Very small screens (phones in portrait) */
|
|
@media (max-width: 480px) {
|
|
.px-4 {
|
|
padding-left: 0.75rem !important;
|
|
padding-right: 0.75rem !important;
|
|
}
|
|
|
|
.text-3xl, .text-4xl {
|
|
font-size: 1.5rem !important;
|
|
line-height: 1.3 !important;
|
|
}
|
|
|
|
/* Stack stats in 2x2 grid instead of 4x1 */
|
|
.grid.grid-cols-2.lg\:grid-cols-4 {
|
|
grid-template-columns: repeat(2, 1fr) !important;
|
|
gap: 0.5rem !important;
|
|
}
|
|
}
|
|
|
|
/* Searchable Country Dropdown Styles - Add to end of styles.css */
|
|
|
|
/* Input with search icon */
|
|
.relative input[id$="_input"] {
|
|
padding-right: 2.5rem !important;
|
|
}
|
|
|
|
/* Search icon positioning */
|
|
.relative .absolute.right-3 {
|
|
pointer-events: none;
|
|
z-index: 5;
|
|
}
|
|
|
|
/* Dropdown menu */
|
|
.relative .absolute.z-20 {
|
|
border: 1px solid #d1d5db;
|
|
border-radius: 0.5rem;
|
|
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
background: white;
|
|
max-height: 12rem;
|
|
overflow-y: auto;
|
|
margin-top: 0.25rem;
|
|
}
|
|
|
|
/* Dropdown options */
|
|
.relative .absolute.z-20 > div {
|
|
padding: 0.75rem;
|
|
cursor: pointer;
|
|
font-size: 0.875rem;
|
|
border-bottom: 1px solid #f3f4f6;
|
|
transition: all 0.15s ease;
|
|
}
|
|
|
|
.relative .absolute.z-20 > div:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.relative .absolute.z-20 > div:hover {
|
|
background-color: #eff6ff;
|
|
color: #1d4ed8;
|
|
}
|
|
|
|
/* Highlighted option (keyboard navigation) */
|
|
.relative .absolute.z-20 > div.bg-blue-100 {
|
|
background-color: #dbeafe !important;
|
|
color: #1e40af !important;
|
|
}
|
|
|
|
/* Custom scrollbar for dropdown */
|
|
.relative .absolute.z-20::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
.relative .absolute.z-20::-webkit-scrollbar-track {
|
|
background: #f1f5f9;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.relative .absolute.z-20::-webkit-scrollbar-thumb {
|
|
background: #cbd5e1;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.relative .absolute.z-20::-webkit-scrollbar-thumb:hover {
|
|
background: #94a3b8;
|
|
}
|
|
|
|
/* Mobile improvements */
|
|
@media (max-width: 768px) {
|
|
.relative input[id$="_input"] {
|
|
font-size: 16px !important; /* Prevents zoom on iOS */
|
|
padding: 0.875rem 2.5rem 0.875rem 0.75rem !important;
|
|
}
|
|
|
|
.relative .absolute.z-20 > div {
|
|
padding: 1rem 0.75rem;
|
|
min-height: 44px; /* Better touch targets */
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.relative .absolute.z-20 {
|
|
max-height: 10rem; /* Smaller on mobile */
|
|
}
|
|
}
|
|
|
|
/* Focus styles for accessibility */
|
|
.relative input[id$="_input"]:focus {
|
|
outline: none !important;
|
|
border-color: #3b82f6 !important;
|
|
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
|
|
}
|
|
|
|
/* Animation for icon change */
|
|
.relative .absolute.right-3 i {
|
|
transition: all 0.2s ease;
|
|
} |