skip-trace-pro / style.css
Humbl3m33's picture
I'll help you create these additional components and features for your skip tracing application. Let me build upon the existing foundation with enhanced UI components, export formats, automated workflows, and analytics dashboards.
0263b48 verified
Raw
History Blame Contribute Delete
6.32 kB
/* Custom dark theme styles */
:root {
--primary: 249 115 22;
--secondary: 59 130 246;
}
/* Scrollbar styling */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: rgb(31 41 55);
}
::-webkit-scrollbar-thumb {
background: rgb(75 85 99);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: rgb(107 114 128);
}
/* Animation classes */
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
.fade-in {
animation: fadeIn 0.3s ease-out;
}
@keyframes slideIn {
from { transform: translateX(-100%); }
to { transform: translateX(0); }
}
.slide-in {
animation: slideIn 0.3s ease-out;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
.pulse {
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
/* Glass morphism effect */
.glass {
background: rgba(17, 24, 39, 0.8);
backdrop-filter: blur(10px);
border: 1px solid rgba(75, 85, 99, 0.3);
}
/* Gradient text */
.gradient-text {
background: linear-gradient(135deg, rgb(249 115 22), rgb(59 130 246));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Hover effects */
.hover-lift {
transition: transform 0.2s ease;
}
.hover-lift:hover {
transform: translateY(-2px);
}
/* Loading spinner */
.spinner {
border: 2px solid rgb(75 85 99);
border-top: 2px solid rgb(249 115 22);
border-radius: 50%;
width: 20px;
height: 20px;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* Status badges */
.status-badge {
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.75rem;
font-weight: 500;
display: inline-flex;
align-items: center;
gap: 0.25rem;
}
.status-active {
background: rgba(34, 197, 94, 0.2);
color: rgb(74 222 128);
}
.status-inactive {
background: rgba(239, 68, 68, 0.2);
color: rgb(248 113 113);
}
.status-pending {
background: rgba(251, 191, 36, 0.2);
color: rgb(252 211 77);
}
/* Card hover effects */
.card-hover {
transition: all 0.3s ease;
}
.card-hover:hover {
transform: translateY(-4px);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
/* Button animations */
.btn-primary {
background: linear-gradient(135deg, rgb(249 115 22), rgb(234 88 12));
transition: all 0.3s ease;
}
.btn-primary:hover {
background: linear-gradient(135deg, rgb(234 88 12), rgb(194 65 12));
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(249, 115, 22, 0.4);
}
.btn-secondary {
background: linear-gradient(135deg, rgb(59 130 246), rgb(37 99 235));
transition: all 0.3s ease;
}
.btn-secondary:hover {
background: linear-gradient(135deg, rgb(37 99 235), rgb(29 78 216));
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}
/* Responsive grid adjustments */
@media (max-width: 768px) {
.container {
padding-left: 1rem;
padding-right: 1rem;
}
}
/* Tab navigation */
.tab-nav {
display: flex;
gap: 0.5rem;
padding: 0.25rem;
background: rgb(31 41 55);
border-radius: 0.5rem;
}
.tab-nav button {
padding: 0.5rem 1rem;
border-radius: 0.375rem;
transition: all 0.2s ease;
}
.tab-nav button.active {
background: rgb(249 115 22);
color: white;
}
/* Progress bar */
.progress-bar {
height: 0.5rem;
background: rgb(55 65 81);
border-radius: 0.25rem;
overflow: hidden;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, rgb(249 115 22), rgb(59 130 246));
border-radius: 0.25rem;
transition: width 0.3s ease;
}
/* Notification styles */
.notification {
position: fixed;
top: 1rem;
right: 1rem;
z-index: 1000;
padding: 1rem 1.5rem;
border-radius: 0.5rem;
background: rgb(31 41 55);
border: 1px solid rgb(75 85 99);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
animation: slideInRight 0.3s ease-out;
}
@keyframes slideInRight {
from { transform: translateX(100%); }
to { transform: translateX(0); }
}
/* Search result item */
.search-result-item {
border: 1px solid rgb(75 85 99);
border-radius: 0.5rem;
padding: 1rem;
margin-bottom: 0.75rem;
transition: all 0.2s ease;
}
.search-result-item:hover {
border-color: rgb(249 115 22);
background: rgb(31 41 55);
}
/* Confidence score indicator */
.confidence-score {
display: inline-flex;
align-items: center;
padding: 0.25rem 0.5rem;
border-radius: 0.25rem;
font-size: 0.75rem;
font-weight: 600;
}
.confidence-high {
background: rgba(34, 197, 94, 0.2);
color: rgb(74 222 128);
}
.confidence-medium {
background: rgba(251, 191, 36, 0.2);
color: rgb(252 211 77);
}
.confidence-low {
background: rgba(239, 68, 68, 0.2);
color: rgb(248 113 113);
}
/* Data source chips */
.source-chip {
display: inline-flex;
align-items: center;
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.75rem;
background: rgb(55 65 81);
color: rgb(209 213 219);
margin-right: 0.5rem;
margin-bottom: 0.5rem;
}
.source-chip.active {
background: rgba(249 115 22, 0.2);
color: rgb(251 146 60);
border: 1px solid rgb(249 115 22);
}
/* Asset list */
.asset-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.75rem;
background: rgb(31 41 55);
border-radius: 0.5rem;
margin-bottom: 0.5rem;
}
.asset-item:hover {
background: rgb(55 65 81);
}
/* Mobile menu */
.mobile-menu {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 999;
display: none;
}
.mobile-menu.active {
display: block;
}
.mobile-menu-content {
background: rgb(17 24 39);
width: 280px;
height: 100%;
padding: 1.5rem;
overflow-y: auto;
}
/* Focus styles */
.focus-ring:focus {
outline: 2px solid rgb(249 115 22);
outline-offset: 2px;
}
/* Dark mode overrides for charts */
.chart-container {
filter: invert(1) hue-rotate(180deg);
}
.chart-container img {
filter: invert(1) hue-rotate(180deg);
}