/* Base styles */
body {
	margin: 0;
	padding: 0;
	background-color: #111827;
	color: #f3f4f6;
	font-family: 'JetBrains Mono', 'Consolas', 'Monaco', monospace;
	line-height: 1.6;
}

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

::-webkit-scrollbar-track {
	background: #1f2937;
}

::-webkit-scrollbar-thumb {
	background: #4b5563;
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: #6b7280;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
	font-family: 'JetBrains Mono', 'Consolas', monospace;
	font-weight: 600;
	letter-spacing: -0.025em;
}

/* Navigation active state */
.nav-btn.active {
	background-color: #374151;
	border-left: 3px solid #10b981;
}

/* Code blocks */
pre {
	font-family: 'JetBrains Mono', 'Consolas', monospace;
	line-height: 1.4;
	tab-size: 2;
}

/* Animations */
@keyframes pulse-border {
	0%, 100% { border-color: #10b981; }
	50% { border-color: #34d399; }
}

.animate-border {
	animation: pulse-border 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Status indicators */
.status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	display: inline-block;
}

.status-active {
	background-color: #10b981;
	box-shadow: 0 0 8px #10b981;
}

.status-warning {
	background-color: #f59e0b;
	box-shadow: 0 0 8px #f59e0b;
}

.status-critical {
	background-color: #ef4444;
	box-shadow: 0 0 8px #ef4444;
}

/* Card hover effects */
.hover-lift {
	transition: transform 0.2s, box-shadow 0.2s;
}

.hover-lift:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
}

/* Log entries */
.log-entry {
	font-family: 'JetBrains Mono', monospace;
	font-size: 0.75rem;
	border-left: 3px solid transparent;
	transition: all 0.2s;
}

.log-entry:hover {
	background-color: rgba(55, 65, 81, 0.5);
	border-left-color: #3b82f6;
}

/* Policy rule styling */
.policy-rule {
	background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
	border: 1px solid #374151;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.nav-btn span:last-child {
		display: none;
	}
	
	.grid-cols-3 {
		grid-template-columns: 1fr;
	}
}

/* Animation for new events */
@keyframes slideIn {
	from {
		opacity: 0;
		transform: translateX(-20px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.animate-slide-in {
	animation: slideIn 0.3s ease-out;
}

/* Pulse once for new events */
@keyframes pulseOnce {
	0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
	70% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
	100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

.animate-pulse-once {
	animation: pulseOnce 1s ease-out;
}

/* Toast animations */
.toast-enter {
	animation: slideIn 0.3s ease-out;
}

.toast-exit {
	animation: slideIn 0.3s ease-out reverse;
}

/* Real-time indicator */
.realtime-indicator {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.realtime-indicator::before {
	content: '';
	width: 8px;
	height: 8px;
	background: #10b981;
	border-radius: 50%;
	animation: pulse 2s infinite;
}

/* Print styles for reports */
@media print {
	body {
		background: white;
		color: black;
	}
	
	nav, header {
		display: none;
	}
	
	.screen {
		display: block !important;
	}
}
