:root {
    --jc-log-bg: #101418;
}

body {
    min-height: 100vh;
}

.card {
    border: 0;
    box-shadow: 0 1px 2px rgba(16, 20, 24, .06), 0 2px 8px rgba(16, 20, 24, .04);
}

.stat-card .stat-value {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.2;
}

.stat-card .stat-label {
    color: var(--bs-secondary-color);
    font-size: .85rem;
}

.table > :not(caption) > * > * {
    vertical-align: middle;
}

.text-monospace {
    font-family: var(--bs-font-monospace);
}

.badge-soft {
    font-weight: 500;
}

.log-console {
    background: var(--jc-log-bg);
    color: #d7dde3;
    border-radius: .5rem;
    font-family: var(--bs-font-monospace);
    font-size: .8125rem;
    line-height: 1.5;
    padding: .75rem 1rem;
    height: 60vh;
    overflow-y: auto;
    white-space: pre-wrap;
    word-break: break-all;
}

.log-console .log-line {
    display: flex;
    gap: .5rem;
}

.log-console .log-time {
    color: #6c757d;
    flex: 0 0 auto;
}

.log-console .log-stream {
    flex: 0 0 auto;
    color: #6ea8fe;
}

.log-console .log-stderr .log-text {
    color: #ff8a8a;
}

.log-console .log-info .log-text {
    color: #ffd479;
}

.log-console .log-empty {
    color: #6c757d;
}

.cron-preview {
    background: var(--bs-tertiary-bg);
    border-radius: .375rem;
    font-family: var(--bs-font-monospace);
    padding: .5rem .75rem;
    min-height: 2.5rem;
    white-space: pre-wrap;
}

.inline-form {
    display: inline;
}

.secret-box {
    font-family: var(--bs-font-monospace);
    word-break: break-all;
}

@media (max-width: 767.98px) {
    .log-console {
        height: 50vh;
    }
}
