/* Log Viewer Styles */

/* JSON Syntax Highlighting */
.log-json-key {
    color: #3182ce; /* blue-600 */
}

.log-json-string {
    color: #38a169; /* green-600 */
}

.log-json-number {
    color: #dd6b20; /* orange-600 */
}

.log-json-boolean,
.log-json-null {
    color: #805ad5; /* purple-600 */
}

/* Text Log Syntax Highlighting */
.log-error,
.log-fatal,
.log-critical,
.log-alert,
.log-emergency {
    color: #e53e3e; /* red-600 */
    font-weight: bold;
}

.log-warning,
.log-notice {
    color: #d69e2e; /* yellow-600 */
    font-weight: bold;
}

.log-info,
.log-debug {
    color: #38a169; /* green-600 */
    font-weight: bold;
}

.log-timestamp {
    color: #4a5568; /* gray-600 */
}

.log-context {
    color: #3182ce; /* blue-600 */
}

/* Container Styles */
.log-container {
    border-radius: 0.375rem;
    padding: 1rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.875rem; /* text-sm */
    line-height: 1.5;
}

.log-container pre {
    margin: 0;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/* Line Numbers */
.log-line-numbers {
    counter-reset: line;
}

.log-line {
    position: relative;
    padding-left: 3.5rem;
}

.log-line::before {
    content: counter(line);
    counter-increment: line;
    position: absolute;
    left: 0;
    width: 2.5rem;
    text-align: right;
    color: #a0aec0; /* gray-400 */
    user-select: none;
}
