/* Tool-specific layout shared by server-rendered pages, including legacy markup. */
body { overflow-wrap: anywhere; }
main, .flex-1, .card, .card-body { min-width: 0; }
textarea { max-width: 100%; }
pre { max-width: 100%; overflow-x: auto; }
.table-responsive { max-width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .6rem; border-bottom: 1px solid #e5e7eb; text-align: left; overflow-wrap: anywhere; }
.card-body { padding: 1.25rem; }
.card-body.p-0 { padding: 0; }
.card-footer { padding: .75rem 1.25rem; border-top: 1px solid #e5e7eb; }
.row { display: flex; flex-wrap: wrap; gap: 1rem; }
.col { flex: 1 1 16rem; min-width: 0; }
.col-auto { flex: 0 1 auto; min-width: 0; }
.input-group { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.input-group input { flex: 1; min-width: 8rem; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .5rem 1rem; border: 1px solid #d1d5db; border-radius: .5rem; cursor: pointer; background: white; }
.btn-danger { color: #b91c1c; }
.btn-secondary { color: #374151; }
.img-preview img { max-width: 100%; max-height: 24rem; object-fit: contain; }
@media (max-width: 1023px) {
    header, nav[aria-label="面包屑"] { padding-left: 4.5rem; }
    .jsoneditor { min-width: 0; }
}

@media (max-width: 767px) {
    .col-md-8, .col-md-4 { width: 100%; min-width: 0; }
    #tables { max-width: 100%; overflow-x: auto; }
}

.lg\:ml-72 { min-width: 0; max-width: 100%; }
