thors1's picture
Initial DeepSite commit
88aa948 verified
/* 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;
}
}