.zm-workflow { margin-block: 1rem; }
.zm-controls { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .75rem; }
.zm-controls label { flex: 1; min-width: 11rem; }
.zm-table { width: 100%; border-collapse: collapse; margin-block: .75rem; font-size: inherit; }
.zm-table td,.zm-table th { text-align: left; padding: .55rem; border-bottom: 1px solid var(--border, #d9ded8); vertical-align: top; }
.zm-table td:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.zm-table input[type=number] { width: 10ch; max-width: 100%; text-align: right; }
.zm-check { display: flex; align-items: flex-start; gap: .6rem; margin-block: .75rem; }
.zm-check input[type=checkbox] { flex: 0 0 auto; width: 18px; height: 18px; min-height: 18px; padding: 0; margin: .1rem 0 0; }
.zm-note { font-size: .9em; color: var(--text-muted, #63706a); }
.zm-record { padding-block: .75rem; border-top: 1px solid var(--border, #d9ded8); }
.zm-record a,.zm-record button { margin: .3rem .5rem .3rem 0; }
.zm-findings { padding: .6rem 1rem; background: var(--warning-soft, #fff2d8); }
.zm-dialog form>label { display: grid; gap: .4rem; margin-block: .7rem; }
.zm-dialog form>label.zm-check { display: flex; }
.zm-dialog .dialog-actions { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }
@media(max-width:600px) { .zm-workflow { overflow-x: auto; } .zm-table { min-width: 30rem; } }
