@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

[x-cloak] {
    display: none !important;
}

:root {
    --bg-primary: #0a0a0a;
    --bg-secondary: #111111;
    --bg-card: #1a1a1a;
    --bg-card-hover: #222222;
    --bg-input: #111111;
    --border-color: #2a2a2a;
    --border-light: #333333;
    --text-primary: #ffffff;
    --text-secondary: #888888;
    --text-muted: #666666;
    --accent-green: #4ade80;
    --accent-green-bright: #22c55e;
    --accent-blue: #3b82f6;
    --accent-processing: #60a5fa;
    --accent-red: #ef4444;
    --accent-yellow: #eab308;
}

* {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

body {
    background: var(--bg-primary);
    color: var(--text-primary);
}

/* Glow effects */
.glow-green {
    box-shadow: 0 0 20px rgba(74, 222, 128, 0.08), 0 0 60px rgba(74, 222, 128, 0.03);
}

.glow-blue {
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.08), 0 0 60px rgba(59, 130, 246, 0.03);
}

.glow-red {
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.08), 0 0 60px rgba(239, 68, 68, 0.03);
}

.glow-yellow {
    box-shadow: 0 0 20px rgba(234, 179, 8, 0.08), 0 0 60px rgba(234, 179, 8, 0.03);
}

/* Animated gradient border for cards on hover */
.card-hover {
    transition: all 0.2s ease;
    position: relative;
}

.card-hover:hover {
    background: var(--bg-card-hover);
    border-color: var(--border-light);
}

/* Table */
.audit-table tbody tr {
    transition: background 0.15s ease;
}

.audit-table tbody tr:hover {
    background: var(--bg-card);
}

/* Progress bar animation */
.progress-bar {
    transition: width 0.6s ease;
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--border-light);
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* Row selection left border indicator */
.audit-table tbody tr {
    border-left: 2px solid transparent;
}

/* Pulse animation for processing */
@keyframes pulse-dot {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

/* Checkbox check animation */
@keyframes check-pop {
    0%   { transform: scale(0.6); opacity: 0; }
    60%  { transform: scale(1.15); }
    100% { transform: scale(1); opacity: 1; }
}

.check-animate {
    animation: check-pop 0.15s ease-out forwards;
}

.pulse-dot {
    animation: pulse-dot 1.5s ease-in-out infinite;
}

/* Subtle grid background */
.grid-bg {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 40px 40px;
}
