/* Additional Custom Styles for DeepSite Settings */ /* Smooth transitions for all interactive elements */ .sidebar-item, button, input, select { transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); } /* Custom focus states */ input:focus, select:focus, button:focus { outline: none; ring: 2px; ring-color: rgba(14, 150, 146, 0.2); } /* Premium hover effects */ .sidebar-group > button:hover { background-color: rgba(14, 150, 146, 0.05); color: #0e9692; } /* Active route indicator animation */ .sidebar-item.active { position: relative; background-color: rgba(14, 150, 146, 0.08); color: #0e9692; font-weight: 500; } .sidebar-item.active::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 3px; height: 20px; background-color: #0e9692; border-radius: 0 4px 4px 0; } /* Submenu indentation line */ .submenu { position: relative; } .submenu::before { content: ''; position: absolute; left: 20px; top: 0; bottom: 0; width: 1px; background-color: #e5e7eb; } /* Card hover effects */ .bg-white.rounded-xl { transition: transform 0.2s ease, box-shadow 0.2s ease; } .bg-white.rounded-xl:hover { transform: translateY(-1px); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); } /* Primary color utilities */ .text-primary { color: #0e9692; } .bg-primary { background-color: #0e9692; } .bg-primary\/10 { background-color: rgba(14, 150, 146, 0.1); } .border-primary\/20 { border-color: rgba(14, 150, 146, 0.2); } /* Command palette animations */ #command-palette > div:last-child { animation: slideDown 0.2s ease-out; } @keyframes slideDown { from { opacity: 0; transform: translateX(-50%) translateY(-10px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } } /* Mobile optimizations */ @media (max-width: 1024px) { #sidebar { box-shadow: 4px 0 24px rgba(0, 0, 0, 0.1); } } /* Glassmorphism for command palette */ .command-palette { background: rgba(0, 0, 0, 0.3); backdrop-filter: blur(4px); } /* Loading states */ .loading-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .5; } } /* Custom scrollbar for sidebar */ aside::-webkit-scrollbar { width: 4px; } aside::-webkit-scrollbar-thumb { background-color: transparent; } aside:hover::-webkit-scrollbar-thumb { background-color: #d1d5db; } /* Ensure smooth scrolling */ html { scroll-behavior: smooth; } /* Form element styling consistency */ input[type="text"], input[type="tel"], input[type="email"], select { background-color: white; border: 1px solid #d1d5db; border-radius: 0.5rem; padding: 0.5rem 0.75rem; font-size: 0.875rem; line-height: 1.25rem; color: #111827; width: 100%; transition: all 0.2s; } input[type="text"]:hover, input[type="tel"]:hover, input[type="email"]:hover, select:hover { border-color: #9ca3af; } input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, select:focus { border-color: #0e9692; box-shadow: 0 0 0 3px rgba(14, 150, 146, 0.1); } /* Badge styling */ #page-badge { font-size: 0.75rem; padding: 0.25rem 0.75rem; border-radius: 9999px; font-weight: 600; letter-spacing: 0.025em; background-color: rgba(14, 150, 146, 0.1); color: #0e9692; border: 1px solid rgba(14, 150, 146, 0.2); } /* Content area spacing */ #content-area > div { margin-bottom: 1.5rem; } #content-area > div:last-child { margin-bottom: 0; } /* Group labels in sidebar */ .sidebar-group { margin-bottom: 0.25rem; } /* Ensure icons are properly sized */ i[data-lucide] { stroke-width: 2; flex-shrink: 0; } /* Animation for page transitions */ .fade-in { animation: fadeIn 0.4s ease-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Secondary button states */ button.secondary { background-color: white; border: 1px solid #e5e7eb; color: #374151; } button.secondary:hover { background-color: #f9fafb; border-color: #d1d5db; } /* Primary button shadow */ button.bg-primary { box-shadow: 0 1px 3px 0 rgba(14, 150, 146, 0.3), 0 1px 2px 0 rgba(14, 150, 146, 0.2); } button.bg-primary:hover { box-shadow: 0 4px 6px -1px rgba(14, 150, 146, 0.3), 0 2px 4px -1px rgba(14, 150, 146, 0.2); transform: translateY(-1px); } /* Responsive typography */ @media (max-width: 640px) { h2 { font-size: 1.125rem; } .text-lg { font-size: 1rem; } } /* Print styles */ @media print { #sidebar, header, button { display: none; } #content-area { overflow: visible; } }