/* ==========================================
   Info & Helper Styles - Dark Theme
   ========================================== */

/* Info messages */
.info-message {
    padding: 15px 20px;
    background: #2d2d30;
    border: 1px solid #3e3e42;
    border-left: 4px solid #0e639c;
    border-radius: 6px;
    color: #cccccc;
    margin: 15px 0;
}

.info-message.success {
    border-left-color: #73c991;
    background: #1e3a1e;
}

.info-message.error {
    border-left-color: #f48771;
    background: #3c2b23;
}

.info-message.warning {
    border-left-color: #cca700;
    background: #3c3416;
}

/* Loading spinner */
.loading-spinner {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid #3e3e42;
    border-top-color: #0e639c;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Empty state */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
    color: #858585;
}

.empty-state-icon {
    font-size: 64px;
    margin-bottom: 20px;
    opacity: 0.5;
}

.empty-state-title {
    font-size: 20px;
    font-weight: 500;
    color: #cccccc;
    margin-bottom: 10px;
}

.empty-state-description {
    font-size: 14px;
    color: #858585;
    max-width: 400px;
}

/* Code block */
code {
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    background: #2d2d30;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 0.9em;
    color: #d7ba7d;
}

pre {
    background: #1e1e1e;
    border: 1px solid #3e3e42;
    border-radius: 6px;
    padding: 15px;
    overflow-x: auto;
    color: #d4d4d4;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 13px;
    line-height: 1.6;
}

pre code {
    background: transparent;
    padding: 0;
    color: inherit;
}

/* Badge */
.badge {
    display: inline-block;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 12px;
    background: #2d2d30;
    color: #cccccc;
    border: 1px solid #3e3e42;
}

.badge.primary {
    background: #094771;
    border-color: #0e639c;
    color: white;
}

.badge.success {
    background: #1e3a1e;
    border-color: #2d5d2d;
    color: #73c991;
}

.badge.error {
    background: #3c2b23;
    border-color: #5a3a2a;
    color: #f48771;
}