:root {
	--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	--primary-color: #667eea;
	--secondary-color: #764ba2;
	--bg-dark: #0f0a1a;
	--bg-card: #1a1425;
	--bg-card-hover: #231c32;
	--bg-elevated: #251e35;
	--text-primary: #fff;
	--text-secondary: #a0a0b0;
	--text-muted: #6b6b80;
	--success: #10b981;
	--danger: #ef4444;
	--warning: #f59e0b;
	--sidebar-width: 240px;
	--title-bar-height: 40px;
	--glass-border: rgba(255, 255, 255, 0.1);
	--shadow-glow: 0 0 40px rgba(102, 126, 234, 0.3);
	--transition-normal: 250ms ease
}

*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box
}

html,
body {
	height: 100%;
	overflow: hidden
}

body {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	background: var(--bg-dark);
	color: var(--text-primary);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased
}

button {
	font-family: inherit;
	cursor: pointer;
	border: none;
	background: none
}

input {
	font-family: inherit;
	border: none;
	outline: none
}

.title-bar {
	height: var(--title-bar-height);
	background: var(--bg-card);
	border-bottom: 1px solid var(--glass-border);
	display: flex;
	justify-content: space-between;
	align-items: center;
	-webkit-app-region: drag;
	user-select: none
}

.title-bar-drag {
	flex: 1;
	height: 100%;
	display: flex;
	align-items: center;
	padding-left: 12px
}

.title-bar-logo {
	display: flex;
	align-items: center;
	gap: 8px
}

.logo-icon {
	width: 22px;
	height: 22px;
	object-fit: contain
}

.title-bar-text {
	font-size: 13px;
	font-weight: 500;
	color: var(--text-secondary)
}

.title-bar-controls {
	display: flex;
	-webkit-app-region: no-drag
}

.title-btn {
	width: 46px;
	height: var(--title-bar-height);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-secondary);
	transition: all 150ms ease
}

.title-btn svg {
	width: 12px;
	height: 12px
}

.title-btn:hover {
	background: rgba(255, 255, 255, 0.1);
	color: var(--text-primary)
}

.title-btn-close:hover {
	background: var(--danger);
	color: #fff
}

.app-container {
	display: flex;
	height: calc(100vh - var(--title-bar-height))
}

.sidebar {
	width: var(--sidebar-width);
	background: var(--bg-card);
	border-right: 1px solid var(--glass-border);
	display: flex;
	flex-direction: column;
	padding: 20px 0
}

.sidebar-nav {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0 12px
}

.nav-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-radius: 10px;
	color: var(--text-secondary);
	font-size: 14px;
	font-weight: 500;
	transition: all var(--transition-normal)
}

.nav-item svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0
}

.nav-item:hover {
	background: rgba(255, 255, 255, 0.05);
	color: var(--text-primary)
}

.nav-item.active {
	background: var(--primary-gradient);
	color: #fff;
	box-shadow: var(--shadow-glow)
}

/* Alert Badge */
.alert-badge {
	background: var(--danger);
	color: white;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 6px;
	border-radius: 10px;
	margin-left: auto;
	min-width: 18px;
	text-align: center;
	animation: pulse 2s infinite;
}

.alerts-summary {
	margin-bottom: 24px;
}

.alerts-list {
	margin-bottom: 24px;
}

.sidebar-footer {
	padding: 16px;
	border-top: 1px solid var(--glass-border);
	margin-top: auto
}

.engine-status {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: var(--text-muted)
}

.status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--warning);
	animation: pulse 2s infinite
}

.status-dot.online {
	background: var(--success)
}

.status-dot.offline {
	background: var(--danger);
	animation: none
}

@keyframes pulse {

	0%,
	100% {
		opacity: 1
	}

	50% {
		opacity: 0.5
	}
}

.main-panel {
	flex: 1;
	overflow-y: auto;
	padding: 32px 40px;
	background: linear-gradient(180deg, var(--bg-dark) 0%, #12091f 100%)
}

.view {
	display: none
}

.view.active {
	display: block;
	animation: fadeIn 0.3s ease
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px)
	}

	to {
		opacity: 1;
		transform: translateY(0)
	}
}

.view-header {
	margin-bottom: 32px
}

.view-header h1 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 8px;
	background: var(--primary-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text
}

.view-subtitle {
	color: var(--text-secondary);
	font-size: 14px
}

.status-hero {
	display: flex;
	align-items: center;
	gap: 32px;
	padding: 32px;
	background: var(--bg-card);
	border-radius: 20px;
	border: 1px solid var(--glass-border);
	margin-bottom: 32px
}

.shield-container {
	position: relative;
	width: 100px;
	height: 100px
}

.shield-glow {
	position: absolute;
	inset: -20px;
	background: var(--primary-gradient);
	filter: blur(30px);
	opacity: 0.4;
	border-radius: 50%;
	animation: glowPulse 3s ease-in-out infinite
}

@keyframes glowPulse {

	0%,
	100% {
		opacity: 0.4;
		transform: scale(1)
	}

	50% {
		opacity: 0.6;
		transform: scale(1.1)
	}
}

.shield-icon {
	position: relative;
	width: 100%;
	height: 100%
}

.shield-icon svg {
	width: 100%;
	height: 100%
}

.shield-check {
	animation: checkDraw 1s ease-out forwards;
	stroke-dasharray: 20;
	stroke-dashoffset: 20
}

@keyframes checkDraw {
	to {
		stroke-dashoffset: 0
	}
}

.status-info {
	flex: 1
}

.status-title {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 8px;
	color: var(--text-primary)
}

.status-desc {
	color: var(--text-secondary);
	font-size: 14px
}

.quick-actions {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-bottom: 32px
}

.action-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 24px;
	background: var(--bg-card);
	border: 1px solid var(--glass-border);
	border-radius: 16px;
	text-align: left;
	transition: all var(--transition-normal)
}

.action-card:hover {
	background: var(--bg-card-hover);
	border-color: var(--primary-color);
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4)
}

.action-icon {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--primary-gradient);
	border-radius: 12px;
	flex-shrink: 0
}

.action-icon svg {
	width: 24px;
	height: 24px;
	color: #fff
}

.action-content {
	flex: 1
}

.action-content h3 {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 4px;
	color: var(--text-primary)
}

.action-content p {
	font-size: 13px;
	color: var(--text-secondary)
}

.action-arrow {
	font-size: 20px;
	color: var(--text-muted);
	transition: transform 150ms ease
}

.action-card:hover .action-arrow {
	transform: translateX(4px);
	color: var(--primary-color)
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px
}

.stat-card {
	background: var(--bg-card);
	border: 1px solid var(--glass-border);
	border-radius: 16px;
	padding: 24px;
	text-align: center
}

.stat-value {
	font-size: 36px;
	font-weight: 700;
	background: var(--primary-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: 8px
}

.stat-label {
	font-size: 13px;
	color: var(--text-secondary)
}

.scan-type-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px
}

.scan-type-card {
	background: var(--bg-card);
	border: 1px solid var(--glass-border);
	border-radius: 20px;
	padding: 32px;
	text-align: center
}

.scan-type-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--primary-gradient);
	border-radius: 16px;
	box-shadow: var(--shadow-glow)
}

.scan-type-icon svg {
	width: 32px;
	height: 32px;
	color: #fff
}

.scan-type-card h3 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 8px;
	color: var(--text-primary)
}

.scan-type-card>p {
	color: var(--text-secondary);
	font-size: 14px;
	margin-bottom: 20px
}

.scan-paths {
	list-style: none;
	text-align: left;
	background: var(--bg-elevated);
	border-radius: 10px;
	padding: 12px 16px;
	margin-bottom: 20px;
	font-size: 12px;
	color: var(--text-secondary)
}

.scan-paths li {
	padding: 4px 0;
	display: flex;
	align-items: center;
	gap: 8px
}

.scan-paths li::before {
	content: '📁';
	font-size: 14px
}

.custom-path-input {
	display: flex;
	gap: 8px;
	margin-bottom: 20px
}

.custom-path-input input {
	flex: 1;
	background: var(--bg-elevated);
	border: 1px solid var(--glass-border);
	border-radius: 8px;
	padding: 12px 16px;
	color: var(--text-primary);
	font-size: 13px
}

.custom-path-input input::placeholder {
	color: var(--text-muted)
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 24px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	transition: all var(--transition-normal)
}

.btn-primary {
	background: var(--primary-gradient);
	color: #fff;
	box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4)
}

.btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5)
}

.btn-primary:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
	box-shadow: none
}

.btn-secondary {
	background: var(--bg-elevated);
	color: var(--text-primary);
	border: 1px solid var(--glass-border)
}

.btn-secondary:hover {
	background: var(--bg-card-hover);
	border-color: var(--primary-color)
}

.btn-danger {
	background: var(--danger);
	color: #fff;
	box-shadow: 0 4px 15px rgba(239, 68, 68, 0.4)
}

.btn-danger:hover {
	background: #dc2626;
	transform: translateY(-2px)
}

.scan-progress {
	text-align: center;
	padding: 60px 0
}

.scanner-ring {
	position: relative;
	width: 150px;
	height: 150px;
	margin: 0 auto 40px
}

.ring {
	position: absolute;
	inset: 0;
	border: 3px solid transparent;
	border-radius: 50%
}

.ring:nth-child(1) {
	border-top-color: var(--primary-color);
	animation: spin 1s linear infinite
}

.ring:nth-child(2) {
	inset: 15px;
	border-right-color: var(--secondary-color);
	animation: spin 1.5s linear infinite reverse
}

.ring:nth-child(3) {
	inset: 30px;
	border-bottom-color: var(--primary-color);
	animation: spin 2s linear infinite
}

@keyframes spin {
	from {
		transform: rotate(0deg)
	}

	to {
		transform: rotate(360deg)
	}
}

.progress-info h2 {
	font-size: 24px;
	margin-bottom: 12px;
	color: var(--text-primary)
}

.current-file {
	color: var(--text-secondary);
	font-size: 13px;
	max-width: 400px;
	margin: 0 auto 32px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

.progress-stats {
	display: flex;
	justify-content: center;
	gap: 48px;
	margin-bottom: 40px
}

.progress-stat {
	text-align: center
}

.progress-stat .stat-number {
	display: block;
	font-size: 32px;
	font-weight: 700;
	color: var(--primary-color)
}

.progress-stat.threats .stat-number {
	color: var(--danger)
}

.progress-stat .stat-label {
	font-size: 13px;
	color: var(--text-secondary)
}

.scan-results {
	text-align: center;
	padding: 40px 0
}

.results-icon {
	width: 80px;
	height: 80px;
	margin: 0 auto 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--success);
	border-radius: 50%;
	box-shadow: 0 0 40px rgba(16, 185, 129, 0.3)
}

.results-icon.danger {
	background: var(--danger);
	box-shadow: 0 0 40px rgba(239, 68, 68, 0.3)
}

.results-icon svg {
	width: 40px;
	height: 40px;
	color: #fff
}

.results-header h2 {
	font-size: 24px;
	margin-bottom: 8px;
	color: var(--text-primary)
}

.results-header p {
	color: var(--text-secondary)
}

.results-stats {
	display: flex;
	justify-content: center;
	gap: 48px;
	margin-bottom: 40px
}

.result-stat .number {
	display: block;
	font-size: 36px;
	font-weight: 700;
	color: var(--primary-color)
}

.result-stat .label {
	font-size: 14px;
	color: var(--text-secondary)
}

.threats-list {
	text-align: left;
	max-width: 600px;
	margin: 0 auto 40px
}

.threats-list h3 {
	font-size: 16px;
	margin-bottom: 16px;
	color: var(--danger)
}

.threats-container {
	background: var(--bg-card);
	border: 1px solid rgba(239, 68, 68, 0.3);
	border-radius: 12px;
	max-height: 300px;
	overflow-y: auto
}

.threat-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border-bottom: 1px solid var(--glass-border)
}

.threat-item:last-child {
	border-bottom: none
}

.threat-icon {
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(239, 68, 68, 0.1);
	border-radius: 8px;
	color: var(--danger);
	flex-shrink: 0
}

.threat-info {
	flex: 1;
	min-width: 0
}

.threat-file {
	font-size: 13px;
	color: var(--text-primary);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis
}

.threat-name {
	font-size: 12px;
	color: var(--danger)
}

.settings-section {
	background: var(--bg-card);
	border: 1px solid var(--glass-border);
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 20px
}

.settings-section h3 {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--text-muted);
	margin-bottom: 16px
}

.setting-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 0
}

.setting-label {
	font-weight: 500;
	color: var(--text-primary)
}

.setting-desc {
	display: block;
	font-size: 12px;
	color: var(--text-muted);
	margin-top: 4px
}

.status-badge {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 500;
	background: rgba(245, 158, 11, 0.2);
	color: var(--warning)
}

.status-badge.success {
	background: rgba(16, 185, 129, 0.2);
	color: var(--success)
}

.status-badge.error {
	background: rgba(239, 68, 68, 0.2);
	color: var(--danger)
}

.status-badge.warning {
	background: rgba(245, 158, 11, 0.2);
	color: var(--warning)
}

.about-info {
	font-size: 14px;
	color: var(--text-secondary);
	line-height: 1.8
}

.about-info strong {
	color: var(--text-primary)
}

.copyright {
	margin-top: 16px;
	font-size: 12px;
	color: var(--text-muted)
}

/* Toggle Switch */
.toggle-switch {
	position: relative;
	display: inline-block;
	width: 50px;
	height: 26px;
	flex-shrink: 0;
}

.toggle-switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.toggle-slider {
	position: absolute;
	cursor: pointer;
	inset: 0;
	background-color: var(--bg-elevated);
	border-radius: 26px;
	transition: 0.3s;
}

.toggle-slider::before {
	position: absolute;
	content: "";
	height: 20px;
	width: 20px;
	left: 3px;
	bottom: 3px;
	background-color: white;
	border-radius: 50%;
	transition: 0.3s;
}

.toggle-switch input:checked+.toggle-slider {
	background: var(--primary-gradient);
}

.toggle-switch input:checked+.toggle-slider::before {
	transform: translateX(24px);
}

.toggle-switch input:focus+.toggle-slider {
	box-shadow: 0 0 2px var(--primary);
}

.empty-state {
	text-align: center;
	padding: 80px 0;
	color: var(--text-muted)
}

.empty-state svg {
	width: 64px;
	height: 64px;
	margin-bottom: 16px;
	opacity: 0.5
}

.hidden {
	display: none !important
}

::-webkit-scrollbar {
	width: 8px;
	height: 8px
}

::-webkit-scrollbar-track {
	background: transparent
}

::-webkit-scrollbar-thumb {
	background: var(--bg-elevated);
	border-radius: 4px
}

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

/* Threats Table Styles */
.threats-table-container {
	background: var(--bg-card);
	border: 1px solid rgba(239, 68, 68, 0.3);
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 16px
}

.threats-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px
}

.threats-table thead {
	background: var(--bg-elevated)
}

.threats-table th {
	text-align: left;
	padding: 12px 16px;
	color: var(--text-secondary);
	font-weight: 500;
	border-bottom: 1px solid var(--glass-border)
}

.threats-table td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--glass-border);
	vertical-align: middle
}

.threats-table tr:last-child td {
	border-bottom: none
}

.threats-table .file-cell {
	max-width: 200px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--text-primary)
}

.threats-table .file-date {
	font-size: 11px;
	color: var(--text-muted);
	margin-top: 2px;
}

.threats-table .threat-cell {
	color: var(--danger);
	font-weight: 500
}

/* Action Toggle Styles */
.threat-actions {
	display: flex;
	align-items: center;
	gap: 4px;
	min-width: 120px;
	/* Ensure space for 3 buttons */
	justify-content: flex-end;
}

.action-btn {
	flex-shrink: 0;
	/* Prevent shrinking */
	width: 32px;
	height: 32px;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--text-muted);
	background: transparent;
	transition: all 150ms ease
}

.action-btn svg {
	width: 16px;
	height: 16px
}

.action-btn:hover {
	background: rgba(255, 255, 255, 0.1)
}

.action-btn.active.delete {
	background: rgba(239, 68, 68, 0.2);
	color: var(--danger)
}

.action-btn.active.quarantine {
	background: rgba(245, 158, 11, 0.2);
	color: var(--warning)
}

.action-btn.clear:hover {
	color: var(--text-primary)
}

/* Global Threat Actions */
.global-threat-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px;
	background: var(--bg-card);
	border: 1px solid var(--glass-border);
	border-radius: 10px;
	margin-bottom: 24px
}

.global-actions-label {
	color: var(--text-secondary);
	font-size: 13px;
	font-weight: 500
}

.action-toggle-group {
	display: flex;
	gap: 8px
}

.action-toggle {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--bg-elevated);
	color: var(--text-secondary);
	font-size: 12px;
	font-weight: 500;
	transition: all 150ms ease
}

.action-toggle svg {
	width: 16px;
	height: 16px
}

.action-toggle:hover {
	background: var(--bg-card-hover);
	color: var(--text-primary)
}

#global-delete:hover,
#global-delete.active {
	background: rgba(239, 68, 68, 0.2);
	color: var(--danger)
}

#global-quarantine:hover,
#global-quarantine.active {
	background: rgba(245, 158, 11, 0.2);
	color: var(--warning)
}

/* Scan Results Actions */
.scan-results-actions {
	display: flex;
	gap: 12px;
	justify-content: center
}

/* Quarantine View */
.quarantine-list {
	display: flex;
	flex-direction: column;
	gap: 12px
}

.quarantine-item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 20px;
	background: var(--bg-card);
	border: 1px solid var(--glass-border);
	border-radius: 12px;
	transition: all var(--transition-normal)
}

.quarantine-item:hover {
	border-color: var(--warning)
}

.quarantine-icon {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(245, 158, 11, 0.15);
	border-radius: 10px;
	color: var(--warning);
	flex-shrink: 0
}

.quarantine-icon svg {
	width: 20px;
	height: 20px
}

.quarantine-info {
	flex: 1;
	min-width: 0
}

.quarantine-file {
	font-size: 14px;
	font-weight: 500;
	color: var(--text-primary);
	margin-bottom: 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis
}

.quarantine-threat {
	font-size: 12px;
	color: var(--danger);
	margin-bottom: 2px
}

.quarantine-date {
	font-size: 11px;
	color: var(--text-muted)
}

.quarantine-actions {
	display: flex;
	gap: 8px
}

.btn-restore {
	background: rgba(16, 185, 129, 0.15);
	color: var(--success);
	border: 1px solid rgba(16, 185, 129, 0.3);
	padding: 8px 14px;
	font-size: 12px
}

.btn-restore:hover {
	background: rgba(16, 185, 129, 0.25)
}

.btn-delete-permanent {
	background: rgba(239, 68, 68, 0.15);
	color: var(--danger);
	border: 1px solid rgba(239, 68, 68, 0.3);
	padding: 8px 14px;
	font-size: 12px
}

.btn-delete-permanent:hover {
	background: rgba(239, 68, 68, 0.25)
}

/* Toast Notifications */
.toast-container {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 10000;
	display: flex;
	flex-direction: column-reverse;
	gap: 10px;
	pointer-events: none;
}

.toast {
	background: var(--bg-card);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 16px 20px;
	min-width: 320px;
	max-width: 400px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	pointer-events: auto;
	animation: slideInRight 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.toast.toast-danger {
	border-color: var(--danger);
	background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), var(--bg-card));
}

.toast.toast-success {
	border-color: var(--success);
	background: linear-gradient(135deg, rgba(16, 185, 129, 0.15), var(--bg-card));
}

.toast.toast-warning {
	border-color: var(--warning);
	background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), var(--bg-card));
}

.toast.toast-exit {
	animation: slideOutRight 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.toast-icon {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 18px;
}

.toast-danger .toast-icon {
	background: rgba(239, 68, 68, 0.2);
	color: var(--danger);
}

.toast-success .toast-icon {
	background: rgba(16, 185, 129, 0.2);
	color: var(--success);
}

.toast-content {
	flex: 1;
	min-width: 0;
}

.toast-title {
	font-weight: 600;
	color: var(--text-primary);
	margin-bottom: 4px;
	font-size: 14px;
}

.toast-message {
	color: var(--text-secondary);
	font-size: 13px;
	word-break: break-word;
}

.toast-close {
	background: none;
	border: none;
	color: var(--text-muted);
	cursor: pointer;
	padding: 4px;
	border-radius: 4px;
	transition: all 0.2s;
	flex-shrink: 0;
}

.toast-close:hover {
	background: var(--bg-elevated);
	color: var(--text-primary);
}

@keyframes slideInRight {
	from {
		transform: translateX(100%);
		opacity: 0;
	}

	to {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes slideOutRight {
	from {
		transform: translateX(0);
		opacity: 1;
	}

	to {
		transform: translateX(100%);
		opacity: 0;
	}
}

/* History Table Styles */
.history-table-container {
	background: var(--bg-card);
	border: 1px solid var(--glass-border);
	border-radius: 12px;
	overflow: hidden;
}

.history-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.history-table thead {
	background: var(--bg-elevated);
}

.history-table th {
	text-align: left;
	padding: 12px 16px;
	color: var(--text-secondary);
	font-weight: 500;
	border-bottom: 1px solid var(--glass-border);
}

.history-table td {
	padding: 12px 16px;
	border-bottom: 1px solid var(--glass-border);
	vertical-align: middle;
	color: var(--text-primary);
}

.history-table tr:last-child td {
	border-bottom: none;
}

.history-table tr:hover td {
	background: rgba(255, 255, 255, 0.02);
}

.history-type-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 500;
	background: var(--bg-elevated);
	border: 1px solid var(--glass-border);
	color: var(--text-secondary);
}
