.rounded {
    border-radius: var(--crypto-radius-md) !important;
}

.rounded-sm {
    border-radius: var(--crypto-radius-sm) !important;
}

.rounded-lg {
    border-radius: var(--crypto-radius-lg) !important;
}

.rounded-xl {
    border-radius: var(--crypto-radius-xl) !important;
}

.progress {
    background-color: var(--crypto-bg-secondary) !important;
    border-radius: var(--crypto-radius-full);
    overflow: hidden;
}

.progress-bar {
    background-color: var(--crypto-gradient-primary);
    border-radius: var(--crypto-radius-full);
    transition: width 0.6s ease;
}

.code-snippet {
    background: var(--crypto-bg-secondary) !important;
    padding: var(--crypto-spacing-lg);
    border-radius: var(--crypto-radius-md);
    border: 1px solid var(--crypto-border);
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: 0.875rem;
    line-height: 1.6;
}

[data-bs-theme="dark"] .code-snippet {
    color: #a5f3fc; /* Cyan for code in dark mode */
}

[data-bs-theme="light"] .code-snippet {
    color: #0891b2; /* Dark cyan for code in light mode */
}

/* ---- Code Block (with header + copy) ---- */
.code-block {
    border-radius: var(--crypto-radius-md);
    border: 1px solid var(--crypto-border);
    overflow: hidden;
}

.code-block-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.375rem 0.75rem;
    font-size: var(--crypto-font-size-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

[data-bs-theme="light"] .code-block-header {
    background: var(--crypto-bg-secondary);
    color: var(--crypto-text-muted);
    border-bottom: 1px solid var(--crypto-border);
}

[data-bs-theme="dark"] .code-block-header {
    background: rgba(0, 0, 0, 0.3);
    color: var(--crypto-text-muted);
    border-bottom: 1px solid var(--crypto-border);
}

.code-block pre {
    margin: 0;
    padding: var(--crypto-spacing-md) var(--crypto-spacing-lg);
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: 0.875rem;
    line-height: 1.6;
    overflow-x: auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

[data-bs-theme="light"] .code-block pre {
    background: var(--crypto-bg-secondary);
    color: #0891b2;
}

[data-bs-theme="dark"] .code-block pre {
    background: rgba(0, 0, 0, 0.4);
    color: #a5f3fc;
}

.disabled,
[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.crypto-glow-accent {
    box-shadow: var(--crypto-glow-accent-md) !important;
}

.crypto-glow-accent-sm {
    box-shadow: var(--crypto-glow-accent-sm) !important;
}

.crypto-glow-accent-lg {
    box-shadow: var(--crypto-glow-accent-lg) !important;
}

.crypto-glow-success {
    box-shadow: var(--crypto-glow-success) !important;
}

.crypto-glow-warning {
    box-shadow: var(--crypto-glow-warning) !important;
}

.crypto-glow-danger {
    box-shadow: var(--crypto-glow-danger) !important;
}

.crypto-edge-light {
    position: relative;
}

.crypto-edge-light::before {
    content: '';
    position: absolute;
    top: 0;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(
            90deg,
            transparent 0%,
            rgba(120, 121, 246, 0.5) 50%,
            transparent 100%
    );
    opacity: 0;
    transition: opacity 0.3s ease;
}

.crypto-edge-light:hover::before {
    opacity: 1;
}

/* Gradient backgrounds */
.crypto-bg-gradient-primary {
    background: var(--crypto-gradient-primary) !important;
}

.crypto-bg-gradient-success {
    background: var(--crypto-gradient-success) !important;
}

.crypto-bg-gradient-warning {
    background: var(--crypto-gradient-warning) !important;
}

.crypto-bg-gradient-danger {
    background: var(--crypto-gradient-danger) !important;
}

/* SHADOW */
.crypto-elevation-1 {
    box-shadow: var(--crypto-shadow-xs);
}

.crypto-elevation-2 {
    box-shadow: var(--crypto-shadow-sm);
}

.crypto-elevation-3 {
    box-shadow: var(--crypto-shadow-md);
}

.crypto-elevation-4 {
    box-shadow: var(--crypto-shadow-lg);
}

.crypto-elevation-5 {
    box-shadow: var(--crypto-shadow-xl);
}

/* SCROLLBAR */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

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

::-webkit-scrollbar-thumb {
    background: var(--crypto-bg-hover);
    border-radius: var(--crypto-radius-full);
    border: 2px solid var(--crypto-bg-primary);
}

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

/* Firefox scrollbar */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--crypto-bg-hover) var(--crypto-bg-primary);
}

/* Override Tabler's tight .empty-img margin for better breathing room */
.empty-img {
    margin-bottom: 3.5rem !important;
}