.ferry-message-source-body {
    display: grid;
    gap: 10px;
    padding-top: 12px;
}
.ferry-message-source-actions,
.ferry-message-source-range {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ferry-message-source-range label {
    display: grid;
    gap: 5px;
    flex: 1 1 130px;
    min-width: 0;
    font-size: 13px;
}
.ferry-message-source-range input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 8px;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
    color: inherit;
    background: transparent;
}
.ferry-diary-source {
    display: grid;
    gap: 10px;
    border-top: 1px solid var(--border-color, #ddd);
    padding-top: 12px;
}
.ferry-diary-source h4,
.ferry-diary-source-progress p {
    margin: 0;
}
.ferry-diary-source-choice {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
}
.ferry-diary-source-choice label {
    display: flex;
    align-items: center;
    gap: 6px;
}
.ferry-diary-source-choice select {
    min-width: 0;
    max-width: 100%;
    padding: 7px;
    color: inherit;
    background: transparent;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 8px;
}
.ferry-diary-source-progress {
    display: grid;
    gap: 5px;
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
    padding: 8px 0;
}
